Class RecordReferenceSecurityHelper
java.lang.Object
com.kingsrook.qqq.backend.core.actions.collaboration.RecordReferenceSecurityHelper
Core enforcement shared by all record-reference table actions; no session or all-access bypass.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancanReadReference(QTableMetaData table, QRecord record, QBackendTransaction transaction) static voidcopyMirroredLocks(QTableMetaData parentTable, QRecord parent, QTableMetaData extension, QRecord row) static voidRegister the listener once, during enrichment or qbit installation.static QQueryFiltersecureFilter(QTableMetaData table, QQueryFilter filter, QBackendTransaction transaction) static voidvalidateWrites(QTableMetaData table, List<QRecord> records, RecordChangeType type, QBackendTransaction transaction) Validate stored and proposed parents, so moving a row cannot evade either policy.static QRecordvisibleParent(String tableName, Serializable primaryKey, QBackendTransaction transaction)
-
Field Details
-
ADMIN_PERMISSION
- See Also:
-
-
Constructor Details
-
RecordReferenceSecurityHelper
public RecordReferenceSecurityHelper()
-
-
Method Details
-
register
Register the listener once, during enrichment or qbit installation. -
secureFilter
public static QQueryFilter secureFilter(QTableMetaData table, QQueryFilter filter, QBackendTransaction transaction) throws QException - Throws:
QException
-
visibleParent
public static QRecord visibleParent(String tableName, Serializable primaryKey, QBackendTransaction transaction) throws QException - Throws:
QException
-
canReadReference
public static boolean canReadReference(QTableMetaData table, QRecord record, QBackendTransaction transaction) throws QException - Throws:
QException
-
validateWrites
public static void validateWrites(QTableMetaData table, List<QRecord> records, RecordChangeType type, QBackendTransaction transaction) throws QException Validate stored and proposed parents, so moving a row cannot evade either policy. Always replace client-supplied mirror values.- Throws:
QException
-
copyMirroredLocks
public static void copyMirroredLocks(QTableMetaData parentTable, QRecord parent, QTableMetaData extension, QRecord row) throws QException - Throws:
QException
-