diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index 107a72e..e938ec2 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -2,6 +2,7 @@ import mysql, {type Connection, type ConnectionOptions} from 'mysql2'; import {Logger} from "tslog"; import type {IDbModel} from "@interfaces/database/IDbModel"; import type {IDbUser} from "@interfaces/database/IDbUser"; +import type IDbCategory from "@interfaces/database/IDbCategory"; const access: ConnectionOptions = { @@ -88,27 +89,27 @@ const MySqlService = { * Insert a user into the database. * * @param {MysqlHandler} handler - The MySQL database handler. - * @param {IDbUser} userData - The user data to insert. + * @param {IDbUser} data - The user data to insert. * @returns {Promise} A promise that resolves if the user was inserted successfully, or rejects with an error. * @throws {Error} If an error occurs while executing the query. */ - insert(handler: MysqlHandler, userData: IDbUser) { + insert(handler: MysqlHandler, data: IDbUser) { return new Promise((resolve, reject) => { - if (!userData.id) return reject('Id is undefined'); - if (userData.id.length !== 36) return reject('Id invalid'); + if (!data.id) return reject('Id is undefined'); + if (data.id.length !== 36) return reject('Id invalid'); const _sql = "INSERT INTO `users`(`id`,`username`, `firstname`, `lastname`, `dob`, `email`, `is_mail_verified`, `is_admin`, `gdpr`, `hash`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)" const _values = [ - userData.id, - userData.username, - userData.firstname, - userData.lastname, - userData.dob, - userData.email, - userData.is_mail_verified, - userData.is_admin, - userData.gdpr, - userData.hash + data.id, + data.username, + data.firstname, + data.lastname, + data.dob, + data.email, + data.is_mail_verified, + data.is_admin, + data.gdpr, + data.hash ] try { resolve(handler.execute(_sql, _values)) @@ -121,37 +122,37 @@ const MySqlService = { /** * Updates user data in the database. * @param {MysqlHandler} handler - The MySQL handler object. - * @param {IDbUser} userData - The user data to be updated. + * @param {IDbUser} data - The user data to be updated. * @returns {Promise} - A promise that resolves when the update is successful. * @throws {Error} - If an error occurs during the update process. */ - update(handler: MysqlHandler, userData: IDbUser): Promise { + update(handler: MysqlHandler, data: IDbUser): Promise { return new Promise((resolve, reject) => { - if (!userData.id) return reject('Id is undefined'); - if (userData.id.length !== 36) return reject('Id invalid'); + if (!data.id) return reject('Id is undefined'); + if (data.id.length !== 36) return reject('Id invalid'); try { const _template = ` - ${userData.username ? "`username` = ?," : null} - ${userData.firstname ? "`firstname` = ?," : null} - ${userData.lastname ? "`lastname` = ?," : null} - ${userData.dob ? "`dob` = ?," : null} - ${userData.email ? "`email` = ?," : null} - ${userData.is_mail_verified ? "`is_mail_verified` = ?," : null} - ${userData.is_admin ? "`is_admin` = ?," : null} - ${userData.gdpr ? "`gdpr` = ?," : null} - ${userData.hash ? "`hash` = ?" : null}` + ${data.username ? "`username` = ?," : null} + ${data.firstname ? "`firstname` = ?," : null} + ${data.lastname ? "`lastname` = ?," : null} + ${data.dob ? "`dob` = ?," : null} + ${data.email ? "`email` = ?," : null} + ${data.is_mail_verified ? "`is_mail_verified` = ?," : null} + ${data.is_admin ? "`is_admin` = ?," : null} + ${data.gdpr ? "`gdpr` = ?," : null} + ${data.hash ? "`hash` = ?" : null}` const _values = [ - userData.username, - userData.firstname, - userData.lastname, - userData.dob, - userData.email, - userData.is_mail_verified, - userData.is_admin, - userData.gdpr, - userData.hash, - userData.id + data.username, + data.firstname, + data.lastname, + data.dob, + data.email, + data.is_mail_verified, + data.is_admin, + data.gdpr, + data.hash, + data.id ] const _sql = `UPDATE "users" SET ${_template} WHERE 'id' = ?`;