From 2524f7ccf007549e70eb0e2fd2265b039a46a7b3 Mon Sep 17 00:00:00 2001 From: Abdul Qadir Date: Wed, 28 Feb 2024 14:30:07 +0500 Subject: [PATCH 1/2] Add migration to fix existing application public view bug --- .../domain/application/model/Application.java | 11 +++++-- .../service/ApplicationService.java | 8 +++++ .../runner/migrations/DatabaseChangelog.java | 6 ++++ .../migrations/job/AddPtmFieldsJob.java | 6 ++++ .../migrations/job/AddPtmFieldsJobImpl.java | 29 +++++++++++++++++++ 5 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJob.java create mode 100644 server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJobImpl.java diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java index 89c76c41b..332464894 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java @@ -12,6 +12,7 @@ import java.util.Set; import java.util.function.Supplier; +import lombok.Setter; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.BooleanUtils; import org.lowcoder.domain.query.model.ApplicationQuery; @@ -38,10 +39,13 @@ public class Application extends HasIdAndAuditing { private final Map publishedApplicationDSL; - private final Boolean publicToAll; - private final Boolean publicToMarketplace; + @Setter + private Boolean publicToAll; + @Setter + private Boolean publicToMarketplace; - private final Boolean agencyProfile; + @Setter + private Boolean agencyProfile; private Map editingApplicationDSL; @@ -161,4 +165,5 @@ public Map getEditingApplicationDSL() { public Object getLiveContainerSize() { return liveContainerSize.get(); } + } diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java index 917d0762e..06ab6287e 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java @@ -66,6 +66,10 @@ public Mono updateById(String applicationId, Application application) { return Mono.error(new BizException(BizError.INVALID_PARAMETER, "INVALID_PARAMETER", FieldName.ID)); } + log.info("inside mongoUpsertHelper "); + + log.info("application: " + application); + return mongoUpsertHelper.updateById(application, applicationId); } @@ -220,4 +224,8 @@ public Mono> getPublicApplicationIds(Collection applicationI } + + public Flux findAll() { + return repository.findAll(); + } } diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java index 90d62e98b..6e33d075b 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java @@ -18,6 +18,7 @@ import org.lowcoder.infra.config.model.ServerConfig; import org.lowcoder.infra.eventlog.EventLog; import org.lowcoder.infra.serverlog.ServerLog; +import org.lowcoder.runner.migrations.job.AddPtmFieldsJob; import org.lowcoder.runner.migrations.job.CompleteAuthType; import org.lowcoder.runner.migrations.job.MigrateAuthConfigJob; import org.springframework.data.domain.Sort; @@ -182,6 +183,11 @@ public void addOrgIdIndexOnServerLog(MongockTemplate mongoTemplate) { ); } + @ChangeSet(order = "020", id = "add-ptm-fields-to-applications", author = "") + public void addPtmFieldsToApplicatgions(AddPtmFieldsJob addPtmFieldsJob) { + addPtmFieldsJob.migrateApplicationsToInitPtmFields(); + } + public static Index makeIndex(String... fields) { if (fields.length == 1) { return new Index(fields[0], Sort.Direction.ASC).named(fields[0]); diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJob.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJob.java new file mode 100644 index 000000000..44b492f75 --- /dev/null +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJob.java @@ -0,0 +1,6 @@ +package org.lowcoder.runner.migrations.job; + +public interface AddPtmFieldsJob { + + void migrateApplicationsToInitPtmFields(); +} diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJobImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJobImpl.java new file mode 100644 index 000000000..b4701d710 --- /dev/null +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/job/AddPtmFieldsJobImpl.java @@ -0,0 +1,29 @@ +package org.lowcoder.runner.migrations.job; + +import org.lowcoder.domain.application.service.ApplicationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class AddPtmFieldsJobImpl implements AddPtmFieldsJob { + + @Autowired + private ApplicationService applicationService; + + @Override + public void migrateApplicationsToInitPtmFields() { + applicationService.findAll() + .doOnNext(application -> { + if(!application.isPublicToAll()) { + application.setPublicToAll(Boolean.FALSE); + } + if(!application.isPublicToMarketplace()) { + application.setPublicToMarketplace(Boolean.FALSE); + } + if(!application.agencyProfile()) { + application.setAgencyProfile(Boolean.FALSE); + } + }).flatMap(application -> applicationService.updateById(application.getId(), application)) + .blockLast(); + } +} From a40d23cda0e607a818fee5acaa6b7b9665b910b4 Mon Sep 17 00:00:00 2001 From: Abdul Qadir Date: Wed, 28 Feb 2024 14:40:56 +0500 Subject: [PATCH 2/2] Remove unnecessary logs --- .../domain/application/service/ApplicationService.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java index 06ab6287e..dfc3f2a8d 100644 --- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java +++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java @@ -66,10 +66,6 @@ public Mono updateById(String applicationId, Application application) { return Mono.error(new BizException(BizError.INVALID_PARAMETER, "INVALID_PARAMETER", FieldName.ID)); } - log.info("inside mongoUpsertHelper "); - - log.info("application: " + application); - return mongoUpsertHelper.updateById(application, applicationId); }