diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/MarketplaceController.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/MarketplaceController.java index 02621536ea..ba2dd13d62 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/MarketplaceController.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/controllers/MarketplaceController.java @@ -11,6 +11,7 @@ import com.appsmith.external.models.Statistics; import com.appsmith.server.constants.Url; import com.appsmith.server.domains.Action; import com.appsmith.server.domains.Datasource; +import com.appsmith.server.dtos.ProviderPaginatedDTO; import com.appsmith.server.dtos.ResponseDTO; import com.appsmith.server.dtos.SearchResponseDTO; import com.appsmith.server.services.MarketplaceService; @@ -127,7 +128,7 @@ public class MarketplaceController { } @GetMapping("/providers") - public Mono>> getAllProvidersFromMarketplace(@RequestParam MultiValueMap params) { + public Mono> getAllProvidersFromMarketplace(@RequestParam MultiValueMap params) { log.debug("Going to get all providers from Marketplace"); return marketplaceService.getProviders(params) .map(resources -> new ResponseDTO<>(HttpStatus.OK.value(), resources, null)); diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/ProviderPaginatedDTO.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/ProviderPaginatedDTO.java new file mode 100644 index 0000000000..cd1310ee6f --- /dev/null +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/dtos/ProviderPaginatedDTO.java @@ -0,0 +1,14 @@ +package com.appsmith.server.dtos; + +import com.appsmith.external.models.Provider; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class ProviderPaginatedDTO { + List providers; + Long total; +} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java index e173d3fdfd..3a0c067703 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceService.java @@ -1,14 +1,14 @@ package com.appsmith.server.services; import com.appsmith.external.models.ApiTemplate; -import com.appsmith.external.models.Provider; +import com.appsmith.server.dtos.ProviderPaginatedDTO; import org.springframework.util.MultiValueMap; import reactor.core.publisher.Mono; import java.util.List; public interface MarketplaceService { - Mono> getProviders(MultiValueMap params); + Mono getProviders(MultiValueMap params); Mono> getTemplates(MultiValueMap params); Mono> getCategories(); Mono subscribeAndUpdateStatisticsOfProvider(String providerId); diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceServiceImpl.java index 283003aae0..9b9f63d80d 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/MarketplaceServiceImpl.java @@ -1,8 +1,8 @@ package com.appsmith.server.services; import com.appsmith.external.models.ApiTemplate; -import com.appsmith.external.models.Provider; import com.appsmith.server.configurations.MarketplaceConfig; +import com.appsmith.server.dtos.ProviderPaginatedDTO; import com.appsmith.server.exceptions.AppsmithError; import com.appsmith.server.exceptions.AppsmithException; import com.fasterxml.jackson.core.JsonProcessingException; @@ -58,7 +58,7 @@ public class MarketplaceServiceImpl implements MarketplaceService { } @Override - public Mono> getProviders(MultiValueMap params) { + public Mono getProviders(MultiValueMap params) { URI uri = buildFullURI(params, PROVIDER_PATH); return webClient @@ -67,13 +67,13 @@ public class MarketplaceServiceImpl implements MarketplaceService { .retrieve() .bodyToMono(String.class) .flatMap(stringBody -> { - List providerList = null; + ProviderPaginatedDTO providersPaginated = null; try { - providerList = objectMapper.readValue(stringBody, ArrayList.class); + providersPaginated = objectMapper.readValue(stringBody, ProviderPaginatedDTO.class); } catch (JsonProcessingException e) { return Mono.error(new AppsmithException(AppsmithError.JSON_PROCESSING_ERROR, e)); } - return Mono.just(providerList); + return Mono.just(providersPaginated); }) .timeout(Duration.ofMillis(timeoutInMillis)) .doOnError(error -> Mono.error(new AppsmithException(AppsmithError.MARKETPLACE_TIMEOUT)));