|
|
@ -1864,7 +1864,7 @@ class BaseModelSqlv2 { |
|
|
|
await this.execAndParse(query); |
|
|
|
await this.execAndParse(query); |
|
|
|
|
|
|
|
|
|
|
|
const newData = await this.readByPk(id); |
|
|
|
const newData = await this.readByPk(id); |
|
|
|
await this.afterUpdate(prevData, newData, trx, cookie); |
|
|
|
await this.afterUpdate(prevData, newData, trx, cookie, updateObj); |
|
|
|
return newData; |
|
|
|
return newData; |
|
|
|
} catch (e) { |
|
|
|
} catch (e) { |
|
|
|
console.log(e); |
|
|
|
console.log(e); |
|
|
@ -2393,18 +2393,32 @@ class BaseModelSqlv2 { |
|
|
|
prevData: any, |
|
|
|
prevData: any, |
|
|
|
newData: any, |
|
|
|
newData: any, |
|
|
|
_trx: any, |
|
|
|
_trx: any, |
|
|
|
req |
|
|
|
req, |
|
|
|
|
|
|
|
updateObj?: Record<string, any> |
|
|
|
): Promise<void> { |
|
|
|
): Promise<void> { |
|
|
|
const id = this._extractPksValues(newData); |
|
|
|
const id = this._extractPksValues(newData); |
|
|
|
|
|
|
|
let desc = `Record with ID ${id} has been updated in Table ${this.model.title}.`; |
|
|
|
|
|
|
|
if (updateObj) { |
|
|
|
|
|
|
|
updateObj = await this.model.mapColumnToAlias(updateObj); |
|
|
|
|
|
|
|
for (const k of Object.keys(updateObj)) { |
|
|
|
|
|
|
|
const prevValue = |
|
|
|
|
|
|
|
typeof prevData[k] === 'object' |
|
|
|
|
|
|
|
? JSON.stringify(prevData[k]) |
|
|
|
|
|
|
|
: prevData[k]; |
|
|
|
|
|
|
|
const newValue = |
|
|
|
|
|
|
|
typeof newData[k] === 'object' |
|
|
|
|
|
|
|
? JSON.stringify(newData[k]) |
|
|
|
|
|
|
|
: newData[k]; |
|
|
|
|
|
|
|
desc += `\n`; |
|
|
|
|
|
|
|
desc += `Column "${k}" got changed from "${prevValue}" to "${newValue}"`; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
await Audit.insert({ |
|
|
|
await Audit.insert({ |
|
|
|
fk_model_id: this.model.id, |
|
|
|
fk_model_id: this.model.id, |
|
|
|
row_id: id, |
|
|
|
row_id: id, |
|
|
|
op_type: AuditOperationTypes.DATA, |
|
|
|
op_type: AuditOperationTypes.DATA, |
|
|
|
op_sub_type: AuditOperationSubTypes.UPDATE, |
|
|
|
op_sub_type: AuditOperationSubTypes.UPDATE, |
|
|
|
description: DOMPurify.sanitize( |
|
|
|
description: DOMPurify.sanitize(desc), |
|
|
|
`Record with ID ${id} has been updated in Table ${this.model.title}` |
|
|
|
|
|
|
|
), |
|
|
|
|
|
|
|
// details: JSON.stringify(data),
|
|
|
|
// details: JSON.stringify(data),
|
|
|
|
ip: req?.clientIp, |
|
|
|
ip: req?.clientIp, |
|
|
|
user: req?.user?.email, |
|
|
|
user: req?.user?.email, |
|
|
|