summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm/etl/processor
diff options
context:
space:
mode:
authorNiklas Sombert2025-02-06 16:15:44 +0100
committerPaul-Christian Volkmer2025-03-08 11:42:14 +0100
commitb25e58011371d5271f4db240545208dd6c792ff0 (patch)
treeef137e6534e79c7cf2305a3693e97b2e0318a53e /src/main/kotlin/dev/dnpm/etl/processor
parentff27b7157d4d032626e74bf154be5241261b92bd (diff)
feat: Support POSTing data to dnpm:dip
Diffstat (limited to 'src/main/kotlin/dev/dnpm/etl/processor')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt1
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt21
2 files changed, 20 insertions, 2 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt
index dd7e461..7c192c8 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt
@@ -71,6 +71,7 @@ data class RestTargetProperties(
val uri: String?,
val username: String?,
val password: String?,
+ val isBwhc: Boolean = false,
) {
companion object {
const val NAME = "app.rest"
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt
index 58459b9..6dfe0eb 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt
@@ -21,6 +21,7 @@ package dev.dnpm.etl.processor.output
import dev.dnpm.etl.processor.config.RestTargetProperties
import dev.dnpm.etl.processor.monitoring.RequestStatus
+import dev.dnpm.etl.processor.PatientPseudonym
import org.slf4j.LoggerFactory
import org.springframework.http.HttpEntity
import org.springframework.http.HttpHeaders
@@ -37,13 +38,29 @@ class RestMtbFileSender(
private val logger = LoggerFactory.getLogger(RestMtbFileSender::class.java)
+ fun sendUrl(): String {
+ return if(restTargetProperties.isBwhc) {
+ "${restTargetProperties.uri}/MTBFile"
+ } else {
+ "${restTargetProperties.uri}/patient-record"
+ }
+ }
+
+ fun deleteUrl(patientId: PatientPseudonym): String {
+ return if(restTargetProperties.isBwhc) {
+ "${restTargetProperties.uri}/Patient/${patientId.value}"
+ } else {
+ "${restTargetProperties.uri}/patient/${patientId.value}"
+ }
+ }
+
override fun send(request: MtbFileSender.MtbFileRequest): MtbFileSender.Response {
try {
return retryTemplate.execute<MtbFileSender.Response, Exception> {
val headers = getHttpHeaders()
val entityReq = HttpEntity(request.mtbFile, headers)
val response = restTemplate.postForEntity(
- "${restTargetProperties.uri}/MTBFile",
+ sendUrl(),
entityReq,
String::class.java
)
@@ -72,7 +89,7 @@ class RestMtbFileSender(
val headers = getHttpHeaders()
val entityReq = HttpEntity(null, headers)
restTemplate.delete(
- "${restTargetProperties.uri}/Patient/${request.patientId}",
+ deleteUrl(request.patientId),
entityReq,
String::class.java
)