diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/StatusController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/StatusController.java index 9acf78b8a..5f4921559 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/StatusController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/StatusController.java @@ -487,6 +487,7 @@ public class StatusController implements StatusResource { .excluded(status.isExcluded()) .excludedPages(status.getExcludedPages()) .softDeletedTime(status.getDeleted()) + .hardDeletedTime(status.getHardDeletedTime()) .analysisRequired(status.isAnalysisRequired()) .lastFileAttributeChange(status.getLastFileAttributeChange()) .redactionModificationDate(status.getRedactionModificationDate()) diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java index 36dcc42e7..b91db32f4 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/FileControllerV2.java @@ -6,6 +6,7 @@ import static com.iqser.red.service.persistence.service.v2.api.external.resource import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierResource.INCLUDE_SOFT_DELETED_PARAM; import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource.DOSSIER_TEMPLATE_ID_PARAM; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -94,10 +95,14 @@ public class FileControllerV2 implements FileResource { dossierController.getDossier(dossierId, true, includeSoftDeleted); - var status = statusController.getFileStatus(dossierId, fileId); + FileStatus status = statusController.getFileStatus(dossierId, fileId); + + if (status.getHardDeletedTime() != null) { + throw new NotFoundException(String.format("The requested file has been hard deleted on %s.", status.getHardDeletedTime().format(DateTimeFormatter.ISO_LOCAL_DATE))); + } if (!includeSoftDeleted && status.getSoftDeletedTime() != null) { - throw new NotFoundException("The requested file does not exist."); + throw new NotFoundException(String.format("The requested file has been soft deleted on %s.", status.getSoftDeletedTime().format(DateTimeFormatter.ISO_LOCAL_DATE))); } return status; diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatus.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatus.java index f2f09de90..1af0c17f7 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatus.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/FileStatus.java @@ -123,6 +123,8 @@ public class FileStatus { private Set excludedPages; @Schema(description = "Shows if the file is soft deleted.") private OffsetDateTime softDeletedTime; + @Schema(description = "Shows if the file is hard deleted.") + private OffsetDateTime hardDeletedTime; @Schema(description = "Date and time when the files attributes was last updated.") private OffsetDateTime lastFileAttributeChange; @Schema(description = "Shows if there are any Suggestions in this file.")