diff options
author | Jakob Odersky <jakob@driver.xyz> | 2017-07-24 16:24:12 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@driver.xyz> | 2017-07-25 15:43:56 -0700 |
commit | e22a94604d6090d88801ec52c39f4eab500e80e1 (patch) | |
tree | e20332a9693a4c2d00d32cf67438ef4ba74f9356 /src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala | |
parent | 23192326cfc82e726b03f23396f2587ca4f606f5 (diff) | |
download | rest-query-e22a94604d6090d88801ec52c39f4eab500e80e1.tar.gz rest-query-e22a94604d6090d88801ec52c39f4eab500e80e1.tar.bz2 rest-query-e22a94604d6090d88801ec52c39f4eab500e80e1.zip |
Implement ReP rest services
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala index 46e9156..7a0502b 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala @@ -1,10 +1,12 @@ package xyz.driver.pdsuidomain.services +import akka.NotUsed +import akka.stream.scaladsl.Source +import akka.util.ByteString import java.time.LocalDateTime - -import xyz.driver.pdsuicommon.auth.AuthenticatedRequestContext +import xyz.driver.pdsuicommon.auth.{AnonymousRequestContext, AuthenticatedRequestContext} import xyz.driver.pdsuicommon.db._ -import xyz.driver.pdsuicommon.domain.{LongId, UuidId} +import xyz.driver.pdsuicommon.domain.LongId import xyz.driver.pdsuicommon.error._ import xyz.driver.pdsuidomain.entities.MedicalRecord.PdfSource import xyz.driver.pdsuidomain.entities._ @@ -37,24 +39,6 @@ object MedicalRecordService { extends GetByIdReply with DomainError.AuthorizationError with DefaultAccessDeniedError } - sealed trait GetPdfSourceReply - object GetPdfSourceReply { - type Error = GetPdfSourceReply with DomainError - - final case class Entity(x: PdfSource.Channel) extends GetPdfSourceReply - - case object AuthorizationError - extends GetPdfSourceReply with DomainError.AuthorizationError with DefaultAccessDeniedError - - case object NotFoundError extends GetPdfSourceReply with DomainError.NotFoundError { - def userMessage: String = "Medical record PDF hasn't been found" - } - - case object RecordNotFoundError extends GetPdfSourceReply with DomainError.NotFoundError with DefaultNotFoundError - - final case class CommonError(userMessage: String) extends GetPdfSourceReply with DomainError - } - sealed trait GetListReply object GetListReply { final case class EntityList(xs: Seq[MedicalRecord], totalFound: Int, lastUpdate: Option[LocalDateTime]) @@ -99,18 +83,15 @@ trait MedicalRecordService { def getById(recordId: LongId[MedicalRecord])( implicit requestContext: AuthenticatedRequestContext): Future[GetByIdReply] - def getPatientRecords(patientId: UuidId[Patient])( - implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] - def getPdfSource(recordId: LongId[MedicalRecord])( - implicit requestContext: AuthenticatedRequestContext): Future[GetPdfSourceReply] + implicit requestContext: AuthenticatedRequestContext): Future[Source[ByteString, NotUsed]] def getAll(filter: SearchFilterExpr = SearchFilterExpr.Empty, sorting: Option[Sorting] = None, pagination: Option[Pagination] = None)( implicit requestContext: AuthenticatedRequestContext): Future[GetListReply] - def create(draft: MedicalRecord): Future[CreateReply] + def create(draft: MedicalRecord)(implicit requestContext: AnonymousRequestContext): Future[CreateReply] def update(origRecord: MedicalRecord, draftRecord: MedicalRecord)( implicit requestContext: AuthenticatedRequestContext): Future[UpdateReply] |