diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RecordAutomationStatusUpdater.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RecordAutomationStatusUpdater.java index e8b4177c..087e7532 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RecordAutomationStatusUpdater.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/automation/RecordAutomationStatusUpdater.java @@ -155,6 +155,7 @@ public class RecordAutomationStatusUpdater .withValue(table.getPrimaryKeyField(), r.getValue(table.getPrimaryKeyField())) .withValue(automationDetails.getStatusTracking().getFieldName(), r.getValue(automationDetails.getStatusTracking().getFieldName()))).toList()); updateInput.setAreAllValuesBeingUpdatedTheSame(true); + updateInput.setOmitDmlAudit(true); new UpdateAction().execute(updateInput); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/UpdateAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/UpdateAction.java index f9bd870c..e77820e3 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/UpdateAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/UpdateAction.java @@ -75,7 +75,14 @@ public class UpdateAction UpdateOutput updateResult = qModule.getUpdateInterface().execute(updateInput); // todo post-customization - can do whatever w/ the result if you want - new DMLAuditAction().execute(new DMLAuditInput().withTableActionInput(updateInput).withRecordList(updateResult.getRecords()).withOldRecordList(oldRecordList)); + if(updateInput.getOmitDmlAudit()) + { + LOG.debug("Requested to omit DML audit"); + } + else + { + new DMLAuditAction().execute(new DMLAuditInput().withTableActionInput(updateInput).withRecordList(updateResult.getRecords()).withOldRecordList(oldRecordList)); + } return updateResult; } @@ -87,6 +94,11 @@ public class UpdateAction *******************************************************************************/ private static List getOldRecordListForAuditIfNeeded(UpdateInput updateInput) { + if(updateInput.getOmitDmlAudit()) + { + return (null); + } + try { AuditLevel auditLevel = DMLAuditAction.getAuditLevel(updateInput); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/update/UpdateInput.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/update/UpdateInput.java index 149c83df..1fd669b2 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/update/UpdateInput.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/tables/update/UpdateInput.java @@ -45,6 +45,8 @@ public class UpdateInput extends AbstractTableActionInput //////////////////////////////////////////////////////////////////////////////////////////// private Boolean areAllValuesBeingUpdatedTheSame = null; + private boolean omitDmlAudit = false; + /******************************************************************************* @@ -132,4 +134,35 @@ public class UpdateInput extends AbstractTableActionInput this.areAllValuesBeingUpdatedTheSame = areAllValuesBeingUpdatedTheSame; } + + + /******************************************************************************* + ** Getter for omitDmlAudit + *******************************************************************************/ + public boolean getOmitDmlAudit() + { + return (this.omitDmlAudit); + } + + + + /******************************************************************************* + ** Setter for omitDmlAudit + *******************************************************************************/ + public void setOmitDmlAudit(boolean omitDmlAudit) + { + this.omitDmlAudit = omitDmlAudit; + } + + + + /******************************************************************************* + ** Fluent setter for omitDmlAudit + *******************************************************************************/ + public UpdateInput withOmitDmlAudit(boolean omitDmlAudit) + { + this.omitDmlAudit = omitDmlAudit; + return (this); + } + }