mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-18 05:01:07 +00:00
CE-882 Add reversed join
This commit is contained in:
@ -55,6 +55,7 @@ public class SharingMetaDataProvider
|
|||||||
public static final String GROUP_ID_ALL_ACCESS_KEY_TYPE = "groupIdAllAccessKey";
|
public static final String GROUP_ID_ALL_ACCESS_KEY_TYPE = "groupIdAllAccessKey";
|
||||||
|
|
||||||
private static final String ASSET_JOIN_SHARED_ASSET = "assetJoinSharedAsset";
|
private static final String ASSET_JOIN_SHARED_ASSET = "assetJoinSharedAsset";
|
||||||
|
private static final String SHARED_ASSET_JOIN_ASSET = "sharedAssetJoinAsset";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -93,11 +94,11 @@ public class SharingMetaDataProvider
|
|||||||
.withLock(new RecordSecurityLock()
|
.withLock(new RecordSecurityLock()
|
||||||
.withSecurityKeyType(USER_ID_KEY_TYPE)
|
.withSecurityKeyType(USER_ID_KEY_TYPE)
|
||||||
.withFieldName("sharedAsset.userId")
|
.withFieldName("sharedAsset.userId")
|
||||||
.withJoinNameChain(List.of(ASSET_JOIN_SHARED_ASSET)))
|
.withJoinNameChain(List.of(SHARED_ASSET_JOIN_ASSET)))
|
||||||
.withLock(new RecordSecurityLock()
|
.withLock(new RecordSecurityLock()
|
||||||
.withSecurityKeyType(GROUP_ID_KEY_TYPE)
|
.withSecurityKeyType(GROUP_ID_KEY_TYPE)
|
||||||
.withFieldName("sharedAsset.groupId")
|
.withFieldName("sharedAsset.groupId")
|
||||||
.withJoinNameChain(List.of(ASSET_JOIN_SHARED_ASSET)))
|
.withJoinNameChain(List.of(SHARED_ASSET_JOIN_ASSET)))
|
||||||
));
|
));
|
||||||
QInstanceEnricher.setInferredFieldBackendNames(qInstance.getTable(Asset.TABLE_NAME));
|
QInstanceEnricher.setInferredFieldBackendNames(qInstance.getTable(Asset.TABLE_NAME));
|
||||||
|
|
||||||
@ -154,6 +155,14 @@ public class SharingMetaDataProvider
|
|||||||
.withType(JoinType.ONE_TO_MANY)
|
.withType(JoinType.ONE_TO_MANY)
|
||||||
.withJoinOn(new JoinOn("id", "assetId"))
|
.withJoinOn(new JoinOn("id", "assetId"))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
qInstance.addJoin(new QJoinMetaData()
|
||||||
|
.withName(SHARED_ASSET_JOIN_ASSET)
|
||||||
|
.withLeftTable(SharedAsset.TABLE_NAME)
|
||||||
|
.withRightTable(Asset.TABLE_NAME)
|
||||||
|
.withType(JoinType.MANY_TO_ONE)
|
||||||
|
.withJoinOn(new JoinOn("assetId", "id"))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user