diff options
Diffstat (limited to 'src/main')
3 files changed, 24 insertions, 16 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/input/KafkaInputListener.kt b/src/main/kotlin/dev/dnpm/etl/processor/input/KafkaInputListener.kt index 2f6b2bb..41c85ac 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/input/KafkaInputListener.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/input/KafkaInputListener.kt @@ -79,21 +79,28 @@ class KafkaInputListener( } else { RequestId("") } - - if (consentEvaluator.check(mtbFile).hasConsent()) { - logger.debug("Accepted MTB File for processing") - if (requestId.isBlank()) { - requestProcessor.processMtbFile(mtbFile) + val firstRequestMethodHeader = record.headers().headers("requestMethod")?.firstOrNull() + val requestMethod = + if (null != firstRequestMethodHeader) { + String(firstRequestMethodHeader.value()) } else { - requestProcessor.processMtbFile(mtbFile, requestId) + "" } - } else { + + if (requestMethod == "DELETE") { logger.debug("Accepted MTB File and process deletion") if (requestId.isBlank()) { requestProcessor.processDeletion(patientId, TtpConsentStatus.UNKNOWN_CHECK_FILE) } else { requestProcessor.processDeletion(patientId, requestId, TtpConsentStatus.UNKNOWN_CHECK_FILE) } + } else { + logger.debug("Accepted MTB File for processing") + if (requestId.isBlank()) { + requestProcessor.processMtbFile(mtbFile) + } else { + requestProcessor.processMtbFile(mtbFile, requestId) + } } } } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt b/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt index 071e3cd..f4ab194 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt @@ -52,15 +52,8 @@ class MtbFileRestController( ], ) fun mtbFile(@RequestBody mtbFile: Mtb): ResponseEntity<Unit> { - val consentEvaluation = consentEvaluator.check(mtbFile) - if (consentEvaluation.hasConsent()) { - logger.debug("Accepted MTB File (DNPM V2) for processing") - requestProcessor.processMtbFile(mtbFile) - } else { - logger.debug("Accepted MTB File (DNPM V2) and process deletion") - val patientId = PatientId(mtbFile.patient.id) - requestProcessor.processDeletion(patientId, consentEvaluation.getStatus()) - } + logger.debug("Accepted MTB File (DNPM V2) for processing") + requestProcessor.processMtbFile(mtbFile) return ResponseEntity.accepted().build() } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSender.kt b/src/main/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSender.kt index 71e4a78..bcd532f 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSender.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/output/KafkaMtbFileSender.kt @@ -48,6 +48,7 @@ class KafkaMtbFileSender( objectMapper.writeValueAsString(request.content), ) record.headers().add("requestId", request.requestId.value.toByteArray()) + record.headers().add("requestMethod", "POST".toByteArray()) when (request) { is DnpmV2MtbFileRequest -> record @@ -86,6 +87,13 @@ class KafkaMtbFileSender( ), ) record.headers().add("requestId", request.requestId.value.toByteArray()) + record.headers().add("requestMethod", "DELETE".toByteArray()) + record + .headers() + .add( + "contentType", + CustomMediaType.APPLICATION_VND_DNPM_V2_MTB_JSON_VALUE.toByteArray(), + ) val result = kafkaTemplate.send(record) if (result.get() != null) { logger.debug("Sent deletion request via KafkaMtbFileSender") |
