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 <yidhra@tuta.io>
This commit is contained in:
Mathis H (Avnyr) 2024-04-26 12:06:19 +02:00
parent f23aabccd4
commit 13d72ad529
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -45,7 +45,7 @@ async function createModel(data: IDbModel): Promise<boolean> {
* @return {Promise<boolean>} - A promise that resolves to a boolean indicating whether the update was successful or not.
*/
async function updateModel(data: IDbModel): Promise<boolean> {
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<boolean> {
}
}
/**
* Deletes a model from the database.
*
* @param {string} modelSlug - The slug of the model to be deleted.
* @return {Promise<boolean>} - A promise that resolves to true if the deletion is successful, else false.
*/
async function deleteModel(modelSlug: string): Promise<boolean> {
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,