From 016f7fa9d4399b411113b380b43c70d681a4731d Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 25 Apr 2024 16:19:27 +0200 Subject: [PATCH] feat(services): add brand insert method in mysql service - Adjusted import syntax for IDbCategory interface - Imported IDbBrand from database interfaces - Added a new `insert` method in Brand object in MysqlHandler to insert brand data into the database. The method resolves with execution of SQL command and rejects on error or invalid ID. Issue: #5 Signed-off-by: Mathis --- src/services/mysql.service.ts | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index 59f2b03..bfbad48 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -1,6 +1,7 @@ -import type IDbCategory from "@interfaces/database/IDbCategory"; +import type {IDbCategory} from "@interfaces/database/IDbCategory"; import type {IDbModel} from "@interfaces/database/IDbModel"; import type {IDbUser} from "@interfaces/database/IDbUser"; +import type {IDbBrand} from "@interfaces/database/IDbBrand"; import mysql, {type Connection, type ConnectionOptions} from 'mysql2'; import {Logger} from "tslog"; @@ -269,7 +270,28 @@ const MySqlService = { }); } }, + Brand: { + insert(handler: MysqlHandler, data: IDbBrand) { + 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 `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)) + } catch (err: unknown) { + reject(err as Error); + } + }) + } + + }, Model: { /**