Skip to content

Commit f1bedbf

Browse files
dragonpooludomikula
authored andcommitted
add theme to snapshot list api
1 parent 4fc650c commit f1bedbf

File tree

6 files changed

+17
-23
lines changed

6 files changed

+17
-23
lines changed

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationHistorySnapshotRepository.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
@Repository
1313
public interface ApplicationHistorySnapshotRepository extends ReactiveMongoRepository<ApplicationHistorySnapshot, String> {
1414

15-
@Query(fields = "{applicationId : 1, context: 1, createdBy : 1, createdAt : 1}")
16-
Flux<ApplicationHistorySnapshot> findAllByApplicationId(String applicationId, Pageable pageable);
15+
@Query(value = "{ 'applicationId': ?0, $and: [{$or: [ { 'context.operations': { $elemMatch: { 'compName': ?1 } } }, { $expr: { $eq: [?1, null] } } ]}" +
16+
", {$or: [ { 'dsl.settings.themeId': ?2 }, { $expr: { $eq: [?2, null] } } ] } ] }",
17+
fields = "{applicationId : 1, context: 1, createdBy : 1, createdAt : 1}")
18+
Flux<ApplicationHistorySnapshot> findAllByApplicationId(String applicationId, String compName, String theme, Pageable pageable);
1719

1820
Mono<Long> countByApplicationId(String applicationId);
1921
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,16 @@
66
import org.lowcoder.domain.application.model.ApplicationHistorySnapshot;
77
import org.springframework.data.domain.PageRequest;
88

9+
import org.springframework.web.bind.annotation.RequestParam;
910
import reactor.core.publisher.Mono;
1011

1112
public interface ApplicationHistorySnapshotService {
1213

1314
Mono<Boolean> createHistorySnapshot(String applicationId, Map<String, Object> dsl, Map<String, Object> context, String userId);
1415

15-
Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, PageRequest pageRequest);
16+
Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, String compName, String theme, PageRequest pageRequest);
1617

1718
Mono<Long> countByApplicationId(String applicationId);
1819

1920
Mono<ApplicationHistorySnapshot> getHistorySnapshotDetail(String historySnapshotId);
20-
21-
Mono<ApplicationHistorySnapshot> getLastSnapshotByApp(String applicationId);
2221
}

server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/service/impl/ApplicationHistorySnapshotServiceImpl.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.data.domain.Sort.Direction;
2020
import org.springframework.stereotype.Service;
2121

22+
import org.springframework.web.bind.annotation.RequestParam;
2223
import reactor.core.publisher.Mono;
2324

2425
@RequiredArgsConstructor
@@ -39,8 +40,8 @@ public Mono<Boolean> createHistorySnapshot(String applicationId, Map<String, Obj
3940
}
4041

4142
@Override
42-
public Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, PageRequest pageRequest) {
43-
return repository.findAllByApplicationId(applicationId, pageRequest.withSort(Direction.DESC, "id"))
43+
public Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, String compName, String theme, PageRequest pageRequest) {
44+
return repository.findAllByApplicationId(applicationId, compName, theme, pageRequest.withSort(Direction.DESC, "id"))
4445
.collectList()
4546
.onErrorMap(Exception.class, e -> ofException(BizError.FETCH_HISTORY_SNAPSHOT_FAILURE, "FETCH_HISTORY_SNAPSHOT_FAILURE"));
4647
}
@@ -58,13 +59,4 @@ public Mono<ApplicationHistorySnapshot> getHistorySnapshotDetail(String historyS
5859
return repository.findById(historySnapshotId)
5960
.switchIfEmpty(deferredError(INVALID_HISTORY_SNAPSHOT, "INVALID_HISTORY_SNAPSHOT", historySnapshotId));
6061
}
61-
62-
@Override
63-
public Mono<ApplicationHistorySnapshot> getLastSnapshotByApp(String applicationId) {
64-
ApplicationHistorySnapshot _default = new ApplicationHistorySnapshot();
65-
_default.setCreatedAt(Instant.ofEpochMilli(0));
66-
_default.setCreatedBy("");
67-
return repository.findAllByApplicationId(applicationId, PageRequest.of(0, 1).withSort(Direction.DESC, "createdAt"))
68-
.switchIfEmpty(Mono.just(_default)).next();
69-
}
7062
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,14 @@ public Mono<ResponseView<Boolean>> create(@RequestBody ApplicationHistorySnapsho
5555

5656
@Override
5757
public Mono<ResponseView<Map<String, Object>>> listAllHistorySnapshotBriefInfo(@PathVariable String applicationId,
58-
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) {
58+
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size, @RequestParam String compName, @RequestParam String theme) {
5959

6060
Pagination pagination = Pagination.of(page, size).check();
6161

6262
return sessionUserService.getVisitorId()
6363
.delayUntil(visitor -> resourcePermissionService.checkResourcePermissionWithError(visitor, applicationId,
6464
ResourceAction.EDIT_APPLICATIONS))
65-
.flatMap(__ -> applicationHistorySnapshotService.listAllHistorySnapshotBriefInfo(applicationId,
66-
pagination.toPageRequest()))
65+
.flatMap(__ -> applicationHistorySnapshotService.listAllHistorySnapshotBriefInfo(applicationId, compName, theme, pagination.toPageRequest()))
6766
.flatMap(snapshotList -> {
6867
Mono<List<ApplicationHistorySnapshotBriefInfo>> snapshotBriefInfoList = multiBuild(snapshotList,
6968
ApplicationHistorySnapshot::getCreatedBy,

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

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

33
import java.util.Map;
44

5+
import jakarta.annotation.Nullable;
56
import org.lowcoder.api.application.view.HistorySnapshotDslView;
67
import org.lowcoder.api.framework.view.ResponseView;
78
import org.lowcoder.infra.constant.NewUrl;
@@ -39,7 +40,8 @@ public interface ApplicationHistorySnapshotEndpoints
3940
)
4041
@GetMapping("/{applicationId}")
4142
public Mono<ResponseView<Map<String, Object>>> listAllHistorySnapshotBriefInfo(@PathVariable String applicationId,
42-
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size);
43+
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size,
44+
@RequestParam(required = false ) @Nullable String compName, @RequestParam(required = false ) @Nullable String theme);
4345

4446
@Operation(
4547
tags = TAG_APPLICATION_HISTORY_MANAGEMENT,

server/api-service/lowcoder-server/src/test/java/org/lowcoder/api/service/impl/ApplicationHistorySnapshotServiceTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public void testServiceMethods() {
4444
.verifyComplete();
4545

4646

47-
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, PageRequest.of(0, 5)))
47+
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, null, null, PageRequest.of(0, 5)))
4848
.assertNext(list -> {
4949
assertEquals(2, list.size());
5050

@@ -64,7 +64,7 @@ public void testServiceMethods() {
6464
})
6565
.verifyComplete();
6666

67-
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, PageRequest.of(1, 1)))
67+
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, null, null, PageRequest.of(1, 1)))
6868
.assertNext(list -> {
6969
assertEquals(1, list.size());
7070
ApplicationHistorySnapshot one = list.get(0);
@@ -75,7 +75,7 @@ public void testServiceMethods() {
7575
.verifyComplete();
7676

7777

78-
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, PageRequest.of(0, 5))
78+
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, null, null, PageRequest.of(0, 5))
7979
.map(it -> it.get(0))
8080
.map(HasIdAndAuditing::getId)
8181
.flatMap(id -> service.getHistorySnapshotDetail(id)))

0 commit comments

Comments
 (0)