aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala b/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala
index b2fc9f9..46e9156 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/services/MedicalRecordService.scala
@@ -4,7 +4,7 @@ import java.time.LocalDateTime
import xyz.driver.pdsuicommon.auth.AuthenticatedRequestContext
import xyz.driver.pdsuicommon.db._
-import xyz.driver.pdsuicommon.domain.LongId
+import xyz.driver.pdsuicommon.domain.{LongId, UuidId}
import xyz.driver.pdsuicommon.error._
import xyz.driver.pdsuidomain.entities.MedicalRecord.PdfSource
import xyz.driver.pdsuidomain.entities._
@@ -60,8 +60,14 @@ object MedicalRecordService {
final case class EntityList(xs: Seq[MedicalRecord], totalFound: Int, lastUpdate: Option[LocalDateTime])
extends GetListReply
+ type Error = GetListReply with DomainError
+
case object AuthorizationError
extends GetListReply with DomainError.AuthorizationError with DefaultAccessDeniedError
+
+ case object NotFoundError extends GetListReply with DomainError.NotFoundError {
+ def userMessage: String = "Patient wasn't found"
+ }
}
sealed trait CreateReply
@@ -93,6 +99,9 @@ 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]