From b5e0d5f91b52013bc11ef3ea586a54bb001577bc Mon Sep 17 00:00:00 2001 From: vlad Date: Sun, 1 Oct 2017 12:50:54 -0700 Subject: Fixing IN in filters, Model from EVLS added to common, Reusing domain model labels --- .../services/EligibilityVerificationService.scala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala') diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala new file mode 100644 index 0000000..d3e977e --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala @@ -0,0 +1,18 @@ +package xyz.driver.pdsuidomain.services + +import xyz.driver.core.Id +import xyz.driver.core.rest.ServiceRequestContext +import xyz.driver.entities.patient.CancerType +import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} +import xyz.driver.pdsuidomain.entities.{Arm, Patient} + +import scala.concurrent.Future +import scalaz.ListT + +trait EligibilityVerificationService { + + def getMatchedPatients()(implicit ctx: ServiceRequestContext): ListT[Future, MatchedPatient] + + def getMismatchRankedLabels(patientId: Id[Patient], cancerType: CancerType, excludedArms: Seq[Id[Arm]])( + implicit ctx: ServiceRequestContext): Future[MismatchRankedLabels] +} -- cgit v1.2.3 From 0dbf8df69b7bcdb1107a72d8cf077ce422bd1994 Mon Sep 17 00:00:00 2001 From: vlad Date: Tue, 3 Oct 2017 03:15:55 -0700 Subject: Making EligibilityVerificationService to accept AuthorizedServiceRequestContext --- .../services/EligibilityVerificationService.scala | 7 ++++--- .../services/fake/FakeEligibilityVerificationService.scala | 14 ++++++++------ .../services/rest/RestEligibilityVerificationService.scala | 8 +++++--- 3 files changed, 17 insertions(+), 12 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala') diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala index d3e977e..7cb1228 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala @@ -1,8 +1,9 @@ package xyz.driver.pdsuidomain.services import xyz.driver.core.Id -import xyz.driver.core.rest.ServiceRequestContext +import xyz.driver.core.rest.AuthorizedServiceRequestContext import xyz.driver.entities.patient.CancerType +import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} import xyz.driver.pdsuidomain.entities.{Arm, Patient} @@ -11,8 +12,8 @@ import scalaz.ListT trait EligibilityVerificationService { - def getMatchedPatients()(implicit ctx: ServiceRequestContext): ListT[Future, MatchedPatient] + def getMatchedPatients()(implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): ListT[Future, MatchedPatient] def getMismatchRankedLabels(patientId: Id[Patient], cancerType: CancerType, excludedArms: Seq[Id[Arm]])( - implicit ctx: ServiceRequestContext): Future[MismatchRankedLabels] + implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): Future[MismatchRankedLabels] } diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala index c5531f9..3633c2d 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala @@ -1,8 +1,9 @@ package xyz.driver.pdsuidomain.services.fake -import xyz.driver.core.rest.ServiceRequestContext +import xyz.driver.core.rest.AuthorizedServiceRequestContext import xyz.driver.core.{Id, generators} import xyz.driver.entities.patient +import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.MismatchRankedLabels import xyz.driver.pdsuidomain.entities.{Arm, Patient, eligibility} import xyz.driver.pdsuidomain.services.EligibilityVerificationService @@ -12,14 +13,15 @@ import scalaz.ListT class FakeEligibilityVerificationService extends EligibilityVerificationService { - override def getMatchedPatients()(implicit ctx: ServiceRequestContext): ListT[Future, eligibility.MatchedPatient] = + override def getMatchedPatients()( + implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): ListT[Future, eligibility.MatchedPatient] = ListT.listT[Future]( Future.successful(List(xyz.driver.pdsuidomain.fakes.entities.eligibility.nextMatchedPatient()))) - override def getMismatchRankedLabels( - patientId: Id[Patient], - cancerType: patient.CancerType, - excludedArms: Seq[Id[Arm]])(implicit ctx: ServiceRequestContext): Future[eligibility.MismatchRankedLabels] = + override def getMismatchRankedLabels(patientId: Id[Patient], + cancerType: patient.CancerType, + excludedArms: Seq[Id[Arm]])( + implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): Future[eligibility.MismatchRankedLabels] = Future.successful( MismatchRankedLabels( generators.seqOf(xyz.driver.pdsuidomain.fakes.entities.eligibility.nextLabelMismatchRank()), diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala index 07757e3..5a5ede7 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala @@ -4,8 +4,9 @@ import akka.http.scaladsl.model.Uri import akka.stream.Materializer import spray.json.DefaultJsonProtocol import xyz.driver.core.Id -import xyz.driver.core.rest.{RestService, ServiceRequestContext, ServiceTransport} +import xyz.driver.core.rest.{AuthorizedServiceRequestContext, RestService, ServiceTransport} import xyz.driver.entities.patient +import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} import xyz.driver.pdsuidomain.entities.{Arm, Patient, eligibility} import xyz.driver.pdsuidomain.services.EligibilityVerificationService @@ -23,7 +24,8 @@ class RestEligibilityVerificationService(transport: ServiceTransport, baseUri: U import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport._ import xyz.driver.pdsuidomain.formats.json.sprayformats.eligibility._ - override def getMatchedPatients()(implicit ctx: ServiceRequestContext): ListT[Future, eligibility.MatchedPatient] = { + override def getMatchedPatients()( + implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): ListT[Future, eligibility.MatchedPatient] = { val request = get(baseUri, s"/v1/patients") listResponse[MatchedPatient](transport.sendRequest(ctx)(request)) } @@ -31,7 +33,7 @@ class RestEligibilityVerificationService(transport: ServiceTransport, baseUri: U override def getMismatchRankedLabels(patientId: Id[Patient], cancerType: patient.CancerType, excludedArms: Seq[Id[Arm]])( - implicit ctx: ServiceRequestContext): Future[eligibility.MismatchRankedLabels] = { + implicit ctx: AuthorizedServiceRequestContext[AuthUserInfo]): Future[eligibility.MismatchRankedLabels] = { val query = Seq("disease" -> cancerType.toString.toUpperCase, "ineligible_arms" -> excludedArms.map(_.value).mkString(",")) -- cgit v1.2.3 From a321a978353439fc516b0f2016c28fb32ba1b7ae Mon Sep 17 00:00:00 2001 From: vlad Date: Tue, 3 Oct 2017 03:29:48 -0700 Subject: Making EligibilityVerificationService to accept AuthorizedServiceRequestContext --- .../driver/pdsuidomain/services/EligibilityVerificationService.scala | 4 ++-- .../services/fake/FakeEligibilityVerificationService.scala | 3 ++- .../services/rest/RestEligibilityVerificationService.scala | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala') diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala index 7cb1228..7395400 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/EligibilityVerificationService.scala @@ -2,10 +2,10 @@ package xyz.driver.pdsuidomain.services import xyz.driver.core.Id import xyz.driver.core.rest.AuthorizedServiceRequestContext -import xyz.driver.entities.patient.CancerType +import xyz.driver.entities.patient.{CancerType, Patient} import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} -import xyz.driver.pdsuidomain.entities.{Arm, Patient} +import xyz.driver.pdsuidomain.entities.Arm import scala.concurrent.Future import scalaz.ListT diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala index 3633c2d..1e1a3ea 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/fake/FakeEligibilityVerificationService.scala @@ -3,9 +3,10 @@ package xyz.driver.pdsuidomain.services.fake import xyz.driver.core.rest.AuthorizedServiceRequestContext import xyz.driver.core.{Id, generators} import xyz.driver.entities.patient +import xyz.driver.entities.patient.Patient import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.MismatchRankedLabels -import xyz.driver.pdsuidomain.entities.{Arm, Patient, eligibility} +import xyz.driver.pdsuidomain.entities.{Arm, eligibility} import xyz.driver.pdsuidomain.services.EligibilityVerificationService import scala.concurrent.Future diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala index 5a5ede7..f6879d0 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/rest/RestEligibilityVerificationService.scala @@ -6,9 +6,10 @@ import spray.json.DefaultJsonProtocol import xyz.driver.core.Id import xyz.driver.core.rest.{AuthorizedServiceRequestContext, RestService, ServiceTransport} import xyz.driver.entities.patient +import xyz.driver.entities.patient.Patient import xyz.driver.entities.users.AuthUserInfo import xyz.driver.pdsuidomain.entities.eligibility.{MatchedPatient, MismatchRankedLabels} -import xyz.driver.pdsuidomain.entities.{Arm, Patient, eligibility} +import xyz.driver.pdsuidomain.entities.{Arm, eligibility} import xyz.driver.pdsuidomain.services.EligibilityVerificationService import scala.concurrent.{ExecutionContext, Future} -- cgit v1.2.3