summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm/etl
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-08-11 09:22:54 +0200
committerGitHub2023-08-11 09:22:54 +0200
commit6ecb439007b4fa6dec9af1e0334b89fd235a97be (patch)
treed6d6b63f4e75e56f062619e458bb77914a6c68f4 /src/main/kotlin/dev/dnpm/etl
parentcb9c5904729c90b86357d0668604b74f4f4e61f7 (diff)
Issue #3: Detect the request type of request with last known status (#5)
Diffstat (limited to 'src/main/kotlin/dev/dnpm/etl')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt2
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt
index d2f8619..34156f7 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt
@@ -95,7 +95,7 @@ class RequestProcessor(
private fun isDuplication(pseudonymizedMtbFile: MtbFile): Boolean {
val lastMtbFileRequestForPatient =
requestService.lastMtbFileRequestForPatientPseudonym(pseudonymizedMtbFile.patient.id)
- val isLastRequestDeletion = requestService.isLastRequestDeletion(pseudonymizedMtbFile.patient.id)
+ val isLastRequestDeletion = requestService.isLastRequestWithKnownStatusDeletion(pseudonymizedMtbFile.patient.id)
return null != lastMtbFileRequestForPatient
&& !isLastRequestDeletion
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt
index 0f69910..e0043d2 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt
@@ -38,8 +38,8 @@ class RequestService(
fun lastMtbFileRequestForPatientPseudonym(patientPseudonym: String) =
Companion.lastMtbFileRequestForPatientPseudonym(allRequestsByPatientPseudonym(patientPseudonym))
- fun isLastRequestDeletion(patientPseudonym: String) =
- Companion.isLastRequestDeletion(allRequestsByPatientPseudonym(patientPseudonym))
+ fun isLastRequestWithKnownStatusDeletion(patientPseudonym: String) =
+ Companion.isLastRequestWithKnownStatusDeletion(allRequestsByPatientPseudonym(patientPseudonym))
companion object {
@@ -48,7 +48,8 @@ class RequestService(
.sortedByDescending { it.processedAt }
.firstOrNull { it.status == RequestStatus.SUCCESS || it.status == RequestStatus.WARNING }
- fun isLastRequestDeletion(allRequests: List<Request>) = allRequests
+ fun isLastRequestWithKnownStatusDeletion(allRequests: List<Request>) = allRequests
+ .filter { it.status != RequestStatus.UNKNOWN }
.maxByOrNull { it.processedAt }?.type == RequestType.DELETE
}