From e8acfd7b300df551f4cd90fe2205759a299390bb Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 3 May 2024 13:18:15 +0200 Subject: [PATCH] feat(services): update condition checks in model.service.ts Updated the condition checks in the 'delete' and 'fetch' methods of the `model.service.ts`. Now, it properly checks if the model exists by examining the first item of the result array, instead of considering the result array itself. This resolves issues where fetching or deleting a model with a non-existent slug would incorrectly attempt to perform operations considering the empty array as valid input. Signed-off-by: Mathis --- src/services/model.service.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/services/model.service.ts b/src/services/model.service.ts index 35d80d6..49953be 100644 --- a/src/services/model.service.ts +++ b/src/services/model.service.ts @@ -80,12 +80,14 @@ async function deleteModel(modelSlug: string): Promise { } logger.info(`Deleting model with ID: ${modelSlug}`); const doesExist = await MysqlService.Model.getBySlug(DbHandler, modelSlug); - if (!doesExist || !doesExist.id) { + if (!doesExist[0]) { logger.warn(`Model with slug ${modelSlug} not found`); return false; } + const target = doesExist[0] + if (!target.id) return false; try { - await MysqlService.Model.delete(DbHandler, doesExist.id); + await MysqlService.Model.delete(DbHandler, target.id); logger.info("Deletion Successful !"); return true; } catch (error) { @@ -104,11 +106,11 @@ async function getBySlugModel(modelSlug: string): Promise { logger.info(`Fetching model with slug: ${modelSlug}`); try { const model = await MysqlService.Model.getBySlug(DbHandler, modelSlug); - if (!model) { + if (!model[0]) { logger.warn(`Model with slug ${modelSlug} not found`); return null; } - return model; + return model[0]; } catch (error) { logger.error(`Error fetching model by slug: ${error}`); return null;