diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/OrganizationServiceCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/OrganizationServiceCEImpl.java index 7101f880b6..e71b235538 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/OrganizationServiceCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/OrganizationServiceCEImpl.java @@ -29,6 +29,8 @@ import reactor.core.observability.micrometer.Micrometer; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import static com.appsmith.external.constants.spans.OrganizationSpan.FETCH_DEFAULT_ORGANIZATION_SPAN; @@ -116,6 +118,11 @@ public class OrganizationServiceCEImpl extends BaseService { Organization organization = tuple2.getT2(); OrganizationConfiguration oldConfig = tuple2.getT1(); + List> sideEffectsMonos = + calculateOrganizationConfigurationUpdateSideEffects(oldConfig, organizationConfiguration); + + Mono> allSideEffectsMono = + Flux.fromIterable(sideEffectsMonos).flatMap(x -> x).collectList(); AppsmithBeanUtils.copyNestedNonNullProperties(organizationConfiguration, oldConfig); organization.setOrganizationConfiguration(oldConfig); Mono updatedOrganizationMono = repository @@ -126,10 +133,16 @@ public class OrganizationServiceCEImpl extends BaseService evictOrganizationCache)) + .then(Mono.defer(() -> allSideEffectsMono)) .then(updatedOrganizationMono); }); } + protected List> calculateOrganizationConfigurationUpdateSideEffects( + OrganizationConfiguration oldConfig, OrganizationConfiguration organizationConfiguration) { + return new ArrayList<>(); + } + @Override public Mono findById(String organizationId, AclPermission permission) { return repository @@ -243,6 +256,7 @@ public class OrganizationServiceCEImpl extends BaseService