diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepository.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepository.java index 6540583f87..990b02365c 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepository.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepository.java @@ -15,10 +15,10 @@ public interface CustomActionRepository extends AppsmithRepository { Flux findByPageId(String pageId, AclPermission aclPermission); - Flux findDistinctActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(Set names, - String pageId, - String httpMethod, - AclPermission aclPermission); + Flux findActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(Set names, + String pageId, + String httpMethod, + AclPermission aclPermission); Flux findAllActionsByNameAndPageIds(String name, List pageIds, AclPermission aclPermission, Sort sort); } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepositoryImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepositoryImpl.java index 29254a9b37..87894988e3 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepositoryImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/CustomActionRepositoryImpl.java @@ -4,13 +4,10 @@ import com.appsmith.external.models.QActionConfiguration; import com.appsmith.server.acl.AclPermission; import com.appsmith.server.domains.Action; import com.appsmith.server.domains.QAction; -import com.appsmith.server.domains.User; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.ReactiveMongoOperations; import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.security.core.context.ReactiveSecurityContextHolder; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -41,10 +38,10 @@ public class CustomActionRepositoryImpl extends BaseAppsmithRepositoryImpl findDistinctActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(Set names, - String pageId, - String httpMethod, - AclPermission aclPermission) { + public Flux findActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(Set names, + String pageId, + String httpMethod, + AclPermission aclPermission) { Criteria namesCriteria = where(fieldName(QAction.action.name)).in(names); Criteria pageCriteria = where(fieldName(QAction.action.pageId)).is(pageId); String httpMethodQueryKey = fieldName(QAction.action.actionConfiguration) @@ -52,19 +49,8 @@ public class CustomActionRepositoryImpl extends BaseAppsmithRepositoryImpl criterias = List.of(namesCriteria, pageCriteria, httpMethodCriteria); - return ReactiveSecurityContextHolder.getContext() - .map(ctx -> ctx.getAuthentication()) - .flatMapMany(auth -> { - User user = (User) auth.getPrincipal(); - Query query = new Query(); - criterias.stream() - .forEach(criteria -> query.addCriteria(criteria)); - query.addCriteria(new Criteria().andOperator(notDeleted(), userAcl(user, aclPermission))); - return mongoOperations.findDistinct(query, fieldName(QAction.action.name), - Action.class, Action.class) - .map(action -> setUserPermissionsInObject(action, user)); - }); + return queryAll(criterias, aclPermission); } @Override diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java index efea1a21da..f5215f2763 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java @@ -463,7 +463,7 @@ public class ActionServiceImpl extends BaseService findDistinctRestApiActionsByNameInAndPageIdAndHttpMethod(Set names, String pageId, String httpMethod) { - return repository.findDistinctActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(names, pageId, + return repository.findActionsByNameInAndPageIdAndActionConfiguration_HttpMethod(names, pageId, httpMethod, READ_ACTIONS); }