Skip to content

Commit 2c2c6bb

Browse files
committed
Added pagination to application list endpoint
1 parent 7158453 commit 2c2c6bb

File tree

6 files changed

+14
-8
lines changed

6 files changed

+14
-8
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ private Mono<Void> autoGrantPermissionsByFolderDefault(String applicationId, @Nu
170170

171171
@Override
172172
public Flux<ApplicationInfoView> getRecycledApplications(String name) {
173-
return userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(null, ApplicationStatus.RECYCLED, false, name);
173+
return userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(null, ApplicationStatus.RECYCLED, false, name, 0, 0);
174174
}
175175

176176
private Mono<Void> checkCurrentUserApplicationPermission(String applicationId, ResourceAction action) {

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,11 @@ public Mono<ResponseView<UserHomepageView>> getUserHomePage(@RequestParam(requir
160160
public Mono<ResponseView<List<ApplicationInfoView>>> getApplications(@RequestParam(required = false) Integer applicationType,
161161
@RequestParam(required = false) ApplicationStatus applicationStatus,
162162
@RequestParam(defaultValue = "true") boolean withContainerSize,
163-
@RequestParam(required = false) String name) {
163+
@RequestParam(required = false) String name,
164+
@RequestParam(required = false, defaultValue = "0") Integer pageNum,
165+
@RequestParam(required = false, defaultValue = "0") Integer pageSize) {
164166
ApplicationType applicationTypeEnum = applicationType == null ? null : ApplicationType.fromValue(applicationType);
165-
return userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(applicationTypeEnum, applicationStatus, withContainerSize, name)
167+
return userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(applicationTypeEnum, applicationStatus, withContainerSize, name, pageNum, pageSize)
166168
.collectList()
167169
.map(ResponseView::success);
168170
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,9 @@ public Mono<ResponseView<Boolean>> updateEditState(@PathVariable String applicat
166166
public Mono<ResponseView<List<ApplicationInfoView>>> getApplications(@RequestParam(required = false) Integer applicationType,
167167
@RequestParam(required = false) ApplicationStatus applicationStatus,
168168
@RequestParam(defaultValue = "true") boolean withContainerSize,
169-
@RequestParam(required = false) String name);
169+
@RequestParam(required = false) String name,
170+
@RequestParam(required = false, defaultValue = "0") Integer pageNum,
171+
@RequestParam(required = false, defaultValue = "0") Integer pageSize);
170172

171173
@Operation(
172174
tags = TAG_APPLICATION_MANAGEMENT,

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/FolderApiServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ private Mono<Tree<ApplicationInfoView, FolderInfoView>> buildApplicationInfoView
284284
.cache();
285285

286286
Flux<ApplicationInfoView> applicationInfoViewFlux =
287-
userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(applicationType, ApplicationStatus.NORMAL, false, null)
287+
userHomeApiService.getAllAuthorisedApplications4CurrentOrgMember(applicationType, ApplicationStatus.NORMAL, false, null, 0, 0)
288288
.cache();
289289

290290
Mono<Map<String, String>> application2FolderMapMono = applicationInfoViewFlux

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public interface UserHomeApiService {
2424
Mono<UserHomepageView> getUserHomePageView(ApplicationType applicationType);
2525

2626
Flux<ApplicationInfoView> getAllAuthorisedApplications4CurrentOrgMember(@Nullable ApplicationType applicationType,
27-
@Nullable ApplicationStatus applicationStatus, boolean withContainerSize, @Nullable String name);
27+
@Nullable ApplicationStatus applicationStatus, boolean withContainerSize, @Nullable String name, Integer pageNum, Integer pageSize);
2828

2929
Flux<BundleInfoView> getAllAuthorisedBundles4CurrentOrgMember(@Nullable BundleStatus bundleStatus);
3030

server/api-service/lowcoder-server/src/main/java/org/lowcoder/api/home/UserHomeApiServiceImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ public Mono<UserHomepageView> getUserHomePageView(ApplicationType applicationTyp
189189

190190
@Override
191191
public Flux<ApplicationInfoView> getAllAuthorisedApplications4CurrentOrgMember(@Nullable ApplicationType applicationType,
192-
@Nullable ApplicationStatus applicationStatus, boolean withContainerSize, @Nullable String name) {
192+
@Nullable ApplicationStatus applicationStatus, boolean withContainerSize, @Nullable String name, Integer pageNum, Integer pageSize) {
193193

194194
return sessionUserService.getVisitorOrgMemberCache()
195195
.flatMapMany(orgMember -> {
@@ -207,7 +207,9 @@ public Flux<ApplicationInfoView> getAllAuthorisedApplications4CurrentOrgMember(@
207207
&& (isNull(name) || StringUtils.containsIgnoreCase(application.getName(), name)))
208208
.cache()
209209
.collectList()
210-
.flatMapIterable(Function.identity());
210+
.flatMapIterable(Function.identity())
211+
.skip((long) pageNum * pageSize);
212+
if(pageSize > 0) applicationFlux = applicationFlux.take(pageSize);
211213

212214
// last view time
213215
Mono<Map<String, Instant>> applicationLastViewTimeMapMono = userApplicationInteractionService.findByUserId(visitorId)

0 commit comments

Comments
 (0)