CE-882 Add reversed join

This commit is contained in:
2024-04-26 14:58:23 -05:00
parent 52c1018d5e
commit c72e6ad23d

View File

@ -55,6 +55,7 @@ public class SharingMetaDataProvider
public static final String GROUP_ID_ALL_ACCESS_KEY_TYPE = "groupIdAllAccessKey";
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()
.withSecurityKeyType(USER_ID_KEY_TYPE)
.withFieldName("sharedAsset.userId")
.withJoinNameChain(List.of(ASSET_JOIN_SHARED_ASSET)))
.withJoinNameChain(List.of(SHARED_ASSET_JOIN_ASSET)))
.withLock(new RecordSecurityLock()
.withSecurityKeyType(GROUP_ID_KEY_TYPE)
.withFieldName("sharedAsset.groupId")
.withJoinNameChain(List.of(ASSET_JOIN_SHARED_ASSET)))
.withJoinNameChain(List.of(SHARED_ASSET_JOIN_ASSET)))
));
QInstanceEnricher.setInferredFieldBackendNames(qInstance.getTable(Asset.TABLE_NAME));
@ -154,6 +155,14 @@ public class SharingMetaDataProvider
.withType(JoinType.ONE_TO_MANY)
.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"))
);
}
}