From f310bedeffd98c84ceaec9014e394e0f7784bb0d Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 2 May 2024 16:39:50 +0200 Subject: [PATCH] feat(services): add vehicle update functionality in vehicle.service.ts An `updateVehicleService` function has been introduced in `vehicle.service.ts` to enable vehicle data updates in the application. The function handles data validation, updates the MySQL database, and logs the process status. Issue: #21 Signed-off-by: Mathis --- src/services/vehicle.service.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/services/vehicle.service.ts b/src/services/vehicle.service.ts index 9f88c36..3411d67 100644 --- a/src/services/vehicle.service.ts +++ b/src/services/vehicle.service.ts @@ -32,12 +32,37 @@ async function createVehicleService(data: IDbVehicle) { } } +async function updateVehicleService(data: IDbVehicle) { + if (isDebugMode()) logger.debug(`\n\n> Updating vehicle...\n`); + try { + if (!data.id) { + return false + } + const result = await MySqlService.Vehicle.update(DbHandler, { + id: data.id, + plate_number: data.plate_number, + model_id: data.model_id, + odometer: data.odometer | 0, + health_state: data.health_state + }); + if (result.affectedRows !== 0) { + logger.info("\n\n> Success !"); + return true; + } + return false; + } catch (error) { + logger.error(`\n\n> Error updating vehicle: \n${error}\n`); + return false; + } +} + if (isDebugMode()) logger.debug("\nService loaded."); const VehicleService = { create: createVehicleService, + update: updateVehicleService, } export default VehicleService; \ No newline at end of file