aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-12-14 10:26:44 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-12-14 10:26:44 +0700
commited1ad48ac9f5a03839bbe176b363af6c84220e6b (patch)
treef6bb6ff1fc22f5d204d6e9e5f5d330d027048be1 /src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala
parent7c3feb9b3bf7a1cc12e54c1d994649d03e70e14c (diff)
parent51d5d1ddba83f539405c6d395933e1f8a456c871 (diff)
downloadrest-query-ed1ad48ac9f5a03839bbe176b363af6c84220e6b.tar.gz
rest-query-ed1ad48ac9f5a03839bbe176b363af6c84220e6b.tar.bz2
rest-query-ed1ad48ac9f5a03839bbe176b363af6c84220e6b.zip
Merge branch 'master' into support-service-exceptions
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala
new file mode 100644
index 0000000..2187ec2
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilitySnapshotService.scala
@@ -0,0 +1,34 @@
+package xyz.driver.pdsuidomain.services.rest
+
+import akka.http.scaladsl.model.{HttpMethods, HttpRequest, Uri}
+import akka.stream.Materializer
+import xyz.driver.core.rest.{AuthorizedServiceRequestContext, ServiceTransport}
+import xyz.driver.entities.users.AuthUserInfo
+import xyz.driver.pdsuicommon.domain.UuidId
+import xyz.driver.pdsuidomain.entities.eligibility.EligibleTrial
+import xyz.driver.pdsuidomain.entities.{Patient, eligibility}
+import xyz.driver.pdsuidomain.services.EligibilitySnapshotService
+
+import scala.concurrent.{ExecutionContext, Future}
+
+class RestEligibilitySnapshotService(transport: ServiceTransport, baseUrl: Uri)(
+ implicit protected val materializer: Materializer,
+ protected val exec: ExecutionContext) extends EligibilitySnapshotService with RestHelper {
+
+ import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._
+ import spray.json.DefaultJsonProtocol._
+ import xyz.driver.pdsuidomain.formats.json.eligibility._
+
+ override def eligibilitySnapshot(patientId: UuidId[Patient])
+ (implicit requestContext: AuthorizedServiceRequestContext[AuthUserInfo]):
+ Future[Seq[eligibility.EligibleTrial]] = {
+ val request = HttpRequest(HttpMethods.GET, endpointUri(baseUrl, s"/v1/patient/$patientId/eligibilitySnapshot"))
+ for {
+ response <- transport.sendRequestGetResponse(requestContext)(request)
+ reply <- apiResponse[Seq[EligibleTrial]](response)
+ } yield {
+ reply
+ }
+ }
+
+}