feat(services): implement getById and getAll methods in mysql service
Implemented getById and getAll methods in the mysql service. The getById method retrieves a vehicle by its ID, and the getAll method fetches all vehicles from the database. These improvements facilitate more efficient data retrieval and enhance overall service functionality. Issue: #20 Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
parent
8138231112
commit
37cfaf4bbd
@ -464,6 +464,7 @@ const MySqlService = {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves a model by its ID from the database.
|
||||
*
|
||||
@ -646,18 +647,44 @@ const MySqlService = {
|
||||
})
|
||||
},
|
||||
|
||||
//TODO get by slug
|
||||
getBySlug(handler: MysqlHandler, data: IDbVehicle) {
|
||||
/**
|
||||
* Retrieves a vehicle from the database by its ID.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The instance of the MySQL handler.
|
||||
* @param {string} vehicleId - The ID of the vehicle to retrieve.
|
||||
* @returns {Promise<IDbVehicle>} - A promise that resolves to the retrieved vehicle.
|
||||
* @throws {Error} - If an error occurs while retrieving the vehicle.
|
||||
*/
|
||||
getById(handler: MysqlHandler, vehicleId: string): Promise<IDbVehicle> {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
if (!vehicleId) return reject('Id is undefined');
|
||||
if (vehicleId.length !== 36) return reject('Id invalid');
|
||||
const _sql = "SELECT * FROM `vehicles` WHERE `id` = ?";
|
||||
const _values = [vehicleId];
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values) as unknown as IDbVehicle);
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//TODO get all
|
||||
getAll(handler: MysqlHandler, data: IDbVehicle) {
|
||||
/**
|
||||
* Retrieves all vehicles from the database.
|
||||
*
|
||||
* @param {MysqlHandler} handler - The MySQL handler for executing queries.
|
||||
* @return {Promise<Array<IDbVehicle>>} A promise that resolves with an array of database vehicles.
|
||||
* @throws {Error} If an error occurs during the database query.
|
||||
*/
|
||||
getAll(handler: MysqlHandler): Promise<Array<IDbVehicle>> {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
const _sql = "SELECT * FROM `models`";
|
||||
try {
|
||||
resolve(handler.query(_sql) as unknown as Array<IDbVehicle>);
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//TODO get available
|
||||
|
Loading…
x
Reference in New Issue
Block a user