Skip to content

Commit

Permalink
add compname to snapshot list api
Browse files Browse the repository at this point in the history
  • Loading branch information
Imiss-U1025 authored and dragonpoo committed Oct 9, 2024
1 parent 66b527b commit 0181e0a
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
@Repository
public interface ApplicationHistorySnapshotRepository extends ReactiveMongoRepository<ApplicationHistorySnapshot, String> {

@Query(value = "{ 'applicationId': ?0, 'context.operations': { $elemMatch: { 'compName': ?1 } } }",
fields = "{applicationId : 1, context: 1, createdBy : 1, createdAt : 1}")
Flux<ApplicationHistorySnapshot> findAllByApplicationIdAndCompName(String applicationId, String compName, Pageable pageable);
@Query(fields = "{applicationId : 1, context: 1, createdBy : 1, createdAt : 1}")
Flux<ApplicationHistorySnapshot> findAllByApplicationId(String applicationId, Pageable pageable);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,9 @@ public interface ApplicationHistorySnapshotService {

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

Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, PageRequest pageRequest);
Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, String compName, PageRequest pageRequest);

Mono<Long> countByApplicationId(String applicationId);

Mono<ApplicationHistorySnapshot> getHistorySnapshotDetail(String historySnapshotId);

Mono<ApplicationHistorySnapshot> getLastSnapshotByApp(String applicationId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,15 @@ public Mono<Boolean> createHistorySnapshot(String applicationId, Map<String, Obj
}

@Override
public Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, PageRequest pageRequest) {
return repository.findAllByApplicationId(applicationId, pageRequest.withSort(Direction.DESC, "id"))
.collectList()
.onErrorMap(Exception.class, e -> ofException(BizError.FETCH_HISTORY_SNAPSHOT_FAILURE, "FETCH_HISTORY_SNAPSHOT_FAILURE"));
public Mono<List<ApplicationHistorySnapshot>> listAllHistorySnapshotBriefInfo(String applicationId, String compName, PageRequest pageRequest) {
if(compName == null || compName.isEmpty())
return repository.findAllByApplicationId(applicationId, pageRequest.withSort(Direction.DESC, "id"))
.collectList()
.onErrorMap(Exception.class, e -> ofException(BizError.FETCH_HISTORY_SNAPSHOT_FAILURE, "FETCH_HISTORY_SNAPSHOT_FAILURE"));
else
return repository.findAllByApplicationIdAndCompName(applicationId, compName, pageRequest.withSort(Direction.DESC, "id"))
.collectList()
.onErrorMap(Exception.class, e -> ofException(BizError.FETCH_HISTORY_SNAPSHOT_FAILURE, "FETCH_HISTORY_SNAPSHOT_FAILURE"));
}

@Override
Expand All @@ -58,13 +63,4 @@ public Mono<ApplicationHistorySnapshot> getHistorySnapshotDetail(String historyS
return repository.findById(historySnapshotId)
.switchIfEmpty(deferredError(INVALID_HISTORY_SNAPSHOT, "INVALID_HISTORY_SNAPSHOT", historySnapshotId));
}

@Override
public Mono<ApplicationHistorySnapshot> getLastSnapshotByApp(String applicationId) {
ApplicationHistorySnapshot _default = new ApplicationHistorySnapshot();
_default.setCreatedAt(Instant.ofEpochMilli(0));
_default.setCreatedBy("");
return repository.findAllByApplicationId(applicationId, PageRequest.of(0, 1).withSort(Direction.DESC, "createdAt"))
.switchIfEmpty(Mono.just(_default)).next();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,14 @@ public Mono<ResponseView<Boolean>> create(@RequestBody ApplicationHistorySnapsho

@Override
public Mono<ResponseView<Map<String, Object>>> listAllHistorySnapshotBriefInfo(@PathVariable String applicationId,
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size) {
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size, @RequestParam String compName) {

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

return sessionUserService.getVisitorId()
.delayUntil(visitor -> resourcePermissionService.checkResourcePermissionWithError(visitor, applicationId,
ResourceAction.EDIT_APPLICATIONS))
.flatMap(__ -> applicationHistorySnapshotService.listAllHistorySnapshotBriefInfo(applicationId,
pagination.toPageRequest()))
.flatMap(__ -> applicationHistorySnapshotService.listAllHistorySnapshotBriefInfo(applicationId, compName, pagination.toPageRequest()))
.flatMap(snapshotList -> {
Mono<List<ApplicationHistorySnapshotBriefInfo>> snapshotBriefInfoList = multiBuild(snapshotList,
ApplicationHistorySnapshot::getCreatedBy,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import java.util.Map;

import jakarta.annotation.Nullable;
import org.lowcoder.api.application.view.HistorySnapshotDslView;
import org.lowcoder.api.framework.view.ResponseView;
import org.lowcoder.infra.constant.NewUrl;
Expand Down Expand Up @@ -39,7 +40,7 @@ public interface ApplicationHistorySnapshotEndpoints
)
@GetMapping("/{applicationId}")
public Mono<ResponseView<Map<String, Object>>> listAllHistorySnapshotBriefInfo(@PathVariable String applicationId,
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size);
@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "10") int size, @RequestParam(required = false ) @Nullable String compName);

@Operation(
tags = TAG_APPLICATION_HISTORY_MANAGEMENT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void testServiceMethods() {
.verifyComplete();


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

Expand All @@ -64,7 +64,7 @@ public void testServiceMethods() {
})
.verifyComplete();

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


StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, PageRequest.of(0, 5))
StepVerifier.create(service.listAllHistorySnapshotBriefInfo(applicationId, null, PageRequest.of(0, 5))
.map(it -> it.get(0))
.map(HasIdAndAuditing::getId)
.flatMap(id -> service.getHistorySnapshotDetail(id)))
Expand Down

0 comments on commit 0181e0a

Please sign in to comment.