feat(services): 🎉 db - models getters interaction

#7
This commit is contained in:
Mathis H (Avnyr) 2024-04-24 15:07:45 +02:00
parent 69fae2b780
commit ccee786c2f
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -267,6 +267,59 @@ const MySqlService = {
}
});
}
},
Model: {
/**
* Retrieves all records from the 'models' table.
*
* @param {MysqlHandler} handler - The MySQL handler object used to execute the query.
* @return {Promise<Array<IDbModel>>} - A promise that resolves to an array of IDbModel objects representing the retrieved records from the 'models' table.
* @throws {Error} - If there is an error executing the query.
*/
getAll(handler: MysqlHandler): Promise<Array<IDbModel>> {
return new Promise((resolve, reject) => {
const _sql = "SELECT * FROM `models`";
try {
resolve(handler.query(_sql) as unknown as Array<IDbModel>);
} catch (err: unknown) {
reject(err as Error);
}
});
},
/**
* Retrieves a database model by slug from a given MySQL handler.
*
* @param {MysqlHandler} handler - The MySQL handler instance.
* @param {string} slug - The slug of the model to retrieve.
* @return {Promise<IDbModel>} A promise that resolves with the retrieved model.
* @throws {Error} If there was an error executing the query.
*/
getBySlug(handler: MysqlHandler, slug: string): Promise<IDbModel> {
return new Promise((resolve, reject) => {
const _sql = "SELECT * FROM `models` WHERE `slug` = ?";
const _values = [slug];
try {
resolve(handler.execute(_sql, _values) as unknown as IDbModel);
} catch (err: unknown) {
reject(err as Error);
}
});
},
getById(handler: MysqlHandler, modelId: string): Promise<IDbModel> {
return new Promise((resolve, reject) => {
const _sql = "SELECT * FROM `models` WHERE `id` = ?";
const _values = [modelId];
try {
resolve(handler.execute(_sql, _values) as unknown as IDbModel);
} catch (err: unknown) {
reject(err as Error);
}
});
},
//TODO Create / Update / Delete
}
}