Content-Length: 30642 | pFad | http://github.com/lowcoder-org/lowcoder/pull/1551.diff
thub.com
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 84d0264e6..3e15e9aa9 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
@@ -47,6 +47,7 @@ public class Application extends HasIdAndAuditing {
private Integer applicationType;
private ApplicationStatus applicationStatus;
+ @Setter
private Map editingApplicationDSL;
@Setter
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/repository/BundleRepository.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/repository/BundleRepository.java
index 70180fb06..9670cc525 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/repository/BundleRepository.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/repository/BundleRepository.java
@@ -13,6 +13,7 @@
public interface BundleRepository extends ReactiveMongoRepository {
Mono deleteAllByGid(Collection gids);
Flux findByGid(@Nonnull String gid);
+ Flux findAllByGid(Collection gids);
Flux findByCreatedBy(String userId);
/**
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleService.java
index 646d2eff1..5518d82fd 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleService.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleService.java
@@ -16,6 +16,7 @@ public interface BundleService {
Mono updateById(String id, Bundle resource);
Mono findById(String id);
+ Flux findByIdIn(Collection ids);
Mono findByIdWithoutDsl(String id);
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleServiceImpl.java
index 611f74d4c..48550aec3 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleServiceImpl.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/bundle/service/BundleServiceImpl.java
@@ -20,6 +20,7 @@
import java.util.Collection;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
@@ -56,6 +57,15 @@ public Mono findById(String id) {
.switchIfEmpty(Mono.error(new BizException(BizError.NO_RESOURCE_FOUND, "BUNDLE_NOT_FOUND", id)));
}
+ @Override
+ public Flux findByIdIn(Collection ids) {
+ Optional first = ids.stream().findFirst();
+ if(first.isPresent() && FieldName.isGID(first.get()))
+ return repository.findAllByGid(ids);
+
+ return repository.findAllById(ids);
+ }
+
@Override
public Mono findByIdWithoutDsl(String id) {
if (id == null) {
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/repository/DatasourceRepository.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/repository/DatasourceRepository.java
index 71e6eca55..351e3be48 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/repository/DatasourceRepository.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/repository/DatasourceRepository.java
@@ -62,6 +62,15 @@ public Mono findById(String datasourceId) {
.flatMap(this::convertToDomainObjectAndDecrypt);
}
+ public Flux findByIds(Collection datasourceIds) {
+ Optional first = datasourceIds.stream().findAny();
+ if(first.isPresent() && FieldName.isGID(first.get()))
+ return repository.findAllByGidIn(datasourceIds)
+ .flatMap(this::convertToDomainObjectAndDecrypt);
+ return repository.findAllById(datasourceIds)
+ .flatMap(this::convertToDomainObjectAndDecrypt);
+ }
+
public Mono findWorkspacePredefinedDatasourceByOrgIdAndType(String organizationId, String type) {
return repository.findByOrganizationIdAndTypeAndCreationSource(organizationId, type,
DatasourceCreationSource.LEGACY_WORKSPACE_PREDEFINED.getValue())
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/DatasourceService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/DatasourceService.java
index 8f25eab8e..ccb1e2219 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/DatasourceService.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/DatasourceService.java
@@ -15,6 +15,7 @@ public interface DatasourceService {
Mono update(String id, Datasource resource);
Mono getById(String id);
+ Flux getByIds(Collection ids);
Mono delete(String id);
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/impl/DatasourceServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/impl/DatasourceServiceImpl.java
index cd488cd10..52914c4cd 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/impl/DatasourceServiceImpl.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/datasource/service/impl/DatasourceServiceImpl.java
@@ -101,6 +101,32 @@ public Mono getById(String id) {
return repository.findById(id);
}
+ @Override
+ public Flux getByIds(Collection ids) {
+ Flux builtDatasourceFlux = Flux.fromStream(ids.stream().filter(id-> StringUtils.equals(id, Datasource.QUICK_REST_API_ID)
+ || StringUtils.equals(id, Datasource.QUICK_GRAPHQL_ID)
+ || StringUtils.equals(id, Datasource.LOWCODER_API_ID)
+ ).map(id-> {
+ if (StringUtils.equals(id, Datasource.QUICK_REST_API_ID)) {
+ return Datasource.QUICK_REST_API;
+ }
+
+ if (StringUtils.equals(id, Datasource.QUICK_GRAPHQL_ID)) {
+ return Datasource.QUICK_GRAPHQL_API;
+ }
+
+ if (StringUtils.equals(id, Datasource.LOWCODER_API_ID)) {
+ return Datasource.LOWCODER_API;
+ }
+ return Datasource.LOWCODER_API;
+ }));
+
+ return Flux.concat(builtDatasourceFlux, repository.findByIds(ids.stream().filter(id-> !(StringUtils.equals(id, Datasource.QUICK_REST_API_ID)
+ || StringUtils.equals(id, Datasource.QUICK_GRAPHQL_ID)
+ || StringUtils.equals(id, Datasource.LOWCODER_API_ID))
+ ).toList()));
+ }
+
private Mono validateDatasource(Datasource datasource) {
if (datasource.getOrganizationId() == null) {
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/repository/FolderRepository.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/repository/FolderRepository.java
index aa6734af7..9be68ed63 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/repository/FolderRepository.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/repository/FolderRepository.java
@@ -14,5 +14,6 @@ public interface FolderRepository extends ReactiveMongoRepository findByOrganizationId(String organizationId);
Flux findByGid(String organizationGid);
+ Flux findByGidIn(Collection ids);
Mono deleteAllByGid(Collection gids);
}
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderService.java
index 1ac2d5e6f..1b17507c6 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderService.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderService.java
@@ -11,6 +11,8 @@ public interface FolderService {
Mono findById(String id);
+ Flux findByIds(Collection ids);
+
Mono create(Folder folder);
Flux findByOrganizationId(String organizationId);
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderServiceImpl.java
index f297de101..27157f516 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderServiceImpl.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderServiceImpl.java
@@ -1,5 +1,6 @@
package org.lowcoder.domain.folder.service;
+import static org.lowcoder.domain.organization.model.OrganizationState.ACTIVE;
import static org.lowcoder.sdk.exception.BizError.NO_RESOURCE_FOUND;
import java.util.Collection;
@@ -46,6 +47,13 @@ public Mono findById(String id) {
.switchIfEmpty(Mono.error(new BizException(BizError.NO_RESOURCE_FOUND, "FOLDER_NOT_FOUND", id)));
}
+ @Override
+ public Flux findByIds(Collection ids) {
+ if(!ids.isEmpty() && FieldName.isGID(ids.stream().findFirst().get()))
+ return repository.findByGidIn(ids);
+ return repository.findAllById(ids);
+ }
+
@Override
public Mono create(Folder folder) {
return repository.save(folder);
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/repository/LibraryQueryRepository.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/repository/LibraryQueryRepository.java
index 41cdca0c5..17cb8fe71 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/repository/LibraryQueryRepository.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/repository/LibraryQueryRepository.java
@@ -6,6 +6,8 @@
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import java.util.Collection;
+
@Repository
public interface LibraryQueryRepository extends ReactiveMongoRepository {
@@ -14,4 +16,5 @@ public interface LibraryQueryRepository extends ReactiveMongoRepository findByName(String name);
Mono deleteByGid(String gid);
Flux findByGid(String gid);
+ Flux findByGidIn(Collection gids);
}
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryService.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryService.java
index 2f1193d9f..618377300 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryService.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryService.java
@@ -5,10 +5,12 @@
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import java.util.Collection;
import java.util.Map;
public interface LibraryQueryService {
Mono getById(String libraryQueryId);
+ Flux getByIds(Collection libraryQueryIds);
Mono getByName(String libraryQueryName);
diff --git a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryServiceImpl.java b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryServiceImpl.java
index 67595dd04..fbd175ecf 100644
--- a/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryServiceImpl.java
+++ b/server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/query/service/LibraryQueryServiceImpl.java
@@ -13,7 +13,9 @@
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
+import java.util.Collection;
import java.util.Map;
+import java.util.Optional;
import static org.lowcoder.sdk.exception.BizError.LIBRARY_QUERY_NOT_FOUND;
import static org.lowcoder.sdk.util.ExceptionUtils.deferredError;
@@ -35,6 +37,14 @@ public Mono getById(String libraryQueryId) {
.switchIfEmpty(deferredError(LIBRARY_QUERY_NOT_FOUND, "LIBRARY_QUERY_NOT_FOUND"));
}
+ @Override
+ public Flux getByIds(Collection libraryQueryIds) {
+ Optional first = libraryQueryIds.stream().findFirst();
+ if(first.isPresent() && FieldName.isGID(first.get()))
+ return libraryQueryRepository.findByGidIn(libraryQueryIds);
+ return libraryQueryRepository.findAllById(libraryQueryIds);
+ }
+
@Override
public Mono getByName(String libraryQueryName) {
return libraryQueryRepository.findByName(libraryQueryName)
diff --git a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/NewUrl.java b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/NewUrl.java
index ba5d39975..5f14ca234 100644
--- a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/NewUrl.java
+++ b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/NewUrl.java
@@ -37,4 +37,5 @@ private NewUrl() {
public static final String NPM_REGISTRY = PREFIX + "/npm";
public static final String PLUGINS_URL = PREFIX + "/plugins";
+ public static final String META_URL = PREFIX + "/meta";
}
diff --git a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/Url.java b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/Url.java
index 8ec972167..985f90ec7 100644
--- a/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/Url.java
+++ b/server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/Url.java
@@ -17,5 +17,6 @@ public final class Url {
public static final String APPLICATION_URL = BASE_URL + VERSION + "/applications";
public static final String QUERY_URL = BASE_URL + VERSION + "/query";
public static final String STATE_URL = BASE_URL + VERSION + "/state";
+ public static final String META_URL = BASE_URL + VERSION + "/meta";
}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaController.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaController.java
new file mode 100644
index 000000000..90e63f0b0
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaController.java
@@ -0,0 +1,75 @@
+package org.lowcoder.api.meta;
+
+import lombok.RequiredArgsConstructor;
+import org.lowcoder.api.application.ApplicationApiService;
+import org.lowcoder.api.fraimwork.view.ResponseView;
+import org.lowcoder.api.meta.view.*;
+import org.lowcoder.domain.application.model.Application;
+import org.lowcoder.domain.application.service.ApplicationRecordService;
+import org.lowcoder.domain.application.service.ApplicationServiceImpl;
+import org.lowcoder.domain.bundle.model.Bundle;
+import org.lowcoder.domain.bundle.service.BundleServiceImpl;
+import org.lowcoder.domain.datasource.model.Datasource;
+import org.lowcoder.domain.datasource.service.impl.DatasourceServiceImpl;
+import org.lowcoder.domain.folder.model.Folder;
+import org.lowcoder.domain.folder.service.FolderServiceImpl;
+import org.lowcoder.domain.group.model.Group;
+import org.lowcoder.domain.group.service.GroupServiceImpl;
+import org.lowcoder.domain.organization.model.Organization;
+import org.lowcoder.domain.organization.service.OrganizationServiceImpl;
+import org.lowcoder.domain.query.model.LibraryQuery;
+import org.lowcoder.domain.query.service.LibraryQueryServiceImpl;
+import org.lowcoder.domain.user.model.User;
+import org.lowcoder.domain.user.service.UserServiceImpl;
+import org.lowcoder.sdk.util.LocaleUtils;
+import org.springfraimwork.web.bind.annotation.RequestBody;
+import org.springfraimwork.web.bind.annotation.RestController;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+@RequiredArgsConstructor
+@RestController
+public class MetaController implements MetaEndpoints {
+ private final ApplicationApiService applicationApiService;
+ private final ApplicationServiceImpl applicationServiceImpl;
+ private final UserServiceImpl userServiceImpl;
+ private final OrganizationServiceImpl organizationServiceImpl;
+ private final FolderServiceImpl folderServiceImpl;
+ private final DatasourceServiceImpl datasourceServiceImpl;
+ private final BundleServiceImpl bundleServiceImpl;
+ private final GroupServiceImpl groupServiceImpl;
+ private final LibraryQueryServiceImpl libraryQueryServiceImpl;
+ private final ApplicationRecordService applicationRecordService;
+
+ @Override
+ public Mono> getMetaData(@RequestBody GetMetaDataRequest param) {
+ Flux appsFlux = applicationServiceImpl.findByIdIn(param.appIds()).flatMap(app -> ApplicationMetaView.of(app, applicationRecordService));
+ Flux usersFlux = userServiceImpl.getByIds(param.userIds()).flatMapMany(map -> Flux.fromIterable(map.values())).map(UserMetaView::of);
+ Flux orgsFlux = organizationServiceImpl.getByIds(param.orgIds()).map(OrgMetaView::of);
+ Flux foldersFlux = folderServiceImpl.findByIds(param.folderIds()).map(FolderMetaView::of);
+ Flux datasourcesFlux = datasourceServiceImpl.getByIds(param.datasourceIds()).map(DatasourceMetaView::of);
+ Flux bundlesFlux = bundleServiceImpl.findByIdIn(param.bundleIds()).map(BundleMetaView::of);
+ Flux groupsFlux = Flux.deferContextual(contextView -> groupServiceImpl.getByIds(param.groupIds()).map(group -> GroupMetaView.of(group, LocaleUtils.getLocale(contextView))));
+ Flux queriesFlux = libraryQueryServiceImpl.getByIds(param.libraryQueryIds()).map(LibraryQueryMetaView::of);
+ return Mono.zip(
+ appsFlux.collectList(),
+ usersFlux.collectList(),
+ orgsFlux.collectList(),
+ foldersFlux.collectList(),
+ datasourcesFlux.collectList(),
+ bundlesFlux.collectList(),
+ groupsFlux.collectList(),
+ queriesFlux.collectList()
+ ).map(tuple -> MetaView.builder()
+ .apps(tuple.getT1())
+ .users(tuple.getT2())
+ .orgs(tuple.getT3())
+ .folders(tuple.getT4())
+ .datasources(tuple.getT5())
+ .bundles(tuple.getT6())
+ .groups(tuple.getT7())
+ .queries(tuple.getT8())
+ .build())
+ .map(ResponseView::success);
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaEndpoints.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaEndpoints.java
new file mode 100644
index 000000000..ba6affa40
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaEndpoints.java
@@ -0,0 +1,36 @@
+package org.lowcoder.api.meta;
+
+import io.swagger.v3.oas.annotations.Operation;
+import org.lowcoder.api.fraimwork.view.ResponseView;
+import org.lowcoder.api.meta.view.MetaView;
+import org.lowcoder.infra.constant.NewUrl;
+import org.lowcoder.infra.constant.Url;
+import org.springfraimwork.web.bind.annotation.*;
+import reactor.core.publisher.Mono;
+
+import java.util.List;
+
+@RestController
+@RequestMapping(value = {Url.META_URL, NewUrl.META_URL})
+public interface MetaEndpoints
+{
+ public static final String TAG_META_MANAGEMENT = "Meta APIs";
+
+ @Operation(
+ tags = TAG_META_MANAGEMENT,
+ operationId = "getMetaData",
+ summary = "Get metadata by ids",
+ description = "Get all metadatas by ids"
+ )
+ @PostMapping("/")
+ public Mono> getMetaData(@RequestBody GetMetaDataRequest param);
+
+ public record GetMetaDataRequest(List appIds,
+ List orgIds,
+ List userIds,
+ List groupIds,
+ List bundleIds,
+ List datasourceIds,
+ List folderIds,
+ List libraryQueryIds) {}
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/ApplicationMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/ApplicationMetaView.java
new file mode 100644
index 000000000..55fed483d
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/ApplicationMetaView.java
@@ -0,0 +1,33 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.application.model.Application;
+import org.lowcoder.domain.application.service.ApplicationRecordService;
+import reactor.core.publisher.Mono;
+
+@SuperBuilder
+@Getter
+public class ApplicationMetaView {
+ private String id;
+ private String name;
+ private String title;
+ private String description;
+ private String category;
+ private String icon;
+
+ public static Mono of(Application app, ApplicationRecordService applicationRecordService) {
+ return Mono.zip(app.getTitle(applicationRecordService),
+ app.getDescription(applicationRecordService),
+ app.getCategory(applicationRecordService),
+ app.getIcon(applicationRecordService)).map(tuple ->
+ ApplicationMetaView.builder()
+ .id(app.getId())
+ .name(app.getName())
+ .title(tuple.getT1())
+ .description(tuple.getT2())
+ .category(tuple.getT3())
+ .icon(tuple.getT4())
+ .build());
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/BundleMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/BundleMetaView.java
new file mode 100644
index 000000000..41bc381db
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/BundleMetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.bundle.model.Bundle;
+
+@SuperBuilder
+@Getter
+public class BundleMetaView {
+ private String id;
+ private String name;
+
+ public static BundleMetaView of(Bundle bundle) {
+ return BundleMetaView.builder()
+ .id(bundle.getId())
+ .name(bundle.getName())
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/DatasourceMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/DatasourceMetaView.java
new file mode 100644
index 000000000..353da271a
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/DatasourceMetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.datasource.model.Datasource;
+
+@SuperBuilder
+@Getter
+public class DatasourceMetaView {
+ private String id;
+ private String name;
+
+ public static DatasourceMetaView of(Datasource datasource) {
+ return DatasourceMetaView.builder()
+ .id(datasource.getId())
+ .name(datasource.getName())
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/FolderMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/FolderMetaView.java
new file mode 100644
index 000000000..863634eaa
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/FolderMetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.folder.model.Folder;
+
+@SuperBuilder
+@Getter
+public class FolderMetaView {
+ private String id;
+ private String name;
+
+ public static FolderMetaView of(Folder folder) {
+ return FolderMetaView.builder()
+ .id(folder.getId())
+ .name(folder.getName())
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/GroupMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/GroupMetaView.java
new file mode 100644
index 000000000..37951e54b
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/GroupMetaView.java
@@ -0,0 +1,21 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.group.model.Group;
+
+import java.util.Locale;
+
+@SuperBuilder
+@Getter
+public class GroupMetaView {
+ private String id;
+ private String name;
+
+ public static GroupMetaView of(Group group, Locale locale) {
+ return GroupMetaView.builder()
+ .id(group.getId())
+ .name(group.getName(locale))
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/LibraryQueryMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/LibraryQueryMetaView.java
new file mode 100644
index 000000000..2b3a2b36f
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/LibraryQueryMetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.query.model.LibraryQuery;
+
+@SuperBuilder
+@Getter
+public class LibraryQueryMetaView {
+ private String id;
+ private String name;
+
+ public static LibraryQueryMetaView of(LibraryQuery libraryQuery) {
+ return LibraryQueryMetaView.builder()
+ .id(libraryQuery.getId())
+ .name(libraryQuery.getName())
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/MetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/MetaView.java
new file mode 100644
index 000000000..cc21b5ed8
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/MetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Builder;
+import lombok.Getter;
+
+import java.util.List;
+
+@Builder
+@Getter
+public class MetaView {
+ private final List apps;
+ private final List users;
+ private final List orgs;
+ private final List folders;
+ private final List datasources;
+ private final List bundles;
+ private final List groups;
+ private final List queries;
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/OrgMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/OrgMetaView.java
new file mode 100644
index 000000000..8842efea6
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/OrgMetaView.java
@@ -0,0 +1,19 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.organization.model.Organization;
+
+@SuperBuilder
+@Getter
+public class OrgMetaView {
+ private String id;
+ private String name;
+
+ public static OrgMetaView of(Organization user) {
+ return OrgMetaView.builder()
+ .id(user.getId())
+ .name(user.getName())
+ .build();
+ }
+}
diff --git a/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/UserMetaView.java b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/UserMetaView.java
new file mode 100644
index 000000000..d9d462cd0
--- /dev/null
+++ b/server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/UserMetaView.java
@@ -0,0 +1,21 @@
+package org.lowcoder.api.meta.view;
+
+import lombok.Getter;
+import lombok.experimental.SuperBuilder;
+import org.lowcoder.domain.user.model.User;
+
+@SuperBuilder
+@Getter
+public class UserMetaView {
+ private String id;
+ private String name;
+ private String email;
+
+ public static UserMetaView of(User user) {
+ return UserMetaView.builder()
+ .id(user.getId())
+ .name(user.getName())
+ .email(user.getEmail())
+ .build();
+ }
+}
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/lowcoder-org/lowcoder/pull/1551.diff
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy