Skip to content

Commit a906c0d

Browse files
giacomoaccursiandrea-acampora
authored andcommitted
chore: create application service for health professional tracking
1 parent b13e87f commit a906c0d

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* Copyright (c) 2023. Smart Operating Block
3+
*
4+
* Use of this source code is governed by an MIT-style
5+
* license that can be found in the LICENSE file or at
6+
* https://opensource.org/licenses/MIT.
7+
*/
8+
9+
package application.service
10+
11+
import entity.room.RoomData
12+
import entity.tracking.HealthProfessionalTrackingInfo
13+
import io.vertx.core.Future
14+
import usecase.repository.TrackingRepository
15+
16+
/**
17+
* Module with all the Application Services for Tracking.
18+
*/
19+
object TrackingService {
20+
21+
/**
22+
* Get a [HealthProfessionalTrackingInfo] by the [preOperatingRoomId] and the [operatingRoomId]
23+
* using a [trackingRepository].
24+
*/
25+
class ZoneHealthProfessionalTrackingInfo(
26+
private val preOperatingRoomId: RoomData.RoomId,
27+
private val operatingRoomId: RoomData.RoomId,
28+
private val trackingRepository: TrackingRepository,
29+
) : ApplicationService<Pair<Future<List<Future<HealthProfessionalTrackingInfo>>>,
30+
Future<List<Future<HealthProfessionalTrackingInfo>>>,>,> {
31+
32+
override fun execute(): Pair<Future<List<Future<HealthProfessionalTrackingInfo>>>,
33+
Future<List<Future<HealthProfessionalTrackingInfo>>>,> =
34+
trackingRepository.getZoneHealthProfessionalTrackingInfo(preOperatingRoomId.id, operatingRoomId.id)
35+
}
36+
37+
/**
38+
* Get a [HealthProfessionalTrackingInfo] using a [trackingRepository].
39+
*/
40+
class BlockHealthProfessionalTrackingInfo(
41+
private val trackingRepository: TrackingRepository,
42+
) : ApplicationService<Future<List<Future<HealthProfessionalTrackingInfo>>>> {
43+
44+
override fun execute(): Future<List<Future<HealthProfessionalTrackingInfo>>> =
45+
trackingRepository.getBlockHealthProfessionalTrackingInfo()
46+
}
47+
}

0 commit comments

Comments
 (0)