feat(services): update insert function in mysql service

The `insert` function in mysql service has been updated. The function now includes more accurate commenting, and a check for `id` validity. It now returns a Promise with `IDbStatusResult` instead of `unknown`. The changes improve function clarity and error handling.

Issue: #17
Signed-off-by: Mathis <yidhra@tuta.io>
This commit is contained in:
Mathis H (Avnyr) 2024-04-30 09:59:06 +02:00
parent a9cf48b04a
commit 44b5745f3b
Signed by: Mathis
GPG Key ID: DD9E0666A747D126

View File

@ -92,14 +92,15 @@ const MySqlService = {
User: {
/**
* Insert a user into the database.
* Inserts a new user into the database.
*
* @param {MysqlHandler} handler - The MySQL database handler.
* @param {IDbUser} data - The user data to insert.
* @returns {Promise<unknown>} A promise that resolves if the user was inserted successfully, or rejects with an error.
* @throws {Error} If an error occurs while executing the query.
* @returns {Promise<IDbStatusResult>} A promise that resolves with the database status result.
* @throws {Error} If an error occurs during the execution.
* @throws {string} If the `id` field is undefined or invalid.
*/
insert(handler: MysqlHandler, data: IDbUser): Promise<unknown> {
insert(handler: MysqlHandler, data: IDbUser): Promise<IDbStatusResult> {
return new Promise((resolve, reject) => {
if (!data.id) return reject('Id is undefined');
if (data.id.length !== 36) return reject('Id invalid');
@ -118,7 +119,7 @@ const MySqlService = {
data.hash
]
try {
resolve(handler.execute(_sql, _values) as unknown)
resolve(handler.execute(_sql, _values) as unknown as IDbStatusResult)
} catch (err: unknown) {
reject(err as Error);
}