From 13d72ad52981c4ca735f0c40c465fc7724de8945 Mon Sep 17 00:00:00 2001 From: Mathis Date: Fri, 26 Apr 2024 12:06:19 +0200 Subject: [PATCH] feat(services): update logging in `updateModel` and add `deleteModel` The `updateModel` function's logging has been updated to use `slug_name` instead of `id`. Additionally, a new function `deleteModel` has been added to remove models from the database based on their slug. This function checks the existence of a model before attempting deletion and logs the process. Issue: #27 Signed-off-by: Mathis --- src/services/model.service.ts | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/services/model.service.ts b/src/services/model.service.ts index b5a5008..dd680f4 100644 --- a/src/services/model.service.ts +++ b/src/services/model.service.ts @@ -45,7 +45,7 @@ async function createModel(data: IDbModel): Promise { * @return {Promise} - A promise that resolves to a boolean indicating whether the update was successful or not. */ async function updateModel(data: IDbModel): Promise { - logger.info(`Updating model... (${id})`); + logger.info(`Updating model... (${data.slug_name})`); try { await MysqlService.Model.update(DbHandler, { display_name: data.display_name, @@ -64,6 +64,33 @@ async function updateModel(data: IDbModel): Promise { } } +/** + * Deletes a model from the database. + * + * @param {string} modelSlug - The slug of the model to be deleted. + * @return {Promise} - A promise that resolves to true if the deletion is successful, else false. + */ +async function deleteModel(modelSlug: string): Promise { + if (!modelSlug) { + logger.error("Model slug is missing"); + return false + } + logger.info(`Deleting model with ID: ${modelSlug}`); + const doesExist = await MysqlService.Model.getBySlug(DbHandler, modelSlug); + if (!doesExist || !doesExist.id) { + logger.warn(`Model with slug ${modelSlug} not found`); + return false; + } + try { + await MysqlService.Model.delete(DbHandler, doesExist.id); + logger.info("Deletion Successful !"); + return true; + } catch (error) { + logger.error(`Error deleting model: ${error}`); + return false; + } +} + const ModelService = { create: createModel, update: updateModel,