feat(services): add new vehicle service
This commit introduces a new file `vehicle.service.ts` which includes a function for creating new vehicles. It uses MySQL service for data handling and includes error handling and logging functionalities. The changes help in improving the code modularity and providing a specific service for vehicle management. Issue: #21 Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
parent
00064fd054
commit
838ea4ad22
43
src/services/vehicle.service.ts
Normal file
43
src/services/vehicle.service.ts
Normal file
@ -0,0 +1,43 @@
|
||||
//import { ErrorType, type ISError } from "@interfaces/services/ISError";
|
||||
import MySqlService from "@services/mysql.service";
|
||||
import { isDebugMode } from "@utils/debugState";
|
||||
import { Logger } from "tslog";
|
||||
import { v4 } from "uuid";
|
||||
import {IDbVehicle} from "@interfaces/database/IDbVehicle";
|
||||
|
||||
const logger = new Logger({
|
||||
name: "VehicleService",
|
||||
});
|
||||
|
||||
const DbHandler = new MySqlService.Handler("VehicleService");
|
||||
|
||||
async function createVehicleService(data: IDbVehicle) {
|
||||
if (isDebugMode()) logger.debug(`\n\n> Creating a new vehicle...\n`);
|
||||
try {
|
||||
const result = await MySqlService.Vehicle.insert(DbHandler, {
|
||||
id: v4(),
|
||||
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 creating category: \n${error}\n`);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (isDebugMode()) logger.debug("\nService loaded.");
|
||||
|
||||
const VehicleService = {
|
||||
create: createVehicleService,
|
||||
}
|
||||
|
||||
export default VehicleService;
|
Loading…
x
Reference in New Issue
Block a user