Compare commits
3 Commits
00064fd054
...
b6a2a74ba0
| Author | SHA1 | Date | |
|---|---|---|---|
| b6a2a74ba0 | |||
| f310bedeff | |||
| 838ea4ad22 |
112
src/services/vehicle.service.ts
Normal file
112
src/services/vehicle.service.ts
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
//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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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.");
|
||||||
|
|
||||||
|
const VehicleService = {
|
||||||
|
create: createVehicleService,
|
||||||
|
update: updateVehicleService,
|
||||||
|
getAll: getAllVehiclesService,
|
||||||
|
getById: getVehicleByIdService,
|
||||||
|
delete: deleteVehicleService,
|
||||||
|
getAvailable: getAvailableVehicleService
|
||||||
|
}
|
||||||
|
|
||||||
|
export default VehicleService;
|
||||||
Loading…
x
Reference in New Issue
Block a user