diff options
Diffstat (limited to 'src/main/kotlin/dev/dnpm')
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt | 32 |
1 files changed, 15 insertions, 17 deletions
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 44c74e3..ca64fc9 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/input/MtbFileRestController.kt @@ -35,7 +35,8 @@ import org.springframework.web.bind.annotation.* @RestController @RequestMapping(path = ["mtbfile", "mtb"]) class MtbFileRestController( - private val requestProcessor: RequestProcessor, private val iGetConsent: IGetConsent + private val requestProcessor: RequestProcessor, + private val iGetConsent: IGetConsent ) { private val logger = LoggerFactory.getLogger(MtbFileRestController::class.java) @@ -54,7 +55,6 @@ class MtbFileRestController( logger.debug("Accepted MTB File (bwHC V1) for processing") requestProcessor.processMtbFile(mtbFile) } else { - logger.debug("Accepted MTB File (bwHC V1) and process deletion") val patientId = PatientId(mtbFile.patient.id) requestProcessor.processDeletion(patientId, ttpConsentStatus) @@ -62,21 +62,6 @@ class MtbFileRestController( return ResponseEntity.accepted().build() } - private fun checkConsentStatus(mtbFile: MtbFile): Pair<TtpConsentStatus, Boolean> { - var ttpConsentStatus = iGetConsent.getTtpBroadConsentStatus(mtbFile.patient.id) - - val isConsentOK = - (ttpConsentStatus.equals(TtpConsentStatus.UNKNOWN_CHECK_FILE) && mtbFile.consent.status == Consent.Status.ACTIVE) || - ttpConsentStatus.equals( - TtpConsentStatus.BROAD_CONSENT_GIVEN - ) - if (ttpConsentStatus.equals(TtpConsentStatus.UNKNOWN_CHECK_FILE) && mtbFile.consent.status == Consent.Status.REJECTED) { - // in case ttp check is disabled - we propagate rejected status anyway - ttpConsentStatus = TtpConsentStatus.BROAD_CONSENT_MISSING_OR_REJECTED - } - return Pair(ttpConsentStatus, isConsentOK) - } - @PostMapping(consumes = [CustomMediaType.APPLICATION_VND_DNPM_V2_MTB_JSON_VALUE]) fun mtbFile(@RequestBody mtbFile: Mtb): ResponseEntity<Unit> { logger.debug("Accepted MTB File (DNPM V2) for processing") @@ -91,4 +76,17 @@ class MtbFileRestController( return ResponseEntity.accepted().build() } + private fun checkConsentStatus(mtbFile: MtbFile): Pair<TtpConsentStatus, Boolean> { + var ttpConsentStatus = iGetConsent.getTtpBroadConsentStatus(mtbFile.patient.id) + + val isConsentOK = (ttpConsentStatus == TtpConsentStatus.UNKNOWN_CHECK_FILE && mtbFile.consent.status == Consent.Status.ACTIVE) + || ttpConsentStatus == TtpConsentStatus.BROAD_CONSENT_GIVEN + + if (ttpConsentStatus == TtpConsentStatus.UNKNOWN_CHECK_FILE && mtbFile.consent.status == Consent.Status.REJECTED) { + // in case ttp check is disabled - we propagate rejected status anyway + ttpConsentStatus = TtpConsentStatus.BROAD_CONSENT_MISSING_OR_REJECTED + } + return Pair(ttpConsentStatus, isConsentOK) + } + } |
