From 3328c5a1dfc714ff45f914ba4701100578b4e047 Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 25 Apr 2024 12:30:32 +0200 Subject: [PATCH] feat(services): add getById function to mysql.service This commit adds a getById function to the mysql.service.ts file. The added functionality allows retrieving category data from the mysql database by id. Error handling has been included for undefined or invalid id cases. Issue: #6 Signed-off-by: Mathis --- src/services/mysql.service.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index 7a80ee4..9b6f024 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -440,7 +440,20 @@ const MySqlService = { reject(err as Error); } }) - } + }, + getById(handler: MysqlHandler, categoryId: string): Promise { + 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 _values = [categoryId]; + try { + resolve(handler.execute(_sql, _values) as unknown as IDbCategory); + } catch (err: unknown) { + reject(err as Error); + } + }); + }, } }