@@ -127,22 +127,25 @@ class WebClient(vertx: Vertx) :
127
127
preOperatingRoomId : String ,
128
128
operatingRoomId : String ,
129
129
): 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
+ }
143
148
}
144
- }
145
- return Pair (operatingTrackingData, preOperatingTrackingData)
146
149
}
147
150
148
151
private fun getHealthProfessionalInfo (hpId : String , roomId : String ): Future <HealthProfessionalTrackingInfo > {
@@ -160,13 +163,7 @@ class WebClient(vertx: Vertx) :
160
163
}
161
164
162
165
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" )
170
167
171
168
companion object {
172
169
private val UMI_URI = System .getenv(" USER_MANAGEMENT_MICROSERVICE_URL" )
0 commit comments