Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions routes/crudRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -1082,6 +1082,17 @@ class Crud {
// send successful 200 status
res.status(200).send(dataUpdated);

try {
this.recordChange({
employee: req.employee,
table: table,
oldImage: req.employee,
newImage: dataUpdated
});
} catch (auditErr) {
logger.log(3, '_updateAttributesWrapper', `Audit logging failed ${auditErr.message}`);
}

// return updated data
return dataUpdated;
} else {
Expand Down Expand Up @@ -1152,6 +1163,27 @@ class Crud {
// send successful 200 status
res.status(200).send(dataUpdated);

try {
if(tables[0]?.attributes?.length > 0) {
this.recordChange({
employee: req.employee,
table: tables[0].table,
oldImage: req.employee,
newImage: dataUpdated
});
}
if(tables[1]?.attributes?.length > 0) {
this.recordChange({
employee: req.employee,
table: tables[1].table,
oldImage: req.employee,
newImage: dataUpdated
});
}
} catch (auditErr) {
logger.log(3, '_updateAttributesWrapper', `Audit logging failed ${auditErr.message}`);
}

// return updated data
return dataUpdated;
} else {
Expand Down
19 changes: 19 additions & 0 deletions routes/employeeRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,8 @@ class EmployeeRoutes extends Crud {
sameIds = true;
}

let oldEmployeeBasic = new Employee(await this.databaseModify.getEntry(req.body.id));
let oldEmployeeSensitive = new EmployeeSensitive(await this.employeeSensitiveDynamo.getEntry(req.body.id));
let basicData = new Employee(employeeValidated);
let sensitiveData = new EmployeeSensitive(employeeValidated);
if (sameIds) {
Expand All @@ -679,6 +681,23 @@ class EmployeeRoutes extends Crud {
// send successful 200 status
res.status(200).send(employeeValidated);

//only audit if the data changed
if(!_.isEqual(oldEmployeeBasic, basicData)) {
await this.recordChange({
employee: req.employee,
table: EMPLOYEES_TABLE,
oldImage: oldEmployeeBasic,
newImage: basicData
});
}
if(!_.isEqual(oldEmployeeSensitive, sensitiveData)) {
await this.recordChange({
employee: req.employee,
table: EMPLOYEES_SENSITIVE_TABLE,
oldImage: oldEmployeeSensitive,
newImage: sensitiveData
});
}
// return updated data
return employeeValidated;
} else {
Expand Down