diff --git a/src/services/mysql.service.ts b/src/services/mysql.service.ts index 8c6c7d3..ae8596d 100644 --- a/src/services/mysql.service.ts +++ b/src/services/mysql.service.ts @@ -56,6 +56,7 @@ class MysqlHandler { /** * Factorize the input data values into a database query. + * `id` field will not be injected in result to avoid problems. * * @param {IDbFactorizeInput} data - The input data containing values to factorize. * @return {Promise} - A promise resolving to the factorized output. @@ -63,7 +64,14 @@ class MysqlHandler { factorize(data: IDbFactorizeInput): Promise { return new Promise((resolve, reject)=>{ try { - const _sqlQueryKeys = Object.keys(data.values).map((key: string) => `\'${key}\' = ?`) + // @ts-ignore + data.values.id ? delete data.values.id : null; + const _sqlQueryKeys = Object.keys(data.values).map((key: string) => { + if (key !== 'id') { + return `\'${key}\' = ?` + } + return ''; + }) const values = Object.values(data.values).map((val)=>val) this.Logger.debug(`\n\n>-> Factorized ${_sqlQueryKeys.length} keys for a prepare Query.\n>-> Action: ${data.actionName}\n`) const sqlQueryKeys = _sqlQueryKeys.join(', ') @@ -358,17 +366,10 @@ const MySqlService = { if (data.id.length !== 36) return reject("Id invalid"); try { - const _template = ` - ${data.slug_name ? "`slug_name` = ?," : null} - ${data.display_name ? "`display_name` = ?," : null} - ${data.image_blob ? "`slug_name` = ?," : null}`; - - const _values = [ - data.slug_name, - data.display_name, - data.image_blob, - data.id, - ]; + handler.factorize({ + values: data, + actionName: `Update user ID::${data.id}` + }) const _sql = `UPDATE "brands" SET ${_template} WHERE 'id' = ?`; handler.execute(_sql, _values).then((result) => { return resolve(result as unknown as IDbStatusResult);