diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index e976c9d..44d47b0 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -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.