From 47adae91376467b6a22db7cc95381f43cad15f1d Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 25 Apr 2024 12:01:02 +0200 Subject: [PATCH] feat: Update MySQL service for category operations This update introduces changes in the 'mysql.service.ts' to allow create and update operations for categories. The 'INSERT INTO' SQL query has been adjusted from targeting `users` to `categories`. An `update` function has also been added to allow updates in category data. The import order has been rearranged for better readability. Signed-off-by: Mathis --- src/services/mysql.service.ts | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index cc55adb..13ae6c1 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -1,8 +1,8 @@ -import mysql, {type Connection, type ConnectionOptions} from 'mysql2'; -import {Logger} from "tslog"; +import type IDbCategory from "@interfaces/database/IDbCategory"; import type {IDbModel} from "@interfaces/database/IDbModel"; import type {IDbUser} from "@interfaces/database/IDbUser"; -import type IDbCategory from "@interfaces/database/IDbCategory"; +import mysql, {type Connection, type ConnectionOptions} from 'mysql2'; +import {Logger} from "tslog"; const access: ConnectionOptions = { @@ -351,7 +351,7 @@ const MySqlService = { if (!data.id) return reject('Id is undefined'); if (data.id.length !== 36) return reject('Id invalid'); - const _sql = "INSERT INTO `users`(`id`,`slug_name`, `display_name`) VALUES (?, ?, ?)" + const _sql = "INSERT INTO `categorys`(`id`,`slug_name`, `display_name`) VALUES (?, ?, ?)" const _values = [ data.id, data.slug_name, @@ -363,6 +363,31 @@ const MySqlService = { reject(err as Error); } }) + }, + + update(handler: MysqlHandler, data: IDbCategory) { + return new Promise((resolve, reject) => { + if (!data.id) return reject('Id is undefined'); + if (data.id.length !== 36) return reject('Id invalid'); + + try { + const _template = ` + ${data.slug_name ? "`slug_name` = ?," : null} + ${data.display_name ? "`display_name` = ?," : null}` + + const _values = [ + data.slug_name, + data.display_name, + data.id + ] + + const _sql = `UPDATE "categories" SET ${_template} WHERE 'id' = ?`; + return resolve(handler.execute(_sql, _values)); + + } catch (err: unknown) { + reject(err as Error); + } + }) } } }