From 11be3a40c382b61ef0b41c4ea6e1bfb930e12abe Mon Sep 17 00:00:00 2001 From: Mathis Date: Thu, 25 Apr 2024 13:50:45 +0200 Subject: [PATCH] feat(services): update category service functions Update category service functions with added getBySlug function and refactor getAllCategory to getAll. Exception handling has been improved, returning null on error. Issue: #11 Signed-off-by: Mathis --- src/services/category.service.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/services/category.service.ts b/src/services/category.service.ts index d69829d..eb3b33a 100644 --- a/src/services/category.service.ts +++ b/src/services/category.service.ts @@ -30,18 +30,31 @@ async function createCategory(data: IDbCategory): Promise { } } -//FEAT Get all categories -async function getAllCategory() { +/** + * Retrieves all categories from the database. + * + * @returns {Promise> | null} Promise that resolves to an array of IDbCategory objects or null if an error occurred. + */ +async function getAll(): Promise> | null> { try { logger.info("Getting all categories..."); return await MysqlService.Category.getAll(DbHandler); } catch (error) { logger.error(`Error getting all categories: ${error}`); - return; + return null; } } //FEAT Get a category (slug) +async function getBySlug(slug: string) { + try { + logger.info(`Getting category by slug... (${slug})`); + return await MysqlService.Category.getBySlug(DbHandler, slug); + } catch (error) { + logger.error(`Error getting category by slug: ${error}`); + return null; + } +} //FEAT Get a category (id) @@ -51,7 +64,8 @@ async function getAllCategory() { const CategoryService = { create: createCategory, - getAll: getAllCategory + getAll, + getBySlug } export default CategoryService; \ No newline at end of file