Skip to content

Commit a2d94a4

Browse files
dragonpooludomikula
authored andcommitted
Reduce useless fields from meta api response
1 parent 2977b16 commit a2d94a4

File tree

11 files changed

+191
-26
lines changed

11 files changed

+191
-26
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/folder/service/FolderServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public Mono<Folder> findById(String id) {
5151
public Flux<Folder> findByIds(Collection<String> ids) {
5252
if(!ids.isEmpty() && FieldName.isGID(ids.stream().findFirst().get()))
5353
return repository.findByGidIn(ids);
54-
return repository.findByGidIn(ids);
54+
return repository.findAllById(ids);
5555
}
5656

5757
@Override

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/MetaController.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
import lombok.RequiredArgsConstructor;
44
import org.lowcoder.api.application.ApplicationApiService;
55
import org.lowcoder.api.framework.view.ResponseView;
6-
import org.lowcoder.api.meta.view.MetaView;
6+
import org.lowcoder.api.meta.view.*;
77
import org.lowcoder.domain.application.model.Application;
8+
import org.lowcoder.domain.application.service.ApplicationRecordService;
89
import org.lowcoder.domain.application.service.ApplicationServiceImpl;
910
import org.lowcoder.domain.bundle.model.Bundle;
1011
import org.lowcoder.domain.bundle.service.BundleServiceImpl;
@@ -20,6 +21,7 @@
2021
import org.lowcoder.domain.query.service.LibraryQueryServiceImpl;
2122
import org.lowcoder.domain.user.model.User;
2223
import org.lowcoder.domain.user.service.UserServiceImpl;
24+
import org.lowcoder.sdk.util.LocaleUtils;
2325
import org.springframework.web.bind.annotation.RequestBody;
2426
import org.springframework.web.bind.annotation.RestController;
2527
import reactor.core.publisher.Flux;
@@ -37,17 +39,18 @@ public class MetaController implements MetaEndpoints {
3739
private final BundleServiceImpl bundleServiceImpl;
3840
private final GroupServiceImpl groupServiceImpl;
3941
private final LibraryQueryServiceImpl libraryQueryServiceImpl;
42+
private final ApplicationRecordService applicationRecordService;
4043

4144
@Override
4245
public Mono<ResponseView<MetaView>> getMetaData(@RequestBody GetMetaDataRequest param) {
43-
Flux<Application> appsFlux = applicationServiceImpl.findByIdIn(param.appIds());
44-
Flux<User> usersFlux = userServiceImpl.getByIds(param.userIds()).flatMapMany(map -> Flux.fromIterable(map.values()));
45-
Flux<Organization> orgsFlux = organizationServiceImpl.getByIds(param.orgIds());
46-
Flux<Folder> foldersFlux = folderServiceImpl.findByIds(param.folderIds());
47-
Flux<Datasource> datasourcesFlux = datasourceServiceImpl.getByIds(param.datasourceIds());
48-
Flux<Bundle> bundlesFlux = bundleServiceImpl.findByIdIn(param.bundleIds());
49-
Flux<Group> groupsFlux = groupServiceImpl.getByIds(param.groupIds());
50-
Flux<LibraryQuery> queriesFlux = libraryQueryServiceImpl.getByIds(param.libraryQueryIds());
46+
Flux<ApplicationMetaView> appsFlux = applicationServiceImpl.findByIdIn(param.appIds()).flatMap(app -> ApplicationMetaView.of(app, applicationRecordService));
47+
Flux<UserMetaView> usersFlux = userServiceImpl.getByIds(param.userIds()).flatMapMany(map -> Flux.fromIterable(map.values())).map(UserMetaView::of);
48+
Flux<OrgMetaView> orgsFlux = organizationServiceImpl.getByIds(param.orgIds()).map(OrgMetaView::of);
49+
Flux<FolderMetaView> foldersFlux = folderServiceImpl.findByIds(param.folderIds()).map(FolderMetaView::of);
50+
Flux<DatasourceMetaView> datasourcesFlux = datasourceServiceImpl.getByIds(param.datasourceIds()).map(DatasourceMetaView::of);
51+
Flux<BundleMetaView> bundlesFlux = bundleServiceImpl.findByIdIn(param.bundleIds()).map(BundleMetaView::of);
52+
Flux<GroupMetaView> groupsFlux = Flux.deferContextual(contextView -> groupServiceImpl.getByIds(param.groupIds()).map(group -> GroupMetaView.of(group, LocaleUtils.getLocale(contextView))));
53+
Flux<LibraryQueryMetaView> queriesFlux = libraryQueryServiceImpl.getByIds(param.libraryQueryIds()).map(LibraryQueryMetaView::of);
5154
return Mono.zip(
5255
appsFlux.collectList(),
5356
usersFlux.collectList(),
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.application.model.Application;
6+
import org.lowcoder.domain.application.service.ApplicationRecordService;
7+
import reactor.core.publisher.Mono;
8+
9+
@SuperBuilder
10+
@Getter
11+
public class ApplicationMetaView {
12+
private String id;
13+
private String name;
14+
private String title;
15+
private String description;
16+
private String category;
17+
private String icon;
18+
19+
public static Mono<ApplicationMetaView> of(Application app, ApplicationRecordService applicationRecordService) {
20+
return Mono.zip(app.getTitle(applicationRecordService),
21+
app.getDescription(applicationRecordService),
22+
app.getCategory(applicationRecordService),
23+
app.getIcon(applicationRecordService)).map(tuple ->
24+
ApplicationMetaView.builder()
25+
.id(app.getId())
26+
.name(app.getName())
27+
.title(tuple.getT1())
28+
.description(tuple.getT2())
29+
.category(tuple.getT3())
30+
.icon(tuple.getT4())
31+
.build());
32+
}
33+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.bundle.model.Bundle;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class BundleMetaView {
10+
private String id;
11+
private String name;
12+
13+
public static BundleMetaView of(Bundle bundle) {
14+
return BundleMetaView.builder()
15+
.id(bundle.getId())
16+
.name(bundle.getName())
17+
.build();
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.datasource.model.Datasource;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class DatasourceMetaView {
10+
private String id;
11+
private String name;
12+
13+
public static DatasourceMetaView of(Datasource datasource) {
14+
return DatasourceMetaView.builder()
15+
.id(datasource.getId())
16+
.name(datasource.getName())
17+
.build();
18+
}
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.folder.model.Folder;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class FolderMetaView {
10+
private String id;
11+
private String name;
12+
13+
public static FolderMetaView of(Folder folder) {
14+
return FolderMetaView.builder()
15+
.id(folder.getId())
16+
.name(folder.getName())
17+
.build();
18+
}
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.group.model.Group;
6+
7+
import java.util.Locale;
8+
9+
@SuperBuilder
10+
@Getter
11+
public class GroupMetaView {
12+
private String id;
13+
private String name;
14+
15+
public static GroupMetaView of(Group group, Locale locale) {
16+
return GroupMetaView.builder()
17+
.id(group.getId())
18+
.name(group.getName(locale))
19+
.build();
20+
}
21+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.query.model.LibraryQuery;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class LibraryQueryMetaView {
10+
private String id;
11+
private String name;
12+
13+
public static LibraryQueryMetaView of(LibraryQuery libraryQuery) {
14+
return LibraryQueryMetaView.builder()
15+
.id(libraryQuery.getId())
16+
.name(libraryQuery.getName())
17+
.build();
18+
}
19+
}

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/meta/view/MetaView.java

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,18 @@
22

33
import lombok.Builder;
44
import lombok.Getter;
5-
import org.lowcoder.domain.application.model.Application;
6-
import org.lowcoder.domain.bundle.model.Bundle;
7-
import org.lowcoder.domain.datasource.model.Datasource;
8-
import org.lowcoder.domain.folder.model.Folder;
9-
import org.lowcoder.domain.group.model.Group;
10-
import org.lowcoder.domain.organization.model.Organization;
11-
import org.lowcoder.domain.query.model.LibraryQuery;
12-
import org.lowcoder.domain.user.model.User;
135

146
import java.util.List;
157

168
@Builder
179
@Getter
1810
public class MetaView {
19-
private final List<Application> apps;
20-
private final List<User> users;
21-
private final List<Organization> orgs;
22-
private final List<Folder> folders;
23-
private final List<Datasource> datasources;
24-
private final List<Bundle> bundles;
25-
private final List<Group> groups;
26-
private final List<LibraryQuery> queries;
11+
private final List<ApplicationMetaView> apps;
12+
private final List<UserMetaView> users;
13+
private final List<OrgMetaView> orgs;
14+
private final List<FolderMetaView> folders;
15+
private final List<DatasourceMetaView> datasources;
16+
private final List<BundleMetaView> bundles;
17+
private final List<GroupMetaView> groups;
18+
private final List<LibraryQueryMetaView> queries;
2719
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.organization.model.Organization;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class OrgMetaView {
10+
private String id;
11+
private String name;
12+
13+
public static OrgMetaView of(Organization user) {
14+
return OrgMetaView.builder()
15+
.id(user.getId())
16+
.name(user.getName())
17+
.build();
18+
}
19+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package org.lowcoder.api.meta.view;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.SuperBuilder;
5+
import org.lowcoder.domain.user.model.User;
6+
7+
@SuperBuilder
8+
@Getter
9+
public class UserMetaView {
10+
private String id;
11+
private String name;
12+
private String email;
13+
14+
public static UserMetaView of(User user) {
15+
return UserMetaView.builder()
16+
.id(user.getId())
17+
.name(user.getName())
18+
.email(user.getEmail())
19+
.build();
20+
}
21+
}

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