diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java index b169900c0..e00220ec9 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/model/dossiertemplate/dossier/DossierStats.java @@ -18,6 +18,7 @@ public class DossierStats { private String dossierId; private int numberOfFiles; private int numberOfPages; // sum of pages + private int numberOfExcludedPages; // sum of excludedPages private boolean hasRedactionsFilePresent; // true if at least one file in the dossier has redactions private boolean hasHintsNoRedactionsFilePresent; // true if at least one file in the dossier has hints but doesn't have redactions private boolean hasSuggestionsFilePresent; // true if at least one file in the dossier has suggestions diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java index b8ed39205..bbac5a4d1 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DossierResource.java @@ -24,14 +24,12 @@ public interface DossierResource { String INCLUDE_DELETED_PARAM = "includeDeleted"; - String SINCE_REQUEST_PARAM="since"; - String CHANGES_PATH = "/has-changes"; @ResponseBody @ResponseStatus(value = HttpStatus.OK) - @GetMapping(value = REST_PATH+CHANGES_PATH, produces = MediaType.APPLICATION_JSON_VALUE) - JSONPrimitive hasChangesSince(@RequestParam(SINCE_REQUEST_PARAM) OffsetDateTime since); + @PostMapping(value = REST_PATH+CHANGES_PATH, produces = MediaType.APPLICATION_JSON_VALUE) + JSONPrimitive hasChangesSince(@RequestBody JSONPrimitive since); @PostMapping(value = REST_PATH, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) Dossier addDossier(@RequestBody CreateOrUpdateDossierRequest dossierRequest); diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java index a83e081e6..defeb7730 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/NotificationResource.java @@ -24,13 +24,12 @@ public interface NotificationResource { String INCLUDE_SEEN_PARAM = "includeSeen"; String SET_SEEN_PARAM = "setSeen"; String SET_READ_PARAM = "setRead"; - String SINCE_REQUEST_PARAM = "since"; @ResponseBody @ResponseStatus(value = HttpStatus.OK) - @GetMapping(value = NOTIFICATION_PATH + CHANGES_PATH + USER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = NOTIFICATION_PATH + CHANGES_PATH + USER_ID_PATH_PARAM, produces = MediaType.APPLICATION_JSON_VALUE) JSONPrimitive hasNewNotificationsSince(@PathVariable(USER_ID_PARAM) String userId, - @RequestParam(SINCE_REQUEST_PARAM) OffsetDateTime since); + @RequestBody JSONPrimitive since); @PostMapping(value = NOTIFICATION_PATH, consumes = MediaType.APPLICATION_JSON_VALUE) void addNotification(@RequestBody AddNotificationRequest addNotificationRequest); diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java index c14be1f06..22196e87a 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/StatusResource.java @@ -26,8 +26,6 @@ public interface StatusResource { String APPROVER_ID_REQUEST_PARAM = "approverId"; String REVIEWER_ID_REQUEST_PARAM = "reviewerId"; - String SINCE_REQUEST_PARAM="since"; - @ResponseBody @@ -37,8 +35,8 @@ public interface StatusResource { @ResponseBody @ResponseStatus(value = HttpStatus.OK) - @GetMapping(value = STATUS_PATH+DOSSIER_ID_PATH_PARAM+CHANGES_PATH, produces = MediaType.APPLICATION_JSON_VALUE) - JSONPrimitive hasChangesSince(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @RequestParam(SINCE_REQUEST_PARAM) OffsetDateTime since); + @PostMapping(value = STATUS_PATH+DOSSIER_ID_PATH_PARAM+CHANGES_PATH, produces = MediaType.APPLICATION_JSON_VALUE) + JSONPrimitive hasChangesSince(@PathVariable(DOSSIER_ID_PARAM) String dossierId, @RequestBody JSONPrimitive since); @ResponseBody @ResponseStatus(value = HttpStatus.OK) diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java index 433d29416..f08038ef4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/DossierController.java @@ -41,9 +41,9 @@ public class DossierController implements DossierResource { @Override - public JSONPrimitive hasChangesSince(@RequestParam(SINCE_REQUEST_PARAM) OffsetDateTime since) { + public JSONPrimitive hasChangesSince(@RequestBody JSONPrimitive since) { - return JSONPrimitive.of(dossierService.hasChangesSince(since)); + return JSONPrimitive.of(dossierService.hasChangesSince(since.getValue())); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java index a3b90f1ae..86ca89def 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/FileStatusController.java @@ -42,9 +42,9 @@ public class FileStatusController implements StatusResource { @Override public JSONPrimitive hasChangesSince(@PathVariable(DOSSIER_ID_PARAM) String dossierId, - @RequestParam(SINCE_REQUEST_PARAM) OffsetDateTime since) { + @RequestBody JSONPrimitive since){ - return JSONPrimitive.of(fileStatusService.hasChangesSince(dossierId,since)); + return JSONPrimitive.of(fileStatusService.hasChangesSince(dossierId,since.getValue())); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java index 86295f103..505938fe7 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/controller/NotificationController.java @@ -27,8 +27,8 @@ public class NotificationController implements NotificationResource { private final NotificationPreferencesPersistenceService notificationPreferencesPersistenceService; @Override - public JSONPrimitive hasNewNotificationsSince(String userId, OffsetDateTime since) { - return JSONPrimitive.of(notificationPersistenceService.hasNewNotificationsSince(userId, since)); + public JSONPrimitive hasNewNotificationsSince(@PathVariable(USER_ID_PARAM) String userId, @RequestBody JSONPrimitive since) { + return JSONPrimitive.of(notificationPersistenceService.hasNewNotificationsSince(userId, since.getValue())); } public void addNotification(@RequestBody AddNotificationRequest addNotificationRequest) { diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java index 3d3f988fb..1383ac8f8 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/service/DossierStatsService.java @@ -36,6 +36,7 @@ public class DossierStatsService { List files = fileStatusService.getActiveFiles(dossierId); dossierStats.setNumberOfFiles(files.size()); dossierStats.setNumberOfPages(files.stream().mapToInt(FileEntity::getNumberOfPages).sum()); + dossierStats.setNumberOfExcludedPages(files.stream().mapToInt(f -> f.getExcludedPages().size()).sum()); files.stream().filter(FileEntity::isHasRedactions).findAny().ifPresent( (v) -> dossierStats.setHasRedactionsFilePresent(true) ); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java index 9713fa4c2..6a2938960 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierStatsTest.java @@ -55,7 +55,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { var loadedFile1 = fileClient.getFileStatus(dossier1.getId(), file1.getId()); assertThat(loadedFile1.isHasRedactions()).isFalse(); fileRepository.findById(file1.getId()).ifPresent((file) -> { - file.setNumberOfAnalyses(NUMBER_PAGES_ANALYZED); + file.setNumberOfPages(NUMBER_PAGES_ANALYZED); file.setHasRedactions(true); file.setHasHints(true); file.setHasUpdates(true); @@ -88,7 +88,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { DossierStats dossierStats = dossierStatsClient.getDossierStats(dossier1.getId()); assertThat(dossierStats.getDossierId()).isEqualTo(dossier1.getId()); assertThat(dossierStats.getNumberOfFiles()).isEqualTo(2); - assertThat(dossierStats.getNumberOfAnalysedPages()).isEqualTo(NUMBER_PAGES_ANALYZED); + assertThat(dossierStats.getNumberOfPages()).isEqualTo(0); assertThat(dossierStats.isHasRedactionsFilePresent()).isTrue(); assertThat(dossierStats.isHasHintsNoRedactionsFilePresent()).isFalse(); assertThat(dossierStats.isHasSuggestionsFilePresent()).isTrue(); @@ -108,7 +108,7 @@ public class DossierStatsTest extends AbstractPersistenceServerServiceTest { // get the result for dossier2 DossierStats dossierStats = dossierStatsList.stream().filter(d -> d.getDossierId().equals(dossier2.getId())).findAny().get(); assertThat(dossierStats.getNumberOfFiles()).isEqualTo(2); - assertThat(dossierStats.getNumberOfAnalysedPages()).isEqualTo(0); + assertThat(dossierStats.getNumberOfPages()).isEqualTo(0); assertThat(dossierStats.isHasRedactionsFilePresent()).isFalse(); assertThat(dossierStats.isHasHintsNoRedactionsFilePresent()).isTrue(); assertThat(dossierStats.isHasSuggestionsFilePresent()).isFalse(); diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java index ba729cc99..15a5ed284 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DownloadPreparationTest.java @@ -86,7 +86,6 @@ public class DownloadPreparationTest extends AbstractPersistenceServerServiceTes dossierClient.updateDossier(CreateOrUpdateDossierRequest.builder() .dossierName(dossier.getDossierName()) - .date(dossier.getDate()) .description(dossier.getDescription()) .ownerId(dossier.getOwnerId()) .memberIds(dossier.getMemberIds())