Skip to content

Commit 2d4a12d

Browse files
committed
add pagination to library query
1 parent ae5dd69 commit 2d4a12d

File tree

8 files changed

+36
-18
lines changed

8 files changed

+36
-18
lines changed

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/query/LibraryQueryController.java

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

33
import java.util.List;
44

5+
import org.lowcoder.api.framework.view.PageResponseView;
56
import org.lowcoder.api.framework.view.ResponseView;
67
import org.lowcoder.api.query.view.LibraryQueryAggregateView;
78
import org.lowcoder.api.query.view.LibraryQueryPublishRequest;
@@ -19,8 +20,11 @@
1920
import org.springframework.web.bind.annotation.RequestParam;
2021
import org.springframework.web.bind.annotation.RestController;
2122

23+
import reactor.core.publisher.Flux;
2224
import reactor.core.publisher.Mono;
2325

26+
import static org.lowcoder.api.util.Pagination.fluxToPageResponseView;
27+
2428
@RestController
2529
public class LibraryQueryController implements LibraryQueryEndpoints
2630
{
@@ -41,9 +45,12 @@ public Mono<ResponseView<List<LibraryQueryAggregateView>>> dropDownList(@Request
4145
}
4246

4347
@Override
44-
public Mono<ResponseView<List<LibraryQueryView>>> list(@RequestParam(required = false, defaultValue = "") String name) {
45-
return libraryQueryApiService.listLibraryQueries(name)
46-
.map(ResponseView::success);
48+
public Mono<PageResponseView<?>> list(@RequestParam(required = false, defaultValue = "") String name,
49+
@RequestParam(required = false, defaultValue = "0") int pageNum,
50+
@RequestParam(required = false, defaultValue = "100") int pageSize) {
51+
var flux = libraryQueryApiService.listLibraryQueries(name)
52+
.flatMapMany(Flux::fromIterable);
53+
return fluxToPageResponseView(pageNum, pageSize, flux);
4754
}
4855

4956
@Override

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/query/LibraryQueryEndpoints.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import java.util.List;
66

7+
import org.lowcoder.api.framework.view.PageResponseView;
78
import org.lowcoder.api.framework.view.ResponseView;
89
import org.lowcoder.api.query.view.LibraryQueryAggregateView;
910
import org.lowcoder.api.query.view.LibraryQueryPublishRequest;
@@ -38,7 +39,9 @@ public interface LibraryQueryEndpoints
3839
description = "Retrieve a list of Library Queries for a specific Organization within Lowcoder."
3940
)
4041
@GetMapping("/listByOrg")
41-
public Mono<ResponseView<List<LibraryQueryView>>> list(@RequestParam(required = false, defaultValue = "") String name);
42+
public Mono<PageResponseView<?>> list(@RequestParam(required = false, defaultValue = "") String name,
43+
@RequestParam(required = false, defaultValue = "0") int pageNum,
44+
@RequestParam(required = false, defaultValue = "100") int pageSize);
4245

4346
@Operation(
4447
tags = TAG_LIBRARY_QUERY_MANAGEMENT,

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/query/LibraryQueryRecordController.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44
import java.util.Map;
55

6+
import org.lowcoder.api.framework.view.PageResponseView;
67
import org.lowcoder.api.framework.view.ResponseView;
78
import org.lowcoder.api.query.view.LibraryQueryRecordMetaView;
89
import org.lowcoder.domain.query.model.LibraryQueryCombineId;
@@ -11,8 +12,11 @@
1112
import org.springframework.web.bind.annotation.RestController;
1213

1314
import lombok.RequiredArgsConstructor;
15+
import reactor.core.publisher.Flux;
1416
import reactor.core.publisher.Mono;
1517

18+
import static org.lowcoder.api.util.Pagination.fluxToPageResponseView;
19+
1620
@RequiredArgsConstructor
1721
@RestController
1822
public class LibraryQueryRecordController implements LibraryQueryRecordEndpoints
@@ -25,9 +29,10 @@ public Mono<Void> delete(@PathVariable String libraryQueryRecordId) {
2529
}
2630

2731
@Override
28-
public Mono<ResponseView<List<LibraryQueryRecordMetaView>>> getByLibraryQueryId(@RequestParam(name = "libraryQueryId") String libraryQueryId) {
29-
return libraryQueryRecordApiService.getByLibraryQueryId(libraryQueryId)
30-
.map(ResponseView::success);
32+
public Mono<PageResponseView<?>> getByLibraryQueryId(@RequestParam(name = "libraryQueryId") String libraryQueryId,
33+
@RequestParam(required = false, defaultValue = "0") int pageNum,
34+
@RequestParam(required = false, defaultValue = "100") int pageSize) {
35+
return fluxToPageResponseView(pageNum, pageSize, libraryQueryRecordApiService.getByLibraryQueryId(libraryQueryId).flatMapMany(Flux::fromIterable));
3136
}
3237

3338
@Override

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/query/LibraryQueryRecordEndpoints.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.List;
66
import java.util.Map;
77

8+
import org.lowcoder.api.framework.view.PageResponseView;
89
import org.lowcoder.api.framework.view.ResponseView;
910
import org.lowcoder.api.query.view.LibraryQueryRecordMetaView;
1011
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -39,7 +40,9 @@ public interface LibraryQueryRecordEndpoints
3940
description = "Retrieve a specific Library Query Record within Lowcoder using the associated library query ID."
4041
)
4142
@GetMapping("/listByLibraryQueryId")
42-
public Mono<ResponseView<List<LibraryQueryRecordMetaView>>> getByLibraryQueryId(@RequestParam(name = "libraryQueryId") String libraryQueryId);
43+
public Mono<PageResponseView<?>> getByLibraryQueryId(@RequestParam(name = "libraryQueryId") String libraryQueryId,
44+
@RequestParam(required = false, defaultValue = "0") int pageNum,
45+
@RequestParam(required = false, defaultValue = "100") int pageSize);
4346

4447
@Operation(
4548
tags = TAG_LIBRARY_QUERY_RECORDS,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,10 @@ public Mono<GroupListResponseView<List<GroupView>>> getOrgGroups(@RequestParam(r
119119

120120
@Override
121121
public Mono<ResponseView<GroupMemberAggregateView>> getGroupMembers(@PathVariable String groupId,
122-
@RequestParam(name = "page", required = false, defaultValue = "0") int page,
123-
@RequestParam(name = "count", required = false, defaultValue = "100") int count) {
122+
@RequestParam(required = false, defaultValue = "0") int pageNum,
123+
@RequestParam(required = false, defaultValue = "100") int pageSize) {
124124
String objectId = gidService.convertGroupIdToObjectId(groupId);
125-
return groupApiService.getGroupMembers(objectId, page, count)
125+
return groupApiService.getGroupMembers(objectId, pageNum, pageSize)
126126
.map(ResponseView::success);
127127
}
128128

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ public Mono<GroupListResponseView<List<GroupView>>> getOrgGroups(@RequestParam(r
7474
)
7575
@GetMapping("/{groupId}/members")
7676
public Mono<ResponseView<GroupMemberAggregateView>> getGroupMembers(@PathVariable String groupId,
77-
@RequestParam(name = "page", required = false, defaultValue = "0") int page,
78-
@RequestParam(name = "count", required = false, defaultValue = "100") int count);
77+
@RequestParam(required = false, defaultValue = "0") int pageNum,
78+
@RequestParam(required = false, defaultValue = "100") int pageSize);
7979

8080
@Operation(
8181
tags = TAG_GROUP_MEMBERS,

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,10 @@ public Mono<ResponseView<Boolean>> deleteLogo(@PathVariable String orgId) {
9090

9191
@Override
9292
public Mono<ResponseView<OrgMemberListView>> getOrgMembers(@PathVariable String orgId,
93-
@RequestParam(name = "page", required = false, defaultValue = "0") int page,
94-
@RequestParam(name = "count", required = false, defaultValue = "1000") int count) {
93+
@RequestParam(required = false, defaultValue = "0") int pageNum,
94+
@RequestParam(required = false, defaultValue = "1000") int pageSize) {
9595
String id = gidService.convertOrganizationIdToObjectId(orgId);
96-
return orgApiService.getOrganizationMembers(id, page, count)
96+
return orgApiService.getOrganizationMembers(id, pageNum, pageSize)
9797
.map(ResponseView::success);
9898
}
9999

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ public Mono<ResponseView<Boolean>> uploadLogo(@PathVariable String orgId,
9595
)
9696
@GetMapping("/{orgId}/members")
9797
public Mono<ResponseView<OrgMemberListView>> getOrgMembers(@PathVariable String orgId,
98-
@RequestParam(name = "page", required = false, defaultValue = "0") int page,
99-
@RequestParam(name = "count", required = false, defaultValue = "1000") int count);
98+
@RequestParam(required = false, defaultValue = "0") int pageNum,
99+
@RequestParam(required = false, defaultValue = "1000") int pageSize);
100100

101101
@Operation(
102102
tags = TAG_ORGANIZATION_MEMBERS,

0 commit comments

Comments
 (0)