Skip to content

Commit 8d0d151

Browse files
fix: fix bug in tracking methods
1 parent 0eff9bc commit 8d0d151

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

src/main/kotlin/infrastructure/webclient/WebClient.kt

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -127,22 +127,25 @@ class WebClient(vertx: Vertx) :
127127
preOperatingRoomId: String,
128128
operatingRoomId: String,
129129
): Pair<Future<List<Future<HealthProfessionalTrackingInfo>>>,
130-
Future<List<Future<HealthProfessionalTrackingInfo>>>,> {
131-
val operatingTrackingData = client.getAbs("$ST_URI/rooms-tracking-data/$operatingRoomId").send().map {
132-
Json.decodeFromString<RoomsTrackingDataDto>(it.bodyAsString())
133-
}.map {
134-
it.entries.map { en ->
135-
getHealthProfessionalInfo(en.healthProfessionalId, en.roomId)
136-
}
137-
}
138-
val preOperatingTrackingData = client.getAbs("$ST_URI/rooms-tracking-data/$preOperatingRoomId").send().map {
139-
Json.decodeFromString<RoomsTrackingDataDto>(it.bodyAsString())
140-
}.map {
141-
it.entries.map { en ->
142-
getHealthProfessionalInfo(en.healthProfessionalId, en.roomId)
130+
Future<List<Future<HealthProfessionalTrackingInfo>>>,> =
131+
Pair(
132+
getRoomTrackingData("$ST_URI/rooms-tracking-data/$operatingRoomId"),
133+
getRoomTrackingData("$ST_URI/rooms-tracking-data/$preOperatingRoomId"),
134+
)
135+
136+
private fun getRoomTrackingData(request: String): Future<List<Future<HealthProfessionalTrackingInfo>>> {
137+
return client.getAbs(request).send()
138+
.map { response ->
139+
when (response.statusCode()) {
140+
HttpResponseStatus.NO_CONTENT.code() -> listOf()
141+
else -> Json.decodeFromString<ResponseEntryList<RoomsTrackingDataDto>>(
142+
response.bodyAsString(),
143+
).entries
144+
.map { trackingData ->
145+
getHealthProfessionalInfo(trackingData.healthProfessionalId, trackingData.roomId)
146+
}
147+
}
143148
}
144-
}
145-
return Pair(operatingTrackingData, preOperatingTrackingData)
146149
}
147150

148151
private fun getHealthProfessionalInfo(hpId: String, roomId: String): Future<HealthProfessionalTrackingInfo> {
@@ -160,13 +163,7 @@ class WebClient(vertx: Vertx) :
160163
}
161164

162165
override fun getBlockHealthProfessionalTrackingInfo(): Future<List<Future<HealthProfessionalTrackingInfo>>> =
163-
client.getAbs("$ST_URI/block-tracking-data").send().map {
164-
Json.decodeFromString<RoomsTrackingDataDto>(it.bodyAsString())
165-
}.map {
166-
it.entries.map { en ->
167-
getHealthProfessionalInfo(en.healthProfessionalId, en.roomId)
168-
}
169-
}
166+
getRoomTrackingData("$ST_URI/block-tracking-data")
170167

171168
companion object {
172169
private val UMI_URI = System.getenv("USER_MANAGEMENT_MICROSERVICE_URL")

0 commit comments

Comments
 (0)