Skip to content

Commit 1fc4e6c

Browse files
dragonpooludomikula
authored andcommitted
modify update endpoint to restore deleted objects
1 parent 28cb34f commit 1fc4e6c

File tree

11 files changed

+38
-18
lines changed

11 files changed

+38
-18
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/model/Datasource.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public class Datasource extends HasIdAndAuditing {
8787

8888
public Datasource mergeWith(Datasource updatedDatasource) {
8989
setName(updatedDatasource.getName());
90+
setDatasourceStatus(updatedDatasource.getDatasourceStatus());
9091
Optional.of(getDetailConfig())
9192
.ifPresentOrElse(currentDetailConfig -> {
9293
if (updatedDatasource.getDetailConfig() instanceof JsDatasourceConnectionConfig jsDatasourceConnectionConfig) {

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,15 @@ public Mono<ResponseView<ApplicationView>> delete(@PathVariable String applicati
8484
}
8585

8686
@Override
87-
public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable String applicationId, @PathVariable Boolean withDeleted) {
87+
public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable String applicationId, @RequestParam(required = false) Boolean withDeleted) {
8888
return gidService.convertApplicationIdToObjectId(applicationId).flatMap(appId ->
8989
applicationApiService.getEditingApplication(appId, withDeleted)
9090
.delayUntil(__ -> applicationApiService.updateUserApplicationLastViewTime(appId))
9191
.map(ResponseView::success));
9292
}
9393

9494
@Override
95-
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId, @PathVariable Boolean withDeleted) {
95+
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId, @RequestParam(required = false) Boolean withDeleted) {
9696
return gidService.convertApplicationIdToObjectId(applicationId).flatMap(appId ->
9797
applicationApiService.getPublishedApplication(appId, ApplicationRequestType.PUBLIC_TO_ALL, withDeleted)
9898
.delayUntil(applicationView -> applicationApiService.updateUserApplicationLastViewTime(appId))
@@ -120,7 +120,8 @@ public Mono<ResponseView<ApplicationView>> getAgencyProfileApplication(@PathVari
120120

121121
@Override
122122
public Mono<ResponseView<ApplicationView>> update(@PathVariable String applicationId,
123-
@RequestBody Application newApplication) {
123+
@RequestBody Application newApplication,
124+
@RequestParam(required = false) Boolean updateStatus) {
124125
return gidService.convertApplicationIdToObjectId(applicationId).flatMap(appId ->
125126
applicationApiService.update(appId, newApplication)
126127
.delayUntil(applicationView -> businessEventPublisher.publishApplicationCommonEvent(applicationView, APPLICATION_UPDATE))

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ public interface ApplicationEndpoints
8989
description = "Retrieve the DSL data of a Lowcoder Application in edit-mode by its ID."
9090
)
9191
@GetMapping("/{applicationId}")
92-
public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable String applicationId, @PathVariable Boolean withDeleted);
92+
public Mono<ResponseView<ApplicationView>> getEditingApplication(@PathVariable String applicationId, @RequestParam(required = false) Boolean withDeleted);
9393

9494
@Operation(
9595
tags = TAG_APPLICATION_MANAGEMENT,
@@ -98,7 +98,7 @@ public interface ApplicationEndpoints
9898
description = "Retrieve the DSL data of a Lowcoder Application in view-mode by its ID."
9999
)
100100
@GetMapping("/{applicationId}/view")
101-
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId, @PathVariable Boolean withDeleted);
101+
public Mono<ResponseView<ApplicationView>> getPublishedApplication(@PathVariable String applicationId, @RequestParam(required = false) Boolean withDeleted);
102102

103103
@Operation(
104104
tags = TAG_APPLICATION_MANAGEMENT,
@@ -126,7 +126,8 @@ public interface ApplicationEndpoints
126126
)
127127
@PutMapping("/{applicationId}")
128128
public Mono<ResponseView<ApplicationView>> update(@PathVariable String applicationId,
129-
@RequestBody Application newApplication);
129+
@RequestBody Application newApplication,
130+
@RequestParam(required = false) Boolean updateStatus);
130131

131132
@Operation(
132133
tags = TAG_APPLICATION_MANAGEMENT,

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.util.Map;
44

5+
import org.lowcoder.domain.datasource.model.DatasourceStatus;
6+
57
import lombok.Getter;
68
import lombok.Setter;
79

@@ -14,6 +16,7 @@ public class UpsertDatasourceRequest {
1416
private String name;
1517
private String type;
1618
private String organizationId;
19+
private DatasourceStatus status;
1720

1821
private Map<String, Object> datasourceConfig;
1922
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequestMapper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public Datasource resolve(UpsertDatasourceRequest dto) {
3838
datasource.setName(dto.getName());
3939
datasource.setType(dto.getType());
4040
datasource.setOrganizationId(dto.getOrganizationId());
41+
datasource.setDatasourceStatus(dto.getStatus());
4142
if (datasourceMetaInfoService.isJsDatasourcePlugin(datasource.getType())) {
4243
datasource.setDetailConfig(JsonUtils.fromJson(JsonUtils.toJson(dto.getDatasourceConfig()), JsDatasourceConnectionConfig.class));
4344
} else {

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrgApiServiceImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ public Mono<Boolean> update(String orgId, UpdateOrgRequest updateOrgRequest) {
291291
updateOrg.setContactEmail(updateOrgRequest.getContactEmail());
292292
updateOrg.setContactPhoneNumber(updateOrgRequest.getContactPhoneNumber());
293293
updateOrg.setContactName(updateOrgRequest.getContactName());
294+
updateOrg.setState(updateOrgRequest.getState());
294295
return organizationService.update(orgId, updateOrg);
295296
});
296297
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,9 +194,9 @@ public Mono<ResponseView<Organization>> updateSlug(@PathVariable String orgId, @
194194
}
195195

196196
@Override
197-
public Mono<ResponseView<Organization>> getOrganization(@PathVariable String orgId, @PathVariable Boolean includeDeleted) {
197+
public Mono<ResponseView<Organization>> getOrganization(@PathVariable String orgId, @RequestParam(required = false) Boolean withDeleted) {
198198
return gidService.convertOrganizationIdToObjectId(orgId)
199-
.flatMap(id -> Boolean.TRUE.equals(includeDeleted) ? organizationService.getByIdWithDeleted(id) : organizationService.getById(id))
199+
.flatMap(id -> Boolean.TRUE.equals(withDeleted) ? organizationService.getByIdWithDeleted(id) : organizationService.getById(id))
200200
.switchIfEmpty(Mono.error(new BizException(BizError.ORGANIZATION_NOT_FOUND, "ORGANIZATION_NOT_FOUND")))
201201
.map(ResponseView::success);
202202
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/OrganizationEndpoints.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public Mono<ResponseView<Boolean>> removeUserFromOrg(@PathVariable String orgId,
191191
description = "Retrieve details of a specific Organization within Lowcoder using its unique ID."
192192
)
193193
@GetMapping("/{orgId}")
194-
public Mono<ResponseView<Organization>> getOrganization(@PathVariable String orgId, @PathVariable Boolean includeDeleted);
194+
public Mono<ResponseView<Organization>> getOrganization(@PathVariable String orgId, @RequestParam(required = false) Boolean withDeleted);
195195

196196
public record UpdateOrgCommonSettingsRequest(String key, Object value) {
197197

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/usermanagement/view/UpdateOrgRequest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.lowcoder.api.usermanagement.view;
22

3+
import org.lowcoder.domain.organization.model.OrganizationState;
4+
35
public class UpdateOrgRequest {
46

57
private String orgName;
@@ -10,6 +12,16 @@ public class UpdateOrgRequest {
1012

1113
private String contactPhoneNumber;
1214

15+
private OrganizationState state;
16+
17+
public OrganizationState getState() {
18+
return state;
19+
}
20+
21+
public void setState(OrganizationState state) {
22+
this.state = state;
23+
}
24+
1325
public String getOrgName() {
1426
return orgName;
1527
}

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public void testUpdateApplicationFailedDueToLackOfDatasourcePermissions() {
131131
public void testUpdateEditingStateSuccess() {
132132
Mono<ApplicationView> applicationViewMono = applicationApiService.create(new CreateApplicationRequest("org01", null, "app1", ApplicationType.APPLICATION.getValue(), Map.of("comp", "list"), null, null, null));
133133
Mono<ApplicationView> updateEditStateMono = applicationViewMono.delayUntil(app -> applicationApiService.updateEditState(app.getApplicationInfoView().getApplicationId(), new ApplicationEndpoints.UpdateEditStateRequest(true)));
134-
Mono<ApplicationView> app = updateEditStateMono.flatMap(applicationView -> applicationApiService.getEditingApplication(applicationView.getApplicationInfoView().getApplicationId()));
134+
Mono<ApplicationView> app = updateEditStateMono.flatMap(applicationView -> applicationApiService.getEditingApplication(applicationView.getApplicationInfoView().getApplicationId(), false));
135135
StepVerifier.create(app)
136136
.assertNext(application -> {
137137
Assertions.assertEquals("user01", application.getApplicationInfoView().getEditingUserId());

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceTest.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,12 @@ public void testPublishApplication() {
144144
.cache();
145145

146146
// edit dsl before publish
147-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id)))
147+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id, false)))
148148
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "list"), applicationView.getApplicationDSL()))
149149
.verifyComplete();
150150

151151
// published dsl before publish
152-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL)))
152+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL, false)))
153153
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "list"), applicationView.getApplicationDSL()))
154154
.verifyComplete();
155155

@@ -158,12 +158,12 @@ public void testPublishApplication() {
158158
.delayUntil(id -> applicationApiService.publish(id, new ApplicationPublishRequest("Test Publish", "1.0.0"))).cache();
159159

160160
// edit dsl after publish
161-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id)))
161+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id, false)))
162162
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "list"), applicationView.getApplicationDSL()))
163163
.verifyComplete();
164164

165165
// published dsl after publish
166-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL)))
166+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL, false)))
167167
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "list"), applicationView.getApplicationDSL()))
168168
.verifyComplete();
169169

@@ -172,12 +172,12 @@ public void testPublishApplication() {
172172
.delayUntil(id -> applicationApiService.update(id, Application.builder().editingApplicationDSL(Map.of("comp", "table")).build())).cache();
173173

174174
// edit dsl after publish
175-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id)))
175+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id, false)))
176176
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "table"), applicationView.getApplicationDSL()))
177177
.verifyComplete();
178178

179179
// published dsl after publish
180-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL)))
180+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL, false)))
181181
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "list"), applicationView.getApplicationDSL()))
182182
.verifyComplete();
183183

@@ -186,12 +186,12 @@ public void testPublishApplication() {
186186
.delayUntil(id -> applicationApiService.publish(id, new ApplicationPublishRequest("Test Publish 2", "2.0.0"))).cache();
187187

188188
// edit dsl after publish
189-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id)))
189+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getEditingApplication(id, false)))
190190
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "table"), applicationView.getApplicationDSL()))
191191
.verifyComplete();
192192

193193
// published dsl after publish
194-
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL)))
194+
StepVerifier.create(applicationIdMono.flatMap(id -> applicationApiService.getPublishedApplication(id, ApplicationRequestType.PUBLIC_TO_ALL, false)))
195195
.assertNext(applicationView -> Assertions.assertEquals(Map.of("comp", "table"), applicationView.getApplicationDSL()))
196196
.verifyComplete();
197197

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy