Skip to content

Commit 0ad8fef

Browse files
Thomasrludomikula
Thomasr
authored andcommitted
Add name param to folder list endpoint
1 parent 38a32d5 commit 0ad8fef

File tree

6 files changed

+12
-9
lines changed

6 files changed

+12
-9
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public interface FolderApiService {
2727

2828
Mono<Void> upsertLastViewTime(@Nullable String folderId);
2929

30-
Flux<?> getElements(@Nullable String folderId, @Nullable ApplicationType applicationType);
30+
Flux<?> getElements(@Nullable String folderId, @Nullable ApplicationType applicationType, @Nullable String name);
3131

3232
Mono<Void> grantPermission(String folderId, Set<String> userIds, Set<String> groupIds, ResourceRole role);
3333

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,8 @@ public Mono<Void> upsertLastViewTime(@Nullable String folderId) {
233233
* @return flux of {@link ApplicationInfoView} or {@link FolderInfoView}
234234
*/
235235
@Override
236-
public Flux<?> getElements(@Nullable String folderId, @Nullable ApplicationType applicationType) {
237-
return buildApplicationInfoViewTree(applicationType)
236+
public Flux<?> getElements(@Nullable String folderId, @Nullable ApplicationType applicationType, @Nullable String name) {
237+
return buildApplicationInfoViewTree(applicationType, name)
238238
.flatMap(tree -> {
239239
FolderNode<ApplicationInfoView, FolderInfoView> folderNode = tree.get(folderId);
240240
if (folderNode == null) {
@@ -278,7 +278,7 @@ private Mono<Tree<Object, Folder>> buildFolderTree(String orgId) {
278278
.map(folders -> new Tree<>(folders, Folder::getId, Folder::getParentFolderId, Collections.emptyList(), null, null));
279279
}
280280

281-
private Mono<Tree<ApplicationInfoView, FolderInfoView>> buildApplicationInfoViewTree(@Nullable ApplicationType applicationType) {
281+
private Mono<Tree<ApplicationInfoView, FolderInfoView>> buildApplicationInfoViewTree(@Nullable ApplicationType applicationType, @Nullable String name) {
282282

283283
Mono<OrgMember> orgMemberMono = sessionUserService.getVisitorOrgMemberCache()
284284
.cache();
@@ -294,6 +294,7 @@ private Mono<Tree<ApplicationInfoView, FolderInfoView>> buildApplicationInfoView
294294
.collectMap(FolderElement::elementId, FolderElement::folderId);
295295

296296
Flux<Folder> folderFlux = orgMemberMono.flatMapMany(orgMember -> folderService.findByOrganizationId(orgMember.getOrgId()))
297+
.filter(folder -> name == null || folder.getName().toLowerCase().contains(name.toLowerCase()))
297298
.cache();
298299

299300
Mono<Map<String, Instant>> folderId2LastViewTimeMapMono = orgMemberMono

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,10 @@ public Mono<ResponseView<FolderInfoView>> update(@RequestBody Folder folder) {
6969
*/
7070
@Override
7171
public Mono<ResponseView<List<?>>> getElements(@RequestParam(value = "id", required = false) String folderId,
72-
@RequestParam(value = "applicationType", required = false) ApplicationType applicationType) {
72+
@RequestParam(value = "applicationType", required = false) ApplicationType applicationType,
73+
@RequestParam(required = false) String name) {
7374
String objectId = gidService.convertFolderIdToObjectId(folderId);
74-
return folderApiService.getElements(objectId, applicationType)
75+
return folderApiService.getElements(objectId, applicationType, name)
7576
.collectList()
7677
.delayUntil(__ -> folderApiService.upsertLastViewTime(objectId))
7778
.map(ResponseView::success);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ public interface FolderEndpoints
6969
)
7070
@GetMapping("/elements")
7171
public Mono<ResponseView<List<?>>> getElements(@RequestParam(value = "id", required = false) String folderId,
72-
@RequestParam(value = "applicationType", required = false) ApplicationType applicationType);
72+
@RequestParam(value = "applicationType", required = false) ApplicationType applicationType,
73+
@RequestParam(required = false) String name);
7374

7475
@Operation(
7576
tags = TAG_FOLDER_MANAGEMENT,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public Mono<UserHomepageView> getUserHomePageView(ApplicationType applicationTyp
157157
}
158158

159159
return organizationService.getById(currentOrgId)
160-
.zipWith(folderApiService.getElements(null, applicationType).collectList())
160+
.zipWith(folderApiService.getElements(null, applicationType, null).collectList())
161161
.map(tuple2 -> {
162162
Organization organization = tuple2.getT1();
163163
List<?> list = tuple2.getT2();

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/service/FolderApiServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public void updateByGid() {
137137
public void move() {
138138

139139
Mono<? extends List<?>> mono = folderApiService.move("app01", "folder02")
140-
.then(folderApiService.getElements("folder02", null).collectList());
140+
.then(folderApiService.getElements("folder02", null, null).collectList());
141141

142142
StepVerifier.create(mono)
143143
.assertNext(list -> {

0 commit comments

Comments
 (0)