From ff6794e931c8e4e6a9ae1fd99e4b9439f94bb4ea Mon Sep 17 00:00:00 2001 From: Arpit Mohan Date: Tue, 31 Dec 2019 13:25:07 +0530 Subject: [PATCH] Fixing bug where we were returning all the organizations in the db instead of just the ones that belong to the user. --- .../services/OrganizationServiceImpl.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/OrganizationServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/OrganizationServiceImpl.java index b0d384cc19..a0528ee130 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/OrganizationServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/OrganizationServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.stereotype.Service; +import org.springframework.util.MultiValueMap; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.core.scheduler.Scheduler; @@ -22,6 +23,7 @@ import reactor.core.scheduler.Scheduler; import javax.validation.Validator; import java.util.ArrayList; import java.util.List; +import java.util.Set; @Slf4j @Service @@ -31,6 +33,7 @@ public class OrganizationServiceImpl extends BaseService get(MultiValueMap params) { + return sessionUserService.getCurrentUser() + .flatMapMany(user -> { + Set organizationIds = user.getOrganizationIds(); + if (organizationIds == null || organizationIds.isEmpty()) { + log.error("No organization set for user: {}. Returning empty list of organizations", user.getEmail()); + return Flux.empty(); + } + return repository.findAllById(organizationIds); + }); } @Override