feat(services): add multiple vehicle services

Implemented `getAllVehiclesService`, `getVehicleByIdService` and `getAvailableVehicleService` in `vehicle.service.ts`. Each of these services fetches respective data from the MySQL database, handles errors, and returns the data along with a timestamp.

Issue: #21
Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
Mathis H (Avnyr) 2024-05-02 16:49:13 +02:00
parent f310bedeff
commit b6a2a74ba0
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -56,6 +56,46 @@ async function updateVehicleService(data: IDbVehicle) {
}
}
async function getAllVehiclesService() {
try {
const result = await MySqlService.Vehicle.getAll(DbHandler);
return {
iat: Date.now(),
vehicles: result,
total: result.length
};
} catch (error) {
logger.error(`\n\n> Error getting vehicles: \n${error}\n`);
return false;
}
}
async function getVehicleByIdService(vehicleId: string) {
try {
const result = await MySqlService.Vehicle.getById(DbHandler, vehicleId);
return {
iat: Date.now(),
vehicle: result
};
} catch (error) {
logger.error(`\n\n> Error getting vehicle by id: \n${error}\n`);
return false;
}
}
async function getAvailableVehicleService() {
try {
const result = await MySqlService.Vehicle.getAvailable(DbHandler);
return {
iat: Date.now(),
vehicles: result,
total: result.length
};
} catch (error) {
logger.error(`\n\n> Error getting available vehicles: \n${error}\n`);
return false;
}
}
if (isDebugMode()) logger.debug("\nService loaded.");
@ -63,6 +103,10 @@ if (isDebugMode()) logger.debug("\nService loaded.");
const VehicleService = {
create: createVehicleService,
update: updateVehicleService,
getAll: getAllVehiclesService,
getById: getVehicleByIdService,
delete: deleteVehicleService,
getAvailable: getAvailableVehicleService
}
export default VehicleService;