diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomActionCollectionRepositoryCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomActionCollectionRepositoryCEImpl.java index 13c40b4c45..6be508dcbd 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomActionCollectionRepositoryCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomActionCollectionRepositoryCEImpl.java @@ -61,10 +61,7 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito return queryAll(List.of(applicationCriteria), aclPermission, sort); } - @Override - public Flux findByApplicationIdAndViewMode( - String applicationId, boolean viewMode, AclPermission aclPermission) { - + protected List getCriteriaForFindByApplicationIdAndViewMode(String applicationId, boolean viewMode) { List criteria = new ArrayList<>(); Criteria applicationCriterion = where(fieldName(QActionCollection.actionCollection.applicationId)) @@ -79,18 +76,20 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito .is(null); criteria.add(deletedCriterion); } + return criteria; + } + + @Override + public Flux findByApplicationIdAndViewMode( + String applicationId, boolean viewMode, AclPermission aclPermission) { + + List criteria = this.getCriteriaForFindByApplicationIdAndViewMode(applicationId, viewMode); return queryAll(criteria, aclPermission); } - @Override - public Flux findAllActionCollectionsByNameDefaultPageIdsViewModeAndBranch( - String name, - List pageIds, - boolean viewMode, - String branchName, - AclPermission aclPermission, - Sort sort) { + protected List getCriteriaForFindAllActionCollectionsByNameDefaultPageIdsViewModeAndBranch( + String branchName, boolean viewMode, String name, List pageIds) { /** * TODO : This function is called by get(params) to get all actions by params and hence * only covers criteria of few fields like page id, name, etc. Make this generic to cover @@ -150,6 +149,19 @@ public class CustomActionCollectionRepositoryCEImpl extends BaseAppsmithReposito .is(null); criteriaList.add(deletedCriteria); } + return criteriaList; + } + + @Override + public Flux findAllActionCollectionsByNameDefaultPageIdsViewModeAndBranch( + String name, + List pageIds, + boolean viewMode, + String branchName, + AclPermission aclPermission, + Sort sort) { + List criteriaList = this.getCriteriaForFindAllActionCollectionsByNameDefaultPageIdsViewModeAndBranch( + branchName, viewMode, name, pageIds); return queryAll(criteriaList, aclPermission, sort); } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomNewActionRepositoryCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomNewActionRepositoryCEImpl.java index ad9fba1887..edcdbdcb77 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomNewActionRepositoryCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ce/CustomNewActionRepositoryCEImpl.java @@ -68,16 +68,14 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Flux findByApplicationId(String applicationId, AclPermission aclPermission) { - Criteria applicationIdCriteria = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationIdCriteria = this.getCriterionForFindByApplicationId(applicationId); return queryAll(List.of(applicationIdCriteria), aclPermission); } @Override public Flux findByApplicationId( String applicationId, Optional aclPermission, Optional sort) { - Criteria applicationIdCriteria = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationIdCriteria = this.getCriterionForFindByApplicationId(applicationId); return queryAll(List.of(applicationIdCriteria), aclPermission, sort); } @@ -195,6 +193,14 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Flux findAllActionsByNameAndPageIdsAndViewMode( String name, List pageIds, Boolean viewMode, AclPermission aclPermission, Sort sort) { + List criteriaList = + this.getCriteriaForFindAllActionsByNameAndPageIdsAndViewMode(name, pageIds, viewMode); + + return queryAll(criteriaList, aclPermission, sort); + } + + protected List getCriteriaForFindAllActionsByNameAndPageIdsAndViewMode( + String name, List pageIds, Boolean viewMode) { /** * TODO : This function is called by get(params) to get all actions by params and hence * only covers criteria of few fields like page id, name, etc. Make this generic to cover @@ -243,8 +249,7 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< .is(null); criteriaList.add(deletedCriteria); } - - return queryAll(criteriaList, aclPermission, sort); + return criteriaList; } @Override @@ -339,20 +344,30 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Flux findByApplicationId(String applicationId, AclPermission aclPermission, Sort sort) { - Criteria applicationCriteria = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationCriteria = this.getCriterionForFindByApplicationId(applicationId); return queryAll(List.of(applicationCriteria), aclPermission, sort); } + protected Criteria getCriterionForFindByApplicationId(String applicationId) { + Criteria applicationCriteria = + where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + return applicationCriteria; + } + @Override public Flux findByApplicationIdAndViewMode( String applicationId, Boolean viewMode, AclPermission aclPermission) { + List criteria = this.getCriteriaForFindByApplicationIdAndViewMode(applicationId, viewMode); + + return queryAll(criteria, aclPermission); + } + + protected List getCriteriaForFindByApplicationIdAndViewMode(String applicationId, Boolean viewMode) { List criteria = new ArrayList<>(); - Criteria applicationCriterion = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationCriterion = this.getCriterionForFindByApplicationId(applicationId); criteria.add(applicationCriterion); if (Boolean.FALSE.equals(viewMode)) { @@ -363,8 +378,7 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< .is(null); criteria.add(deletedCriterion); } - - return queryAll(criteria, aclPermission); + return criteria; } @Override @@ -434,10 +448,17 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Flux findNonJsActionsByApplicationIdAndViewMode( String applicationId, Boolean viewMode, AclPermission aclPermission) { + List criteria = + this.getCriteriaForFindNonJsActionsByApplicationIdAndViewMode(applicationId, viewMode); + + return queryAll(criteria, aclPermission); + } + + protected List getCriteriaForFindNonJsActionsByApplicationIdAndViewMode( + String applicationId, Boolean viewMode) { List criteria = new ArrayList<>(); - Criteria applicationCriterion = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationCriterion = this.getCriterionForFindByApplicationId(applicationId); criteria.add(applicationCriterion); Criteria nonJsTypeCriteria = @@ -452,13 +473,20 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< .is(null); criteria.add(deletedCriterion); } - - return queryAll(criteria, aclPermission); + return criteria; } @Override public Flux findAllNonJsActionsByNameAndPageIdsAndViewMode( String name, List pageIds, Boolean viewMode, AclPermission aclPermission, Sort sort) { + List criteriaList = + this.getCriteriaForFindAllNonJsActionsByNameAndPageIdsAndViewMode(name, pageIds, viewMode); + + return queryAll(criteriaList, aclPermission, sort); + } + + protected List getCriteriaForFindAllNonJsActionsByNameAndPageIdsAndViewMode( + String name, List pageIds, Boolean viewMode) { List criteriaList = new ArrayList<>(); Criteria nonJsTypeCriteria = @@ -507,8 +535,7 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< .is(null); criteriaList.add(deletedCriteria); } - - return queryAll(criteriaList, aclPermission, sort); + return criteriaList; } /** @@ -578,8 +605,7 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Mono> publishActions(String applicationId, AclPermission permission) { - Criteria applicationIdCriteria = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationIdCriteria = this.getCriterionForFindByApplicationId(applicationId); Mono> permissionGroupsMono = getCurrentUserPermissionGroupsIfRequired(Optional.ofNullable(permission)); @@ -615,8 +641,7 @@ public class CustomNewActionRepositoryCEImpl extends BaseAppsmithRepositoryImpl< @Override public Mono archiveDeletedUnpublishedActions(String applicationId, AclPermission permission) { - Criteria applicationIdCriteria = - where(fieldName(QNewAction.newAction.applicationId)).is(applicationId); + Criteria applicationIdCriteria = this.getCriterionForFindByApplicationId(applicationId); String unpublishedDeletedAtFieldName = String.format( "%s.%s", fieldName(QNewAction.newAction.unpublishedAction),