diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java index 5c8e269b9..d249661a4 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationApiServiceImpl.java @@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.SetUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.lowcoder.api.application.ApplicationEndpoints.CreateApplicationRequest; import org.lowcoder.api.application.view.ApplicationInfoView; @@ -101,7 +102,7 @@ public class ApplicationApiServiceImpl implements ApplicationApiService { public Mono create(CreateApplicationRequest createApplicationRequest) { Application application = new Application(createApplicationRequest.organizationId(), - UuidCreator.getTimeOrderedEpoch().toString(), + ObjectUtils.defaultIfNull(createApplicationRequest.gid(), UuidCreator.getTimeOrderedEpoch().toString()), createApplicationRequest.name(), createApplicationRequest.applicationType(), NORMAL, diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationEndpoints.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationEndpoints.java index 93487d953..e24873d69 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationEndpoints.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/application/ApplicationEndpoints.java @@ -298,6 +298,7 @@ public record UpdatePermissionRequest(String role) { } public record CreateApplicationRequest(@JsonProperty("orgId") String organizationId, + @Nullable String gid, String name, Integer applicationType, Map editingApplicationDSL, diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequestMapper.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequestMapper.java index c6913479b..48a6b3ade 100644 --- a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequestMapper.java +++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/datasource/UpsertDatasourceRequestMapper.java @@ -34,6 +34,7 @@ public Datasource resolve(UpsertDatasourceRequest dto) { Datasource datasource = new Datasource(); datasource.setId(dto.getId()); + datasource.setGid(dto.getGid()); datasource.setName(dto.getName()); datasource.setType(dto.getType()); datasource.setOrganizationId(dto.getOrganizationId()); diff --git a/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceIntegrationTest.java b/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceIntegrationTest.java index cb4d81808..c62937bff 100644 --- a/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceIntegrationTest.java +++ b/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceIntegrationTest.java @@ -70,7 +70,7 @@ public void testCreateApplicationSuccess() { }); // Mono applicationViewMono = datasourceMono.map(datasource -> new CreateApplicationRequest( - "org01", + "org01", null, "app05", ApplicationType.APPLICATION.getValue(), Map.of("comp", "list", "queries", Set.of(Map.of("datasourceId", datasource.getId()))), @@ -104,7 +104,7 @@ public void testUpdateApplicationFailedDueToLackOfDatasourcePermissions() { }); // Mono applicationViewMono = datasourceMono.map(datasource -> new CreateApplicationRequest( - "org01", + "org01", null, "app03", ApplicationType.APPLICATION.getValue(), Map.of("comp", "list", "queries", Set.of(Map.of("datasourceId", datasource.getId()))), @@ -129,7 +129,7 @@ public void testUpdateApplicationFailedDueToLackOfDatasourcePermissions() { @Test @WithMockUser public void testUpdateEditingStateSuccess() { - Mono applicationViewMono = applicationApiService.create(new CreateApplicationRequest("org01", "app1", ApplicationType.APPLICATION.getValue(), Map.of("comp", "list"), null)); + Mono applicationViewMono = applicationApiService.create(new CreateApplicationRequest("org01", null, "app1", ApplicationType.APPLICATION.getValue(), Map.of("comp", "list"), null)); Mono updateEditStateMono = applicationViewMono.delayUntil(app -> applicationApiService.updateEditState(app.getApplicationInfoView().getApplicationId(), new ApplicationEndpoints.UpdateEditStateRequest(true))); Mono app = updateEditStateMono.flatMap(applicationView -> applicationApiService.getEditingApplication(applicationView.getApplicationInfoView().getApplicationId())); StepVerifier.create(app) diff --git a/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceTest.java b/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceTest.java index f912c3607..9fc63066c 100644 --- a/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceTest.java +++ b/server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/application/ApplicationApiServiceTest.java @@ -130,7 +130,7 @@ public void testDeleteNormalApplicationWithError() { private Mono createApplication(String name, String folderId) { CreateApplicationRequest createApplicationRequest = - new CreateApplicationRequest("org01", name, ApplicationType.APPLICATION.getValue(), + new CreateApplicationRequest("org01", null, name, ApplicationType.APPLICATION.getValue(), Map.of("comp", "list"), folderId); return applicationApiService.create(createApplicationRequest); }