diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/DMLAuditAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/DMLAuditAction.java index 2c268f02..f76d261e 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/DMLAuditAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/DMLAuditAction.java @@ -98,8 +98,13 @@ public class DMLAuditAction extends AbstractQActionFunction actionInput = QContext.getFirstActionInStack(); + String contextSuffix = ""; + if(StringUtils.hasContent(input.getAuditContext())) + { + contextSuffix = " " + input.getAuditContext(); + } + + Optional actionInput = QContext.getFirstActionInStack(); if(actionInput.isPresent() && actionInput.get() instanceof RunProcessInput runProcessInput) { String processName = runProcessInput.getProcessName(); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostDeleteCustomizer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostDeleteCustomizer.java index 7ba804a2..edf9a9cf 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostDeleteCustomizer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostDeleteCustomizer.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.core.actions.customizers; import java.util.List; +import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.model.actions.tables.delete.DeleteInput; import com.kingsrook.qqq.backend.core.model.data.QRecord; @@ -55,7 +56,7 @@ public abstract class AbstractPostDeleteCustomizer /******************************************************************************* ** *******************************************************************************/ - public abstract List apply(List records); + public abstract List apply(List records) throws QException; diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostInsertCustomizer.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostInsertCustomizer.java index 325349d6..c7e2bfc6 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostInsertCustomizer.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/customizers/AbstractPostInsertCustomizer.java @@ -23,6 +23,7 @@ package com.kingsrook.qqq.backend.core.actions.customizers; import java.util.List; +import com.kingsrook.qqq.backend.core.exceptions.QException; import com.kingsrook.qqq.backend.core.model.actions.tables.insert.InsertInput; import com.kingsrook.qqq.backend.core.model.data.QRecord; @@ -50,7 +51,7 @@ public abstract class AbstractPostInsertCustomizer /******************************************************************************* ** *******************************************************************************/ - public abstract List apply(List records); + public abstract List apply(List records) throws QException; 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 37053c96..500be556 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 @@ -137,7 +137,8 @@ public class UpdateAction { DMLAuditInput dmlAuditInput = new DMLAuditInput() .withTableActionInput(updateInput) - .withRecordList(updateOutput.getRecords()); + .withRecordList(updateOutput.getRecords()) + .withAuditContext(updateInput.getAuditContext()); oldRecordList.ifPresent(l -> dmlAuditInput.setOldRecordList(l)); new DMLAuditAction().execute(dmlAuditInput); } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/audits/DMLAuditInput.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/audits/DMLAuditInput.java index 095d1c5d..654726c5 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/audits/DMLAuditInput.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/model/actions/audits/DMLAuditInput.java @@ -38,6 +38,8 @@ public class DMLAuditInput extends AbstractActionInput implements Serializable private List oldRecordList; private AbstractTableActionInput tableActionInput; + private String auditContext = null; + /******************************************************************************* @@ -131,4 +133,35 @@ public class DMLAuditInput extends AbstractActionInput implements Serializable return (this); } + + + /******************************************************************************* + ** Getter for auditContext + *******************************************************************************/ + public String getAuditContext() + { + return (this.auditContext); + } + + + + /******************************************************************************* + ** Setter for auditContext + *******************************************************************************/ + public void setAuditContext(String auditContext) + { + this.auditContext = auditContext; + } + + + + /******************************************************************************* + ** Fluent setter for auditContext + *******************************************************************************/ + public DMLAuditInput withAuditContext(String auditContext) + { + this.auditContext = auditContext; + return (this); + } + } 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 ae8efad8..0554874b 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 @@ -46,6 +46,7 @@ public class UpdateInput extends AbstractTableActionInput private Boolean areAllValuesBeingUpdatedTheSame = null; private boolean omitDmlAudit = false; + private String auditContext = null; @@ -187,4 +188,35 @@ public class UpdateInput extends AbstractTableActionInput return (this); } + + + /******************************************************************************* + ** Getter for auditContext + *******************************************************************************/ + public String getAuditContext() + { + return (this.auditContext); + } + + + + /******************************************************************************* + ** Setter for auditContext + *******************************************************************************/ + public void setAuditContext(String auditContext) + { + this.auditContext = auditContext; + } + + + + /******************************************************************************* + ** Fluent setter for auditContext + *******************************************************************************/ + public UpdateInput withAuditContext(String auditContext) + { + this.auditContext = auditContext; + return (this); + } + }