Skip to content

Commit e5f2d29

Browse files
committed
Move ptm apps data to application dsl
1 parent 82c3de8 commit e5f2d29

File tree

4 files changed

+56
-13
lines changed

4 files changed

+56
-13
lines changed

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

+36-9
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33

44
import static org.lowcoder.domain.application.ApplicationUtil.getDependentModulesFromDsl;
55

6-
import java.util.Collection;
7-
import java.util.List;
8-
import java.util.Map;
9-
import java.util.Set;
6+
import java.util.*;
107
import java.util.stream.Collectors;
118

129
import org.lowcoder.domain.application.model.Application;
@@ -155,11 +152,41 @@ public Mono<Boolean> setApplicationPublicToAll(String applicationId, boolean pub
155152
return mongoUpsertHelper.updateById(application, applicationId);
156153
}
157154

158-
public Mono<Boolean> setApplicationPublicToMarketplace(String applicationId, boolean publicToMarketplace) {
159-
Application application = Application.builder()
160-
.publicToMarketplace(publicToMarketplace)
161-
.build();
162-
return mongoUpsertHelper.updateById(application, applicationId);
155+
public Mono<Boolean> setApplicationPublicToMarketplace(String applicationId, Boolean publicToMarketplace, String title, String category, String description) {
156+
157+
return findById(applicationId)
158+
.map(application -> {
159+
Map<String, Object> applicationDsl = application.getEditingApplicationDSL();
160+
if (applicationDsl.containsKey("ui")) {
161+
Map<String, Object> dataObject = (Map<String, Object>) applicationDsl.get("ui");
162+
163+
if(publicToMarketplace) {
164+
Map<String, Object> marketplaceMeta = new HashMap<>();
165+
marketplaceMeta.put("title", title);
166+
marketplaceMeta.put("description", description);
167+
marketplaceMeta.put("category", category);
168+
if (dataObject.containsKey("marketplaceMeta")) {
169+
dataObject.replace("marketplaceMeta", marketplaceMeta);
170+
} else {
171+
dataObject.put("marketplaceMeta", marketplaceMeta);
172+
}
173+
} else {
174+
dataObject.remove("marketplaceMeta");
175+
}
176+
177+
applicationDsl.replace("ui", dataObject);
178+
179+
}
180+
181+
return Application.builder()
182+
.publicToMarketplace(publicToMarketplace)
183+
.editingApplicationDSL(applicationDsl)
184+
.build();
185+
186+
})
187+
.flatMap(application -> mongoUpsertHelper.updateById(application, applicationId));
188+
189+
163190
}
164191

165192
public Mono<Boolean> setApplicationAsAgencyProfile(String applicationId, boolean agencyProfile) {

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -514,10 +514,10 @@ public Mono<Boolean> setApplicationPublicToAll(String applicationId, boolean pub
514514
.then(applicationService.setApplicationPublicToAll(applicationId, publicToAll));
515515
}
516516

517-
public Mono<Boolean> setApplicationPublicToMarketplace(String applicationId, boolean publicToMarketplace) {
517+
public Mono<Boolean> setApplicationPublicToMarketplace(String applicationId, ApplicationEndpoints.ApplicationPublicToMarketplaceRequest request) {
518518
return checkCurrentUserApplicationPermission(applicationId, ResourceAction.SET_APPLICATIONS_PUBLIC_TO_MARKETPLACE)
519519
.then(checkApplicationStatus(applicationId, NORMAL))
520-
.then(applicationService.setApplicationPublicToMarketplace(applicationId, publicToMarketplace));
520+
.then(applicationService.setApplicationPublicToMarketplace(applicationId, request.publicToMarketplace(), request.title(), request.category(), request.description()));
521521
}
522522

523523
public Mono<Boolean> setApplicationAsAgencyProfile(String applicationId, boolean agencyProfile) {

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public Mono<ResponseView<Boolean>> setApplicationPublicToAll(@PathVariable Strin
214214
@Override
215215
public Mono<ResponseView<Boolean>> setApplicationPublicToMarketplace(@PathVariable String applicationId,
216216
@RequestBody ApplicationPublicToMarketplaceRequest request) {
217-
return applicationApiService.setApplicationPublicToMarketplace(applicationId, request.publicToMarketplace())
217+
return applicationApiService.setApplicationPublicToMarketplace(applicationId, request)
218218
.map(ResponseView::success);
219219
}
220220

‎server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationEndpoints.java

+17-1
Original file line numberDiff line numberDiff line change
@@ -270,11 +270,27 @@ public Boolean publicToAll() {
270270
}
271271
}
272272

273-
public record ApplicationPublicToMarketplaceRequest(Boolean publicToMarketplace) {
273+
public record ApplicationPublicToMarketplaceRequest(Boolean publicToMarketplace, String title, String description, String category) {
274274
@Override
275275
public Boolean publicToMarketplace() {
276276
return BooleanUtils.isTrue(publicToMarketplace);
277277
}
278+
279+
@Override
280+
public String title() {
281+
return title;
282+
}
283+
284+
@Override
285+
public String description() {
286+
return description;
287+
}
288+
289+
@Override
290+
public String category() {
291+
return category;
292+
}
293+
278294
}
279295

280296
public record ApplicationAsAgencyProfileRequest(Boolean agencyProfile) {

0 commit comments

Comments
 (0)