feat(services): add Vehicle methods to mysql service
This commit introduces several new Vehicle methods to the mysql service (insert, update, getBySlug, getAll, getAvailable, getDue). These methods are scaffolded but not fully implemented, with `insert` being the most complete at this stage. Issue: #20 Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
parent
2796b514eb
commit
8fe0fa57d8
@ -6,6 +6,7 @@ import type {IDbStatusResult} from "@interfaces/database/IDbStatusResult";
|
||||
import mysql, {type Connection, type ConnectionOptions} from 'mysql2';
|
||||
import {Logger} from "tslog";
|
||||
import process from "node:process";
|
||||
import {IDbVehicle} from "@interfaces/database/IDbVehicle";
|
||||
|
||||
|
||||
const access: ConnectionOptions = {
|
||||
@ -580,6 +581,64 @@ const MySqlService = {
|
||||
})
|
||||
}
|
||||
},
|
||||
Vehicle: {
|
||||
insert(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!data.id) return reject('Id is undefined');
|
||||
if (data.id.length !== 36) return reject('Id invalid');
|
||||
|
||||
const _sql = "INSERT INTO `vehicles`(`model_id`, `plate_number`, `odometer`, `health_state`, `id`) VALUES (?, ?, ?, ?, ?)"
|
||||
const _values = [
|
||||
data.model_id,
|
||||
data.plate_number,
|
||||
data.odometer,
|
||||
data.health_state,
|
||||
data.id
|
||||
]
|
||||
try {
|
||||
resolve(handler.execute(_sql, _values) as unknown as IDbStatusResult)
|
||||
} catch (err: unknown) {
|
||||
reject(err as Error);
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//TODO update by id
|
||||
update(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
//TODO get by slug
|
||||
getBySlug(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
//TODO get all
|
||||
getAll(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
//TODO get available
|
||||
getAvailable(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
//TODO get out of due date
|
||||
getDue(handler: MysqlHandler, data: IDbVehicle) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
Category: {
|
||||
/**
|
||||
* Inserts a category into the database.
|
||||
|
Loading…
x
Reference in New Issue
Block a user