From c64784646a3714f0135cf2d691023fc4d604e7f9 Mon Sep 17 00:00:00 2001 From: Anagh Hegde Date: Fri, 10 Jun 2022 18:39:00 +0530 Subject: [PATCH] Update the delete app flow for git connected apps (#14399) --- .../ce/ApplicationPageServiceCEImpl.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ApplicationPageServiceCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ApplicationPageServiceCEImpl.java index b00cfa833c..b72a794fc9 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ApplicationPageServiceCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ApplicationPageServiceCEImpl.java @@ -399,12 +399,8 @@ public class ApplicationPageServiceCEImpl implements ApplicationPageServiceCE { .flatMapMany(application -> { GitApplicationMetadata gitData = application.getGitApplicationMetadata(); if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId()) && !StringUtils.isEmpty(gitData.getRepoName())) { - String repoName = gitData.getRepoName(); - Path repoPath = Paths.get(application.getOrganizationId(), gitData.getDefaultApplicationId(), repoName); - // Delete git repo from local and delete the applications from DB - return gitFileUtils.deleteLocalRepo(repoPath) - .flatMapMany(isCleared -> applicationService - .findAllApplicationsByDefaultApplicationId(gitData.getDefaultApplicationId(), MANAGE_APPLICATIONS)); + return applicationService + .findAllApplicationsByDefaultApplicationId(gitData.getDefaultApplicationId(), MANAGE_APPLICATIONS); } return Flux.fromIterable(List.of(application)); }) @@ -412,7 +408,18 @@ public class ApplicationPageServiceCEImpl implements ApplicationPageServiceCE { log.debug("Archiving application with id: {}", application.getId()); return deleteApplicationByResource(application); }) - .then(applicationMono); + .then(applicationMono) + .flatMap(application ->{ + GitApplicationMetadata gitData = application.getGitApplicationMetadata(); + if (gitData != null && !StringUtils.isEmpty(gitData.getDefaultApplicationId()) && !StringUtils.isEmpty(gitData.getRepoName())) { + String repoName = gitData.getRepoName(); + Path repoPath = Paths.get(application.getOrganizationId(), gitData.getDefaultApplicationId(), repoName); + // Delete git repo from local + return gitFileUtils.deleteLocalRepo(repoPath) + .then(Mono.just(application)); + } + return Mono.just(application); + }); } public Mono deleteApplicationByResource(Application application) {