From b6a2a74ba00b4817108650d811b3b2a55d073014 Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 2 May 2024 16:49:13 +0200 Subject: [PATCH] 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 --- src/services/vehicle.service.ts | 44 +++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/services/vehicle.service.ts b/src/services/vehicle.service.ts index 3411d67..a21cfa5 100644 --- a/src/services/vehicle.service.ts +++ b/src/services/vehicle.service.ts @@ -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; \ No newline at end of file