mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +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 insertInput = new InsertInput();
|
||||||
insertInput.setTableName("audit");
|
insertInput.setTableName("audit");
|
||||||
|
insertInput.setTransaction(input.getTransaction());
|
||||||
insertInput.setRecords(auditRecords);
|
insertInput.setRecords(auditRecords);
|
||||||
InsertOutput insertOutput = new InsertAction().execute(insertInput);
|
InsertOutput insertOutput = new InsertAction().execute(insertInput);
|
||||||
|
|
||||||
@ -318,6 +319,7 @@ public class AuditAction extends AbstractQActionFunction<AuditInput, AuditOutput
|
|||||||
{
|
{
|
||||||
insertInput = new InsertInput();
|
insertInput = new InsertInput();
|
||||||
insertInput.setTableName("auditDetail");
|
insertInput.setTableName("auditDetail");
|
||||||
|
insertInput.setTransaction(input.getTransaction());
|
||||||
insertInput.setRecords(auditDetailRecords);
|
insertInput.setRecords(auditDetailRecords);
|
||||||
new InsertAction().execute(insertInput);
|
new InsertAction().execute(insertInput);
|
||||||
}
|
}
|
||||||
|
@ -124,6 +124,7 @@ public class DMLAuditAction extends AbstractQActionFunction<DMLAuditInput, DMLAu
|
|||||||
String contextSuffix = getContentSuffix(input);
|
String contextSuffix = getContentSuffix(input);
|
||||||
|
|
||||||
AuditInput auditInput = new AuditInput();
|
AuditInput auditInput = new AuditInput();
|
||||||
|
auditInput.setTransaction(input.getTransaction());
|
||||||
if(auditLevel.equals(AuditLevel.RECORD) || (auditLevel.equals(AuditLevel.FIELD) && !dmlType.supportsFields))
|
if(auditLevel.equals(AuditLevel.RECORD) || (auditLevel.equals(AuditLevel.FIELD) && !dmlType.supportsFields))
|
||||||
{
|
{
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -246,6 +246,7 @@ public class DeleteAction
|
|||||||
{
|
{
|
||||||
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
||||||
.withTableActionInput(deleteInput)
|
.withTableActionInput(deleteInput)
|
||||||
|
.withTransaction(deleteInput.getTransaction())
|
||||||
.withAuditContext(deleteInput.getAuditContext());
|
.withAuditContext(deleteInput.getAuditContext());
|
||||||
oldRecordList.ifPresent(l -> dmlAuditInput.setRecordList(l));
|
oldRecordList.ifPresent(l -> dmlAuditInput.setRecordList(l));
|
||||||
new DMLAuditAction().execute(dmlAuditInput);
|
new DMLAuditAction().execute(dmlAuditInput);
|
||||||
|
@ -170,6 +170,7 @@ public class InsertAction extends AbstractQActionFunction<InsertInput, InsertOut
|
|||||||
{
|
{
|
||||||
new DMLAuditAction().execute(new DMLAuditInput()
|
new DMLAuditAction().execute(new DMLAuditInput()
|
||||||
.withTableActionInput(insertInput)
|
.withTableActionInput(insertInput)
|
||||||
|
.withTransaction(insertInput.getTransaction())
|
||||||
.withAuditContext(insertInput.getAuditContext())
|
.withAuditContext(insertInput.getAuditContext())
|
||||||
.withRecordList(insertOutput.getRecords()));
|
.withRecordList(insertOutput.getRecords()));
|
||||||
}
|
}
|
||||||
|
@ -190,6 +190,7 @@ public class UpdateAction
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
DMLAuditInput dmlAuditInput = new DMLAuditInput()
|
||||||
|
.withTransaction(updateInput.getTransaction())
|
||||||
.withTableActionInput(updateInput)
|
.withTableActionInput(updateInput)
|
||||||
.withRecordList(updateOutput.getRecords())
|
.withRecordList(updateOutput.getRecords())
|
||||||
.withAuditContext(updateInput.getAuditContext());
|
.withAuditContext(updateInput.getAuditContext());
|
||||||
|
@ -25,6 +25,7 @@ package com.kingsrook.qqq.backend.core.model.actions.audits;
|
|||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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.AbstractActionInput;
|
||||||
|
|
||||||
|
|
||||||
@ -36,6 +37,8 @@ public class AuditInput extends AbstractActionInput implements Serializable
|
|||||||
{
|
{
|
||||||
private List<AuditSingleInput> auditSingleInputList = new ArrayList<>();
|
private List<AuditSingleInput> auditSingleInputList = new ArrayList<>();
|
||||||
|
|
||||||
|
private QBackendTransaction transaction;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
@ -92,4 +95,42 @@ public class AuditInput extends AbstractActionInput implements Serializable
|
|||||||
return (this);
|
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.io.Serializable;
|
||||||
import java.util.List;
|
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.AbstractActionInput;
|
||||||
import com.kingsrook.qqq.backend.core.model.actions.AbstractTableActionInput;
|
import com.kingsrook.qqq.backend.core.model.actions.AbstractTableActionInput;
|
||||||
import com.kingsrook.qqq.backend.core.model.data.QRecord;
|
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 List<QRecord> oldRecordList;
|
||||||
private AbstractTableActionInput tableActionInput;
|
private AbstractTableActionInput tableActionInput;
|
||||||
|
|
||||||
|
private QBackendTransaction transaction;
|
||||||
|
|
||||||
private String auditContext = null;
|
private String auditContext = null;
|
||||||
|
|
||||||
|
|
||||||
@ -164,4 +167,43 @@ public class DMLAuditInput extends AbstractActionInput implements Serializable
|
|||||||
return (this);
|
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