Skip to content

Commit 2dea08b

Browse files
aq-ikhwa-techludomikula
authored andcommitted
Add migration to fix existing application public view bug
1 parent eee2a41 commit 2dea08b

File tree

5 files changed

+57
-3
lines changed

5 files changed

+57
-3
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.Set;
1313
import java.util.function.Supplier;
1414

15+
import lombok.Setter;
1516
import org.apache.commons.collections4.MapUtils;
1617
import org.apache.commons.lang3.BooleanUtils;
1718
import org.lowcoder.domain.query.model.ApplicationQuery;
@@ -38,10 +39,13 @@ public class Application extends HasIdAndAuditing {
3839

3940
private final Map<String, Object> publishedApplicationDSL;
4041

41-
private final Boolean publicToAll;
42-
private final Boolean publicToMarketplace;
42+
@Setter
43+
private Boolean publicToAll;
44+
@Setter
45+
private Boolean publicToMarketplace;
4346

44-
private final Boolean agencyProfile;
47+
@Setter
48+
private Boolean agencyProfile;
4549

4650
private Map<String, Object> editingApplicationDSL;
4751

@@ -161,4 +165,5 @@ public Map<String, Object> getEditingApplicationDSL() {
161165
public Object getLiveContainerSize() {
162166
return liveContainerSize.get();
163167
}
168+
164169
}

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/ApplicationService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ public Mono<Boolean> updateById(String applicationId, Application application) {
6666
return Mono.error(new BizException(BizError.INVALID_PARAMETER, "INVALID_PARAMETER", FieldName.ID));
6767
}
6868

69+
log.info("inside mongoUpsertHelper ");
70+
71+
log.info("application: " + application);
72+
6973
return mongoUpsertHelper.updateById(application, applicationId);
7074
}
7175

@@ -220,4 +224,8 @@ public Mono<Set<String>> getPublicApplicationIds(Collection<String> applicationI
220224

221225

222226
}
227+
228+
public Flux<Application> findAll() {
229+
return repository.findAll();
230+
}
223231
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/runner/migrations/DatabaseChangelog.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.lowcoder.infra.config.model.ServerConfig;
1919
import org.lowcoder.infra.eventlog.EventLog;
2020
import org.lowcoder.infra.serverlog.ServerLog;
21+
import org.lowcoder.runner.migrations.job.AddPtmFieldsJob;
2122
import org.lowcoder.runner.migrations.job.CompleteAuthType;
2223
import org.lowcoder.runner.migrations.job.MigrateAuthConfigJob;
2324
import org.springframework.data.domain.Sort;
@@ -182,6 +183,11 @@ public void addOrgIdIndexOnServerLog(MongockTemplate mongoTemplate) {
182183
);
183184
}
184185

186+
@ChangeSet(order = "020", id = "add-ptm-fields-to-applications", author = "")
187+
public void addPtmFieldsToApplicatgions(AddPtmFieldsJob addPtmFieldsJob) {
188+
addPtmFieldsJob.migrateApplicationsToInitPtmFields();
189+
}
190+
185191
public static Index makeIndex(String... fields) {
186192
if (fields.length == 1) {
187193
return new Index(fields[0], Sort.Direction.ASC).named(fields[0]);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.lowcoder.runner.migrations.job;
2+
3+
public interface AddPtmFieldsJob {
4+
5+
void migrateApplicationsToInitPtmFields();
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.lowcoder.runner.migrations.job;
2+
3+
import org.lowcoder.domain.application.service.ApplicationService;
4+
import org.springframework.beans.factory.annotation.Autowired;
5+
import org.springframework.stereotype.Component;
6+
7+
@Component
8+
public class AddPtmFieldsJobImpl implements AddPtmFieldsJob {
9+
10+
@Autowired
11+
private ApplicationService applicationService;
12+
13+
@Override
14+
public void migrateApplicationsToInitPtmFields() {
15+
applicationService.findAll()
16+
.doOnNext(application -> {
17+
if(!application.isPublicToAll()) {
18+
application.setPublicToAll(Boolean.FALSE);
19+
}
20+
if(!application.isPublicToMarketplace()) {
21+
application.setPublicToMarketplace(Boolean.FALSE);
22+
}
23+
if(!application.agencyProfile()) {
24+
application.setAgencyProfile(Boolean.FALSE);
25+
}
26+
}).flatMap(application -> applicationService.updateById(application.getId(), application))
27+
.blockLast();
28+
}
29+
}

0 commit comments

Comments
 (0)