Skip to content

Commit 3d00ac1

Browse files
author
Thomas
committed
Add GID to folder
1 parent 5221870 commit 3d00ac1

File tree

5 files changed

+17
-0
lines changed

5 files changed

+17
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.lowcoder.domain.folder.model;
22

33

4+
import com.github.f4b6a3.uuid.UuidCreator;
45
import jakarta.annotation.Nullable;
56
import lombok.Getter;
67
import lombok.NoArgsConstructor;
@@ -15,8 +16,10 @@
1516
public class Folder extends HasIdAndAuditing {
1617

1718
private String organizationId;
19+
private String gid = UuidCreator.getTimeOrderedEpoch().toString();
1820
@Nullable
1921
private String parentFolderId; // null represents folder in the root folder
22+
private String parentFolderGid; // null represents folder in the root folder
2023
private String name;
2124
private String title;
2225
private String description;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,14 @@
55
import org.springframework.stereotype.Repository;
66

77
import reactor.core.publisher.Flux;
8+
import reactor.core.publisher.Mono;
9+
10+
import java.util.Collection;
811

912
@Repository
1013
public interface FolderRepository extends ReactiveMongoRepository<Folder, String> {
1114

1215
Flux<Folder> findByOrganizationId(String organizationId);
16+
Mono<Folder> findByGid(String organizationGid);
17+
Mono<Void> deleteAllByGid(Collection<String> gids);
1318
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ public Mono<Folder> findById(String id) {
3939
return Mono.error(new BizException(BizError.INVALID_PARAMETER, "INVALID_PARAMETER", FieldName.ID));
4040
}
4141

42+
if(FieldName.isGID(id))
43+
return repository.findByGid(id)
44+
.switchIfEmpty(Mono.error(new BizException(BizError.NO_RESOURCE_FOUND, "FOLDER_NOT_FOUND", id)));
4245
return repository.findById(id)
4346
.switchIfEmpty(Mono.error(new BizException(BizError.NO_RESOURCE_FOUND, "FOLDER_NOT_FOUND", id)));
4447
}
@@ -55,6 +58,8 @@ public Flux<Folder> findByOrganizationId(String organizationId) {
5558

5659
@Override
5760
public Mono<Void> deleteAllById(Collection<String> ids) {
61+
if(!ids.isEmpty() && FieldName.isGID(ids.stream().findFirst().get()))
62+
return repository.deleteAllByGid(ids);
5863
return repository.deleteAllById(ids);
5964
}
6065

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,9 @@ private Mono<Tree<ApplicationInfoView, FolderInfoView>> buildApplicationInfoView
315315
return FolderInfoView.builder()
316316
.orgId(orgMember.getOrgId())
317317
.folderId(folder.getId())
318+
.folderGid(folder.getGid())
318319
.parentFolderId(folder.getParentFolderId())
320+
.parentFolderGid(folder.getParentFolderGid())
319321
.name(folder.getName())
320322
.createAt(folder.getCreatedAt().toEpochMilli())
321323
.createBy(creator == null ? null : creator.getName())

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ public class FolderInfoView {
1818

1919
private final String orgId;
2020
private final String folderId;
21+
private final String folderGid;
2122
private final String parentFolderId;
23+
private final String parentFolderGid;
2224
private final String name;
2325
private final String title;
2426
private final String description;

0 commit comments

Comments
 (0)