@@ -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