Compare commits

..

No commits in common. "5d53cd28f844c36cb31dffcd79505dc42f672d3a" and "f23aabccd4fbbd283fe543676a8b7281c5787ef1" have entirely different histories.

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... (${data.slug_name})`);
logger.info(`Updating model... (${id})`);
try {
await MysqlService.Model.update(DbHandler, {
display_name: data.display_name,
@ -64,91 +64,15 @@ 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;
}
}
/**
* Fetches a model by slug from the database.
*
* @param {string} modelSlug - The slug of the model to be fetched.
* @return {Promise<IDbModel | null>} - A promise that resolves to the model if found, else null.
*/
async function getBySlugModel(modelSlug: string): Promise<IDbModel | null> {
logger.info(`Fetching model with slug: ${modelSlug}`);
try {
const model = await MysqlService.Model.getBySlug(DbHandler, modelSlug);
if (!model) {
logger.warn(`Model with slug ${modelSlug} not found`);
return null;
}
return model;
} catch (error) {
logger.error(`Error fetching model by slug: ${error}`);
return null;
}
}
/**
* Fetches all models from the database.
*
* @return {Promise<IDbModel[] | null>} - A promise that resolves to an array of all models if found, else null.
*/
async function getAllModels(): Promise<IDbModel[] | null> {
logger.info("Fetching all models from the database");
try {
const models = await MysqlService.Model.getAll(DbHandler);
if (!models || models.length === 0) {
logger.warn("No models found on the database");
return null;
}
logger.info(`Found ${models.length} model(s)`)
return models;
} catch (error) {
logger.error(`Error fetching all models: ${error}`);
return null;
}
}
/**
* ModelService is responsible for managing models.
* @namespace
*/
const ModelService = {
create: createModel,
update: updateModel,
delete: deleteModel,
getBySlug: getBySlugModel,
getAll: getAllModels,
//getByCategory: getByCategoryModel,
//getByBrand: getModelsByBrand,
getById: getByIdModel,
getByCategory: getByCategoryModel,
getByBrand: getModelsByBrand,
}
export default ModelService;