diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java index 2cc9776c4744..1f046c8ba290 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java @@ -201,6 +201,9 @@ public Mono getConsolidatedInfoForPageLoad( boolean isViewMode = ApplicationMode.PUBLISHED.equals(mode); /* Fetch default application id if not provided */ + if (isBlank(basePageId)) { + return Mono.when(fetches).thenReturn(consolidatedAPIResponseDTO); + } Mono branchedApplicationMonoCached; Mono baseApplicationIdMono = Mono.just(""); if (isViewMode) { @@ -215,36 +218,29 @@ public Mono getConsolidatedInfoForPageLoad( .tap(Micrometer.observation(observationRegistry)) .cache(); - Mono branchedPageMonoCached = Mono.empty(); - if (!isBlank(basePageId)) { - branchedPageMonoCached = newPageService - .findByBranchNameAndBasePageIdAndApplicationMode(branchName, basePageId, mode) - .cache(); - } + Mono branchedPageMonoCached = newPageService + .findByBranchNameAndBasePageIdAndApplicationMode(branchName, basePageId, mode) + .cache(); branchedApplicationMonoCached = baseApplicationIdMono.flatMap(cachedBaseApplicationId -> { if (!StringUtils.hasText(cachedBaseApplicationId)) { // Handle empty or null baseApplicationId - return newPageService - .findByBranchNameAndBasePageIdAndApplicationMode(branchName, basePageId, mode) - .flatMap(branchedPage -> - // Use the application ID to find the complete application details. - applicationService - .findByBranchedApplicationIdAndApplicationMode( - branchedPage.getApplicationId(), mode) - .flatMap(application -> { - if (isViewMode) { - // Update the cache with the new application’s base ID for future - // queries. - return cacheableRepositoryHelper - .fetchBaseApplicationId(basePageId, application.getBaseId()) - .thenReturn(application) - .name(getQualifiedSpanName( - APPLICATION_ID_UPDATE_REDIS_SPAN, mode)) - .tap(Micrometer.observation(observationRegistry)); - } - return Mono.just(application); - })); + return branchedPageMonoCached.flatMap(branchedPage -> + // Use the application ID to find the complete application details. + applicationService + .findByBranchedApplicationIdAndApplicationMode(branchedPage.getApplicationId(), mode) + .flatMap(application -> { + if (isViewMode) { + // Update the cache with the new application’s base ID for future + // queries. + return cacheableRepositoryHelper + .fetchBaseApplicationId(basePageId, application.getBaseId()) + .thenReturn(application) + .name(getQualifiedSpanName(APPLICATION_ID_UPDATE_REDIS_SPAN, mode)) + .tap(Micrometer.observation(observationRegistry)); + } + return Mono.just(application); + })); } else { // Handle non-empty baseApplicationId return applicationService.findByBaseIdBranchNameAndApplicationMode(