diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceCEImpl.java index 4af6b9d78a..20ad6b4b32 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceCEImpl.java @@ -13,6 +13,7 @@ import com.appsmith.server.dtos.WorkspacePluginStatus; import com.appsmith.server.exceptions.AppsmithError; import com.appsmith.server.exceptions.AppsmithException; import com.appsmith.server.helpers.LoadShifter; +import com.appsmith.server.plugins.solutions.PluginTransformationSolution; import com.appsmith.server.repositories.PluginRepository; import com.appsmith.server.services.AnalyticsService; import com.appsmith.server.services.BaseService; @@ -71,6 +72,8 @@ public class PluginServiceCEImpl extends BaseService>> formCache = new HashMap<>(); private final Map>> templateCache = new HashMap<>(); private final Map> labelCache = new HashMap<>(); @@ -104,7 +107,8 @@ public class PluginServiceCEImpl extends BaseService pluginTransformationSolution.transform(pluginId, input)); } @Override @@ -667,7 +672,17 @@ public class PluginServiceCEImpl extends BaseService { + if (Objects.nonNull(plugin.getActionUiConfig())) { + return pluginTransformationSolution + .transform(plugin.getId(), plugin.getActionUiConfig()) + .flatMap(transformedActionUiConfig -> { + plugin.setActionUiConfig(transformedActionUiConfig); + return Mono.just(plugin); + }); + } + return Mono.just(plugin); + }); }); } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceImpl.java index 505e7f4f16..85e2ff545b 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/base/PluginServiceImpl.java @@ -1,6 +1,7 @@ package com.appsmith.server.plugins.base; import com.appsmith.server.configurations.CloudServicesConfig; +import com.appsmith.server.plugins.solutions.PluginTransformationSolution; import com.appsmith.server.repositories.PluginRepository; import com.appsmith.server.services.AnalyticsService; import com.appsmith.server.services.ConfigService; @@ -27,7 +28,8 @@ public class PluginServiceImpl extends PluginServiceCEImpl implements PluginServ ChannelTopic topic, ObjectMapper objectMapper, CloudServicesConfig cloudServicesConfig, - ConfigService configService) { + ConfigService configService, + PluginTransformationSolution pluginTransformationSolution) { super( validator, @@ -39,6 +41,7 @@ public class PluginServiceImpl extends PluginServiceCEImpl implements PluginServ topic, objectMapper, cloudServicesConfig, - configService); + configService, + pluginTransformationSolution); } } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolution.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolution.java new file mode 100644 index 0000000000..6f7f3629d2 --- /dev/null +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolution.java @@ -0,0 +1,3 @@ +package com.appsmith.server.plugins.solutions; + +public interface PluginTransformationSolution extends PluginTransformationSolutionCE {} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCE.java new file mode 100644 index 0000000000..c0f4d47c60 --- /dev/null +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCE.java @@ -0,0 +1,10 @@ +package com.appsmith.server.plugins.solutions; + +import lombok.NonNull; +import reactor.core.publisher.Mono; + +import java.util.Map; + +public interface PluginTransformationSolutionCE { + Mono> transform(@NonNull String pluginId, @NonNull Map input); +} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCEImpl.java new file mode 100644 index 0000000000..ce8f56b90e --- /dev/null +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionCEImpl.java @@ -0,0 +1,15 @@ +package com.appsmith.server.plugins.solutions; + +import lombok.NonNull; +import org.springframework.stereotype.Component; +import reactor.core.publisher.Mono; + +import java.util.Map; + +@Component +public class PluginTransformationSolutionCEImpl implements PluginTransformationSolutionCE { + @Override + public Mono> transform(@NonNull String pluginId, @NonNull Map input) { + return Mono.just(input); + } +} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionImpl.java new file mode 100644 index 0000000000..10693054ca --- /dev/null +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/plugins/solutions/PluginTransformationSolutionImpl.java @@ -0,0 +1,7 @@ +package com.appsmith.server.plugins.solutions; + +import org.springframework.stereotype.Component; + +@Component +public class PluginTransformationSolutionImpl extends PluginTransformationSolutionCEImpl + implements PluginTransformationSolution {} diff --git a/app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/PluginServiceCEImplTest.java b/app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/PluginServiceCEImplTest.java index d7eb6147fa..2af47070ff 100644 --- a/app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/PluginServiceCEImplTest.java +++ b/app/server/appsmith-server/src/test/java/com/appsmith/server/services/ce/PluginServiceCEImplTest.java @@ -4,6 +4,7 @@ import com.appsmith.server.configurations.CloudServicesConfig; import com.appsmith.server.domains.Plugin; import com.appsmith.server.plugins.base.PluginServiceCE; import com.appsmith.server.plugins.base.PluginServiceCEImpl; +import com.appsmith.server.plugins.solutions.PluginTransformationSolution; import com.appsmith.server.repositories.PluginRepository; import com.appsmith.server.services.AnalyticsService; import com.appsmith.server.services.ConfigService; @@ -55,6 +56,9 @@ public class PluginServiceCEImplTest { @MockBean ChannelTopic topic; + @MockBean + PluginTransformationSolution pluginTransformationSolution; + ObjectMapper objectMapper; PluginServiceCE pluginService; @@ -74,7 +78,8 @@ public class PluginServiceCEImplTest { topic, objectMapper, cloudServicesConfig, - configService); + configService, + pluginTransformationSolution); } @Test