diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index 5642da8..26bc152 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -6,6 +6,7 @@ import type { IDbFactorizeOutput, } from "@interfaces/database/IDbFactorize"; import type { IDbModel } from "@interfaces/database/IDbModel"; +import type IDbRent from "@interfaces/database/IDbRent"; import type { IDbStatusResult } from "@interfaces/database/IDbStatusResult"; import type { IDbUser } from "@interfaces/database/IDbUser"; import type { IDbVehicle } from "@interfaces/database/IDbVehicle"; @@ -180,7 +181,6 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!data.id) return reject("Id is undefined"); if (data.id.length !== 36) return reject("Id invalid"); - handler .factorize({ values: data, @@ -194,8 +194,9 @@ const MySqlService = { })`; try { - handler.Logger.trace(_sql); - handler.Logger.trace(valuesArray); + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest handler.execute(_sql, valuesArray).then((result) => { return resolve(result as unknown as IDbStatusResult); }); @@ -224,13 +225,26 @@ const MySqlService = { handler .factorize({ values: data, - actionName: `Update user ID::${data.id}`, + actionName: "Update user..", }) - .then((result) => { - const _sql = `UPDATE "users" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`; - handler.execute(_sql, result._valuesArray).then((result) => { - return resolve(result as unknown as IDbStatusResult); - }); + .then((factorizeResult) => { + const _sql = `UPDATE users SET (${factorizeResult._keysTemplate}) WERE id VALUES(${ + factorizeResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); } catch (err: unknown) { reject(err as Error); @@ -238,10 +252,19 @@ const MySqlService = { }); }, + //ToTest + /** + * Retrieves user information from the database based on the provided user ID. + * + * @param {MysqlHandler} handler - The MySQL handler instance. + * @param {string} userId - The user ID used to locate the user in the database. + * @returns {Promise>} A promise that resolves with an array of user objects matching the provided user ID. + * @throws {string} Throws an error if the provided user ID is invalid. + * @throws {Error} Throws*/ getById(handler: MysqlHandler, userId: string): Promise> { return new Promise((resolve, reject) => { if (userId.length !== 36) return reject("Id invalid"); - const _sql = "SELECT * FROM `users` WHERE `id` = ?"; + const _sql = "SELECT * FROM users WHERE id VALUES(?)"; const _values = [userId]; try { handler.execute(_sql, _values).then((result) => { @@ -253,6 +276,7 @@ const MySqlService = { }); }, + //ToTest /** * Retrieves all users from the database. * @@ -262,7 +286,7 @@ const MySqlService = { */ getAll(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `users`"; + const _sql = "SELECT * FROM users"; try { handler.query(_sql).then((result) => { return resolve(result as unknown as Array); @@ -284,7 +308,7 @@ const MySqlService = { getByEmail(handler: MysqlHandler, email: string): Promise> { return new Promise((resolve, reject) => { if (!email) return reject("email is undefined"); - const _sql = "SELECT * FROM `users` WHERE `email` = ?"; + const _sql = "SELECT * FROM users WHERE email VALUES(?)"; const _values = [email]; try { handler.execute(_sql, _values).then((result) => { @@ -296,6 +320,7 @@ const MySqlService = { }); }, + //ToTest /** * Retrieves the admin state for a given user ID. * @@ -309,9 +334,10 @@ const MySqlService = { userId: string, ): Promise { return new Promise((resolve, reject) => { - const _sql = "SELECT `is_admin` FROM `users` WHERE `id` = ?"; + const _sql = "SELECT is_admin FROM users WHERE id VALUES(?)"; const _values = [userId]; try { + //FIX Output type const isAdmin = handler.execute( _sql, _values, @@ -336,7 +362,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!userId) return reject("Id is undefined"); if (userId.length !== 36) return reject("Id invalid"); - const _sql = "DELETE FROM `users` WHERE `id` = ?"; + const _sql = "DELETE FROM users WHERE id VALUES(?)"; const _values = [userId]; try { handler.execute(_sql, _values).then((result) => { @@ -361,20 +387,29 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!data.id) return reject("Id is undefined"); if (data.id.length !== 36) return reject("Id invalid"); + handler + .factorize({ + values: data, + actionName: "Inserting new brand", + }) + .then((result) => { + const valuesArray = result._valuesArray; + const template = result._keysTemplate; + const _sql = `INSERT INTO brands (${template + `, id`}) VALUES(${ + result._questionMarksFields + })`; - const _sql = - "INSERT INTO `brands`(`id`,`display_name`, `slug_name`, `image_blob`) VALUES (?, ?, ?, ?)"; - const _values = [ - data.id, - data.display_name, - data.slug_name, - data.image_blob, - ]; - try { - resolve(handler.execute(_sql, _values) as unknown as IDbStatusResult); - } catch (err: unknown) { - reject(err as Error); - } + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest + handler.execute(_sql, valuesArray).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); }); }, @@ -394,13 +429,26 @@ const MySqlService = { handler .factorize({ values: data, - actionName: `Update brand ID::${data.id}`, + actionName: "Update brand..", }) - .then((result) => { - const _sql = `UPDATE "brands" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`; - handler.execute(_sql, result._valuesArray).then((result) => { - return resolve(result as unknown as IDbStatusResult); - }); + .then((factorizeResult) => { + const _sql = `UPDATE brands SET (${factorizeResult._keysTemplate}) WERE id VALUES(${ + factorizeResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); } catch (err: unknown) { reject(err as Error); @@ -417,7 +465,7 @@ const MySqlService = { */ getAll(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `brands`"; + const _sql = "SELECT * FROM brands"; try { handler.query(_sql).then((result) => { return resolve(result as unknown as Array); @@ -441,7 +489,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!brandId) return reject("Id is undefined"); if (brandId.length !== 36) return reject("Id invalid"); - const _sql = "SELECT * FROM `brands` WHERE `id` = ?"; + const _sql = "SELECT * FROM brands WHERE id VALUES(?)"; const _values = [brandId]; try { handler.execute(_sql, _values).then((result) => { @@ -464,7 +512,7 @@ const MySqlService = { getBySlug(handler: MysqlHandler, brandSlug: string): Promise { return new Promise((resolve, reject) => { if (!brandSlug) return reject("slug is undefined"); - const _sql = "SELECT * FROM `brands` WHERE `slug_name` = ?"; + const _sql = "SELECT * FROM brands WHERE slug_name VALUES(?)"; const _values = [brandSlug]; try { handler.execute(_sql, _values).then((result) => { @@ -489,7 +537,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!brandId) return reject("Id is undefined"); if (brandId.length !== 36) return reject("Id invalid"); - const _sql = "DELETE FROM `brands` WHERE `id` = ?"; + const _sql = "DELETE FROM brands WHERE id VALUES(?)"; const _values = [brandId]; try { handler.execute(_sql, _values).then((result) => { @@ -513,7 +561,7 @@ const MySqlService = { */ getAll(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `models`"; + const _sql = "SELECT * FROM models"; try { handler.query(_sql).then((result) => { return resolve(result as unknown as Array); @@ -534,7 +582,7 @@ const MySqlService = { */ getBySlug(handler: MysqlHandler, modelSlug: string): Promise { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `models` WHERE `slug_name` = ?"; + const _sql = "SELECT * FROM models WHERE slug_name VALUES(?)"; const _values = [modelSlug]; try { handler.execute(_sql, _values).then((result) => { @@ -555,7 +603,7 @@ const MySqlService = { */ getById(handler: MysqlHandler, modelId: string): Promise { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `models` WHERE `id` = ?"; + const _sql = "SELECT * FROM models WHERE id VALUES(?)"; const _values = [modelId]; try { resolve(handler.execute(_sql, _values) as unknown as IDbModel); @@ -577,26 +625,29 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!data.id) return reject("Id is undefined"); if (data.id.length !== 36) return reject("Id invalid"); + handler + .factorize({ + values: data, + actionName: "Inserting new model", + }) + .then((factorizedResult) => { + const valuesArray = factorizedResult._valuesArray; + const template = factorizedResult._keysTemplate; + const _sql = `INSERT INTO users (${template + `, id`}) VALUES(${ + factorizedResult._questionMarksFields + })`; - const _sql = - "INSERT INTO `models`(`slug_name`,`display_name`, `brand_id`, `category_id`, `image_blob`, `is_trending`, `base_price`, `id`) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; - const _values = [ - data.slug_name, - data.display_name, - data.brand_id, - data.category_id, - data.image_blob, - data.is_trending, - data.base_price, - data.id, - ]; - try { - handler.execute(_sql, _values).then((result) => { - return resolve(result as unknown as IDbStatusResult); + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest + handler.execute(_sql, valuesArray).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); - } catch (err: unknown) { - reject(err as Error); - } }); }, @@ -618,13 +669,26 @@ const MySqlService = { handler .factorize({ values: data, - actionName: `Update users ID::${data.id}`, + actionName: "Update model..", }) - .then((result) => { - const _sql = `UPDATE "users" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`; - handler.execute(_sql, result._valuesArray).then((result) => { - return resolve(result as unknown as IDbStatusResult); - }); + .then((factorizeResult) => { + const _sql = `UPDATE models SET (${factorizeResult._keysTemplate}) WERE id VALUES(${ + factorizeResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); } catch (err: unknown) { reject(err as Error); @@ -645,7 +709,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!modelId) return reject("Id is undefined"); if (modelId.length !== 36) return reject("Id invalid"); - const _sql = "DELETE FROM `models` WHERE `id` = ?"; + const _sql = "DELETE FROM models WHERE id VALUES(?)"; const _values = [modelId]; try { handler.execute(_sql, _values).then((result) => { @@ -669,23 +733,29 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!data.id) return reject("Id is undefined"); if (data.id.length !== 36) return reject("Id invalid"); + handler + .factorize({ + values: data, + actionName: "Inserting new vehicle", + }) + .then((factorizedResult) => { + const valuesArray = factorizedResult._valuesArray; + const template = factorizedResult._keysTemplate; + const _sql = `INSERT INTO models (${template + `, id`}) VALUES(${ + factorizedResult._questionMarksFields + })`; - 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 { - handler.execute(_sql, _values).then((result) => { - return resolve(result as unknown as IDbStatusResult); + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest + handler.execute(_sql, valuesArray).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); - } catch (err: unknown) { - reject(err as Error); - } }); }, @@ -705,13 +775,26 @@ const MySqlService = { handler .factorize({ values: data, - actionName: `Update vehicle ID::${data.id}`, + actionName: "Update vehicle..", }) - .then((result) => { - const _sql = `UPDATE "vehicles" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`; - handler.execute(_sql, result._valuesArray).then((result) => { - return resolve(result as unknown as IDbStatusResult); - }); + .then((factorizeResult) => { + const _sql = `UPDATE vehicles SET (${factorizeResult._keysTemplate}) WERE id VALUES(${ + factorizeResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); } catch (err: unknown) { reject(err as Error); @@ -731,7 +814,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!vehicleId) return reject("Id is undefined"); if (vehicleId.length !== 36) return reject("Id invalid"); - const _sql = "SELECT * FROM `vehicles` WHERE `id` = ?"; + const _sql = "SELECT * FROM vehicles WHERE id VALUES(?)"; const _values = [vehicleId]; try { handler.execute(_sql, _values).then((result) => { @@ -752,7 +835,7 @@ const MySqlService = { */ getAll(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `models`"; + const _sql = "SELECT * FROM models"; try { handler.query(_sql).then((result) => { return resolve(result as unknown as Array); @@ -772,7 +855,7 @@ const MySqlService = { */ getAvailable(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `vehicles` WERE `isAvailable` = 1"; + const _sql = "SELECT * FROM vehicles WERE isAvailable = 1"; try { handler.query(_sql).then((result) => { return resolve(result as unknown as Array); @@ -783,7 +866,21 @@ const MySqlService = { }); }, - //TODO DELETE + delete(handler: MysqlHandler, vehicleId: string): Promise { + return new Promise((resolve, reject) => { + if (!vehicleId) return reject("Id is undefined"); + if (vehicleId.length !== 36) return reject("Id invalid"); + const _sql = "DELETE FROM vehicle WHERE id VALUES(?)"; + const _values = [vehicleId]; + try { + handler.execute(_sql, _values).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, }, Category: { /** @@ -798,17 +895,29 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!data.id) return reject("Id is undefined"); if (data.id.length !== 36) return reject("Id invalid"); + handler + .factorize({ + values: data, + actionName: "Inserting new category", + }) + .then((factorizedResult) => { + const valuesArray = factorizedResult._valuesArray; + const template = factorizedResult._keysTemplate; + const _sql = `INSERT INTO categories (${template + `, id`}) VALUES(${ + factorizedResult._questionMarksFields + })`; - const _sql = - "INSERT INTO `categories`(`id`,`slug_name`, `display_name`) VALUES (?, ?, ?)"; - const _values = [data.id, data.slug_name, data.display_name]; - try { - handler.execute(_sql, _values).then((result) => { - return resolve(result as unknown as IDbStatusResult); + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest + handler.execute(_sql, valuesArray).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); - } catch (err: unknown) { - reject(err as Error); - } }); }, @@ -827,13 +936,26 @@ const MySqlService = { handler .factorize({ values: data, - actionName: `Update category ID::${data.id}`, + actionName: "Update brand..", }) - .then((result) => { - const _sql = `UPDATE "categories" SET ${result._keysTemplate} WHERE 'id' = '${data.id}'`; - handler.execute(_sql, result._valuesArray).then((result) => { - return resolve(result as unknown as IDbStatusResult); - }); + .then((factorizeResult) => { + const _sql = `UPDATE categories SET (${factorizeResult._keysTemplate}) WERE id VALUES(${ + factorizeResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } }); } catch (err: unknown) { reject(err as Error); @@ -852,7 +974,7 @@ const MySqlService = { */ getAll(handler: MysqlHandler): Promise> { return new Promise((resolve, reject) => { - const _sql = "SELECT * FROM `categories`"; + const _sql = "SELECT * FROM categories"; try { resolve(handler.query(_sql) as unknown as Array); } catch (err: unknown) { @@ -874,7 +996,7 @@ const MySqlService = { ): Promise { return new Promise((resolve, reject) => { if (!categorySlug) return reject("slug is undefined"); - const _sql = "SELECT * FROM `categories` WHERE `slug_name` = ?"; + const _sql = "SELECT * FROM categories WHERE slug_name VALUES(?)"; const _values = [categorySlug]; try { handler.execute(_sql, _values).then((result) => { @@ -897,7 +1019,7 @@ const MySqlService = { return new Promise((resolve, reject) => { if (!categoryId) return reject("slug is undefined"); if (categoryId.length !== 36) return reject("Id invalid"); - const _sql = "SELECT * FROM `categories` WHERE `id` = ?"; + const _sql = "SELECT * FROM categories WHERE id VALUES(?)"; const _values = [categoryId]; try { handler.execute(_sql, _values).then((result) => { @@ -918,11 +1040,14 @@ const MySqlService = { * @returns {Promise} - A promise that resolves to the database status result after deletion. * @throws {Error} - If an error occurs while executing the deletion query. */ - delete(handler: MysqlHandler, categoryId: string) { + delete( + handler: MysqlHandler, + categoryId: string, + ): Promise { return new Promise((resolve, reject) => { if (!categoryId) return reject("Id is undefined"); if (categoryId.length !== 36) return reject("Id invalid"); - const _sql = "DELETE FROM `categories` WHERE `id` = ?"; + const _sql = "DELETE FROM categories WHERE id VALUES(?)"; const _values = [categoryId]; try { handler.execute(_sql, _values).then((result) => { @@ -933,7 +1058,163 @@ const MySqlService = { } }); }, - //TODO Get models in category + //ToTest + /** + * Retrieves all models from a specific category. + * + * @param {MysqlHandler} handler - The MySQL handler object used for executing the query. + * @param {string} categoryId - The ID of the category. + * @return {Promise>} - A promise that resolves to an array of database models belonging to the specified category. + */ + getAllModelsFromCategory(handler: MysqlHandler, categoryId: string): Promise> { + return new Promise((resolve, reject) => { + const _sql = + "SELECT models.* FROM models INNER JOIN categories ON models.category_id = categories.id WHERE categories.id VALUES(?)"; + try { + handler.execute(_sql, [categoryId]).then((result) => { + return resolve(result as unknown as Array); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, + + }, + Rent: { + //ToTest + insert(handler: MysqlHandler, data: IDbRent): Promise { + return new Promise((resolve, reject) => { + if (!data.id) return reject("Id is undefined"); + if (data.id.length !== 36) return reject("Id invalid"); + handler + .factorize({ + values: data, + actionName: "Inserting new rent", + }) + .then((factorizedResult) => { + const valuesArray = factorizedResult._valuesArray; + const template = factorizedResult._keysTemplate; + const _sql = `INSERT INTO rents (${template + `, id`}) VALUES(${ + factorizedResult._questionMarksFields + })`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) handler.Logger.trace(valuesArray); + //ToTest + handler.execute(_sql, valuesArray).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }); + }, + + //ToTest + /** + * Retrieves the assigned vehicles for a given user. + * + * @param {MysqlHandler} handler - The MySQL handler used to execute the database query. + * @param {string} userId - The ID of the user. + * @returns {Promise>} A promise that resolves to an array of assigned vehicles. + * @throws {Error} If an error occurs during the execution of the query. + * @throws {string} If the user ID is undefined or invalid. + */ + getAssignedToUser( + handler: MysqlHandler, + userId: string, + ): Promise> { + return new Promise((resolve, reject) => { + if (!userId) return reject("Id is undefined"); + if (userId.length !== 36) return reject("Id invalid"); + const _sql = + "SELECT vehicle.* FROM rent JOIN vehicles ON rent.vehicle_id = vehicles.id WHERE user_id AND active = 1 VALUES(?)"; + const _values = [userId]; + try { + handler.execute(_sql, _values).then((result) => { + return resolve(result as unknown as Array); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, + + /** + * Retrieves all assigned vehicles from the database. + * + * @param {MysqlHandler} handler - The MySQL handler object used for executing the query. + * + * @returns {Promise>} A Promise that resolves with an array of assigned vehicles. + * @throws {Error} If an error occurs during query execution or result conversion. + */ + getAllAssigned(handler: MysqlHandler): Promise> { + return new Promise((resolve, reject) => { + const _sql = + "SELECT vehicle.* FROM rent JOIN vehicles ON rent.vehicle_id = vehicles.id WHERE active = 1"; + try { + handler.query(_sql).then((result) => { + return resolve(result as unknown as Array); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, + update(handler: MysqlHandler, data: IDbRent): Promise { + return new Promise((resolve, reject) => { + if (!data.id) return reject("Id is undefined"); + if (data.id.length !== 36) return reject("Id invalid"); + try { + handler + .factorize({ + values: data, + actionName: "Update rent..", + }) + .then((factorizeResult) => { + const _sql = `UPDATE rents SET (${factorizeResult._keysTemplate}) WERE id = ? VALUES(${factorizeResult._questionMarksFields})`; + + try { + if (isDebugMode()) handler.Logger.trace(_sql); + if (isDebugMode()) + handler.Logger.trace(factorizeResult._valuesArray); + //ToTest + handler + .execute(_sql, factorizeResult._valuesArray) + .then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, + + delete( + handler: MysqlHandler, + rentId: string, + ): Promise { + return new Promise((resolve, reject) => { + if (!rentId) return reject("Id is undefined"); + if (rentId.length !== 36) return reject("Id invalid"); + const _sql = "DELETE FROM rents WHERE id VALUES(?)"; + const _values = [rentId]; + try { + handler.execute(_sql, _values).then((result) => { + return resolve(result as unknown as IDbStatusResult); + }); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, }, };