Compare commits
3 Commits
f23aabccd4
...
5d53cd28f8
Author | SHA1 | Date | |
---|---|---|---|
5d53cd28f8 | |||
8711b3530a | |||
13d72ad529 |
@ -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.
|
* @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> {
|
async function updateModel(data: IDbModel): Promise<boolean> {
|
||||||
logger.info(`Updating model... (${id})`);
|
logger.info(`Updating model... (${data.slug_name})`);
|
||||||
try {
|
try {
|
||||||
await MysqlService.Model.update(DbHandler, {
|
await MysqlService.Model.update(DbHandler, {
|
||||||
display_name: data.display_name,
|
display_name: data.display_name,
|
||||||
@ -64,15 +64,91 @@ 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 = {
|
const ModelService = {
|
||||||
create: createModel,
|
create: createModel,
|
||||||
update: updateModel,
|
update: updateModel,
|
||||||
delete: deleteModel,
|
delete: deleteModel,
|
||||||
getBySlug: getBySlugModel,
|
getBySlug: getBySlugModel,
|
||||||
getAll: getAllModels,
|
getAll: getAllModels,
|
||||||
getById: getByIdModel,
|
//getByCategory: getByCategoryModel,
|
||||||
getByCategory: getByCategoryModel,
|
//getByBrand: getModelsByBrand,
|
||||||
getByBrand: getModelsByBrand,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ModelService;
|
export default ModelService;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user