fix: Do not return composed action collections after refactor (#35350)
This commit is contained in:
parent
e168219750
commit
d06477afaf
|
|
@ -40,7 +40,8 @@ public interface ActionCollectionServiceCE extends CrudService<ActionCollection,
|
|||
Mono<ActionCollectionDTO> splitValidActionsByViewMode(
|
||||
ActionCollectionDTO actionCollectionDTO, List<ActionDTO> actionsList, Boolean viewMode);
|
||||
|
||||
Flux<ActionCollectionDTO> getActionCollectionsByViewMode(MultiValueMap<String, String> params, Boolean viewMode);
|
||||
Flux<ActionCollectionDTO> getNonComposedActionCollectionsByViewMode(
|
||||
MultiValueMap<String, String> params, Boolean viewMode);
|
||||
|
||||
Mono<ActionCollectionDTO> update(String id, ActionCollectionDTO actionCollectionDTO);
|
||||
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
@Override
|
||||
public Flux<ActionCollectionDTO> getPopulatedActionCollectionsByViewMode(
|
||||
MultiValueMap<String, String> params, Boolean viewMode) {
|
||||
return this.getActionCollectionsByViewMode(params, viewMode)
|
||||
return this.getNonComposedActionCollectionsByViewMode(params, viewMode)
|
||||
.flatMap(actionCollectionDTO -> this.populateActionCollectionByViewMode(actionCollectionDTO, viewMode));
|
||||
}
|
||||
|
||||
|
|
@ -187,7 +187,7 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
return applicationService
|
||||
.findBranchedApplicationId(branchName, applicationId, applicationPermission.getReadPermission())
|
||||
.flatMapMany(branchedApplicationId -> repository
|
||||
.findByApplicationIdAndViewMode(
|
||||
.findNonComposedByApplicationIdAndViewMode(
|
||||
branchedApplicationId, true, actionPermission.getExecutePermission())
|
||||
.flatMap(this::generateActionCollectionViewDTO));
|
||||
}
|
||||
|
|
@ -195,7 +195,8 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
@Override
|
||||
public Flux<ActionCollectionViewDTO> getActionCollectionsForViewMode(String branchedApplicationId) {
|
||||
return repository
|
||||
.findByApplicationIdAndViewMode(branchedApplicationId, true, actionPermission.getExecutePermission())
|
||||
.findNonComposedByApplicationIdAndViewMode(
|
||||
branchedApplicationId, true, actionPermission.getExecutePermission())
|
||||
.flatMap(this::generateActionCollectionViewDTO);
|
||||
}
|
||||
|
||||
|
|
@ -235,16 +236,16 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
}
|
||||
|
||||
@Override
|
||||
public Flux<ActionCollectionDTO> getActionCollectionsByViewMode(
|
||||
public Flux<ActionCollectionDTO> getNonComposedActionCollectionsByViewMode(
|
||||
MultiValueMap<String, String> params, Boolean viewMode) {
|
||||
if (params == null || viewMode == null) {
|
||||
return Flux.empty();
|
||||
}
|
||||
return getActionCollectionsFromRepoByViewMode(params, viewMode)
|
||||
return getNonComposedActionCollectionsFromRepoByViewMode(params, viewMode)
|
||||
.flatMap(actionCollection -> generateActionCollectionByViewMode(actionCollection, viewMode));
|
||||
}
|
||||
|
||||
protected Flux<ActionCollection> getActionCollectionsFromRepoByViewMode(
|
||||
protected Flux<ActionCollection> getNonComposedActionCollectionsFromRepoByViewMode(
|
||||
MultiValueMap<String, String> params, Boolean viewMode) {
|
||||
if (params.getFirst(FieldName.APPLICATION_ID) != null) {
|
||||
// Fetch unpublished pages because GET actions is only called during edit mode. For view mode, different
|
||||
|
|
@ -254,7 +255,7 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
params.getFirst(FieldName.BRANCH_NAME),
|
||||
params.getFirst(FieldName.APPLICATION_ID),
|
||||
applicationPermission.getReadPermission())
|
||||
.flatMapMany(childApplicationId -> repository.findByApplicationIdAndViewMode(
|
||||
.flatMapMany(childApplicationId -> repository.findNonComposedByApplicationIdAndViewMode(
|
||||
childApplicationId, viewMode, actionPermission.getReadPermission()));
|
||||
}
|
||||
String pageId = null;
|
||||
|
|
@ -262,7 +263,7 @@ public class ActionCollectionServiceCEImpl extends BaseService<ActionCollectionR
|
|||
if (params.getFirst(FieldName.PAGE_ID) != null) {
|
||||
pageId = params.getFirst(FieldName.PAGE_ID);
|
||||
}
|
||||
return repository.findByPageIdAndViewMode(pageId, viewMode, actionPermission.getReadPermission());
|
||||
return repository.findAllNonComposedByPageIdAndViewMode(pageId, viewMode, actionPermission.getReadPermission());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public interface CustomActionCollectionRepositoryCE extends AppsmithRepository<A
|
|||
Flux<ActionCollection> findByApplicationId(
|
||||
String applicationId, Optional<AclPermission> aclPermission, Optional<Sort> sort);
|
||||
|
||||
Flux<ActionCollection> findByApplicationIdAndViewMode(
|
||||
Flux<ActionCollection> findNonComposedByApplicationIdAndViewMode(
|
||||
String applicationId, boolean viewMode, AclPermission aclPermission);
|
||||
|
||||
Flux<ActionCollection> findByPageId(String pageId, AclPermission permission);
|
||||
|
|
@ -39,4 +39,7 @@ public interface CustomActionCollectionRepositoryCE extends AppsmithRepository<A
|
|||
String contextId, CreatorContextType contextType, AclPermission permission);
|
||||
|
||||
Flux<ActionCollection> findByPageIdAndViewMode(String pageId, boolean viewMode, AclPermission permission);
|
||||
|
||||
Flux<ActionCollection> findAllNonComposedByPageIdAndViewMode(
|
||||
String pageId, boolean viewMode, AclPermission permission);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito
|
|||
}
|
||||
|
||||
@Override
|
||||
public Flux<ActionCollection> findByApplicationIdAndViewMode(
|
||||
public Flux<ActionCollection> findNonComposedByApplicationIdAndViewMode(
|
||||
String applicationId, boolean viewMode, AclPermission aclPermission) {
|
||||
BridgeQuery<ActionCollection> bridgeQuery =
|
||||
getBridgeQueryForFindByApplicationIdAndViewMode(applicationId, viewMode);
|
||||
|
|
@ -138,6 +138,13 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito
|
|||
|
||||
@Override
|
||||
public Flux<ActionCollection> findByPageIdAndViewMode(String pageId, boolean viewMode, AclPermission permission) {
|
||||
final BridgeQuery<ActionCollection> query = getActionCollectionsByPageIdAndViewModeQuery(pageId, viewMode);
|
||||
|
||||
return queryBuilder().criteria(query).permission(permission).all();
|
||||
}
|
||||
|
||||
protected BridgeQuery<ActionCollection> getActionCollectionsByPageIdAndViewModeQuery(
|
||||
String pageId, boolean viewMode) {
|
||||
final BridgeQuery<ActionCollection> query = Bridge.query();
|
||||
|
||||
if (Boolean.TRUE.equals(viewMode)) {
|
||||
|
|
@ -153,7 +160,12 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito
|
|||
// would exist. To handle this, only fetch non-deleted actions
|
||||
query.isNull(ActionCollection.Fields.unpublishedCollection_deletedAt);
|
||||
}
|
||||
return query;
|
||||
}
|
||||
|
||||
return queryBuilder().criteria(query).permission(permission).all();
|
||||
@Override
|
||||
public Flux<ActionCollection> findAllNonComposedByPageIdAndViewMode(
|
||||
String pageId, boolean viewMode, AclPermission permission) {
|
||||
return this.findByPageIdAndViewMode(pageId, viewMode, permission);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -281,7 +281,8 @@ public class RefactoringServiceTest {
|
|||
mockActionCollectionDTO.setName("testCollection");
|
||||
mockActionCollectionDTO.setActions(List.of(firstAction, secondAction));
|
||||
|
||||
Mockito.when(actionCollectionService.getActionCollectionsByViewMode(Mockito.any(), Mockito.anyBoolean()))
|
||||
Mockito.when(actionCollectionService.getNonComposedActionCollectionsByViewMode(
|
||||
Mockito.any(), Mockito.anyBoolean()))
|
||||
.thenReturn(Flux.just(mockActionCollectionDTO));
|
||||
|
||||
Mono<Boolean> nameAllowedMono = refactoringService.isNameAllowed(
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user