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..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 @@ -220,4 +220,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(); + } +}