diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java index 031ca851..27e04ff2 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java @@ -291,6 +291,7 @@ public class AuditAction extends AbstractQActionFunction dmlAuditInput.setRecordList(l)); new DMLAuditAction().execute(dmlAuditInput); diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java index e56da2b7..01939989 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java @@ -170,6 +170,7 @@ public class InsertAction extends AbstractQActionFunction auditSingleInputList = new ArrayList<>(); + private QBackendTransaction transaction; + /******************************************************************************* @@ -92,4 +95,42 @@ public class AuditInput extends AbstractActionInput implements Serializable return (this); } + + /******************************************************************************* + * Getter for transaction + * @see #withTransaction(QBackendTransaction) + *******************************************************************************/ + public QBackendTransaction getTransaction() + { + return (this.transaction); + } + + + + /******************************************************************************* + * Setter for transaction + * @see #withTransaction(QBackendTransaction) + *******************************************************************************/ + public void setTransaction(QBackendTransaction transaction) + { + this.transaction = transaction; + } + + + + /******************************************************************************* + * Fluent setter for transaction + * + * @param transaction + * transaction upon which the audits will be inserted. + * + * @return this + *******************************************************************************/ + public AuditInput withTransaction(QBackendTransaction transaction) + { + this.transaction = transaction; + return (this); + } + + } 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 654726c5..79be0213 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 @@ -24,6 +24,7 @@ package com.kingsrook.qqq.backend.core.model.actions.audits; import java.io.Serializable; import java.util.List; +import com.kingsrook.qqq.backend.core.actions.QBackendTransaction; import com.kingsrook.qqq.backend.core.model.actions.AbstractActionInput; import com.kingsrook.qqq.backend.core.model.actions.AbstractTableActionInput; import com.kingsrook.qqq.backend.core.model.data.QRecord; @@ -38,6 +39,8 @@ public class DMLAuditInput extends AbstractActionInput implements Serializable private List oldRecordList; private AbstractTableActionInput tableActionInput; + private QBackendTransaction transaction; + private String auditContext = null; @@ -164,4 +167,43 @@ public class DMLAuditInput extends AbstractActionInput implements Serializable return (this); } + + /******************************************************************************* + * Getter for transaction + * @see #withTransaction(QBackendTransaction) + *******************************************************************************/ + public QBackendTransaction getTransaction() + { + return (this.transaction); + } + + + + /******************************************************************************* + * Setter for transaction + * @see #withTransaction(QBackendTransaction) + *******************************************************************************/ + public void setTransaction(QBackendTransaction transaction) + { + this.transaction = transaction; + } + + + + /******************************************************************************* + * Fluent setter for transaction + * + * @param transaction + * transaction that will be used for inserting the audits, where (presumably) + * the DML against the record occurred as well + * + * @return this + *******************************************************************************/ + public DMLAuditInput withTransaction(QBackendTransaction transaction) + { + this.transaction = transaction; + return (this); + } + + }