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,