@adminforth/crud-approve-plugin 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.ts +10 -1
- package/package.json +1 -1
package/index.ts
CHANGED
|
@@ -349,12 +349,21 @@ export default class CRUDApprovePlugin extends AdminForthPlugin {
|
|
|
349
349
|
const diffData = diffRecord[this.options.resourceColumns.dataColumnName];
|
|
350
350
|
const extra = diffRecord[this.options.resourceColumns.extraColumnName] || {};
|
|
351
351
|
extra.body = body;
|
|
352
|
+
let oldRecord = undefined;
|
|
353
|
+
if (action !== AllowedActionsEnum.create) {
|
|
354
|
+
oldRecord = await this.adminforth.connectors[resource.dataSource].getRecordByPrimaryKey(
|
|
355
|
+
resource, diffRecord[this.options.resourceColumns.recordIdColumnName]
|
|
356
|
+
);
|
|
357
|
+
}
|
|
352
358
|
const beforeSaveResp = await this.callBeforeSaveHooks(
|
|
353
359
|
resource, action as AllowedActionsEnum, diffData['newRecord'],
|
|
354
360
|
adminUser, diffRecord[this.options.resourceColumns.recordIdColumnName],
|
|
355
|
-
diffData['newRecord'],
|
|
361
|
+
diffData['newRecord'], oldRecord, this.adminforth, extra
|
|
356
362
|
);
|
|
357
363
|
if (beforeSaveResp.error) {
|
|
364
|
+
if (beforeSaveResp.error === 'Operation aborted by hook') {
|
|
365
|
+
return beforeSaveResp;
|
|
366
|
+
}
|
|
358
367
|
response.status = 500;
|
|
359
368
|
return { error: `Failed to apply approved changes: ${beforeSaveResp.error}` };
|
|
360
369
|
}
|