mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
Pass transaction through from insert/update/delete actions through DMLAuditAction into AuditAction
This commit is contained in:
@ -291,6 +291,7 @@ public class AuditAction extends AbstractQActionFunction<AuditInput, AuditOutput
|
||||
/////////////////////////////
|
||||
InsertInput insertInput = new InsertInput();
|
||||
insertInput.setTableName("audit");
|
||||
insertInput.setTransaction(input.getTransaction());
|
||||
insertInput.setRecords(auditRecords);
|
||||
InsertOutput insertOutput = new InsertAction().execute(insertInput);
|
||||
|
||||
@ -318,6 +319,7 @@ public class AuditAction extends AbstractQActionFunction<AuditInput, AuditOutput
|
||||
{
|
||||
insertInput = new InsertInput();
|
||||
insertInput.setTableName("auditDetail");
|
||||
insertInput.setTransaction(input.getTransaction());
|
||||
insertInput.setRecords(auditDetailRecords);
|
||||
new InsertAction().execute(insertInput);
|
||||
}
|
||||
|
@ -124,6 +124,7 @@ public class DMLAuditAction extends AbstractQActionFunction<DMLAuditInput, DMLAu
|
||||
String contextSuffix = getContentSuffix(input);
|
||||
|
||||
AuditInput auditInput = new AuditInput();
|
||||
auditInput.setTransaction(input.getTransaction());
|
||||
if(auditLevel.equals(AuditLevel.RECORD) || (auditLevel.equals(AuditLevel.FIELD) && !dmlType.supportsFields))
|
||||
{
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -246,6 +246,7 @@ public class DeleteAction
|
||||
{
|
||||
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
||||
.withTableActionInput(deleteInput)
|
||||
.withTransaction(deleteInput.getTransaction())
|
||||
.withAuditContext(deleteInput.getAuditContext());
|
||||
oldRecordList.ifPresent(l -> dmlAuditInput.setRecordList(l));
|
||||
new DMLAuditAction().execute(dmlAuditInput);
|
||||
|
@ -170,6 +170,7 @@ public class InsertAction extends AbstractQActionFunction<InsertInput, InsertOut
|
||||
{
|
||||
new DMLAuditAction().execute(new DMLAuditInput()
|
||||
.withTableActionInput(insertInput)
|
||||
.withTransaction(insertInput.getTransaction())
|
||||
.withAuditContext(insertInput.getAuditContext())
|
||||
.withRecordList(insertOutput.getRecords()));
|
||||
}
|
||||
|
@ -190,6 +190,7 @@ public class UpdateAction
|
||||
else
|
||||
{
|
||||
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
||||
.withTransaction(updateInput.getTransaction())
|
||||
.withTableActionInput(updateInput)
|
||||
.withRecordList(updateOutput.getRecords())
|
||||
.withAuditContext(updateInput.getAuditContext());
|
||||
|
@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.model.actions.audits;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import com.kingsrook.qqq.backend.core.actions.QBackendTransaction;
|
||||
import com.kingsrook.qqq.backend.core.model.actions.AbstractActionInput;
|
||||
|
||||
|
||||
@ -36,6 +37,8 @@ public class AuditInput extends AbstractActionInput implements Serializable
|
||||
{
|
||||
private List<AuditSingleInput> 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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -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<QRecord> 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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user