aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala
new file mode 100644
index 0000000..20d4a74
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/linkedpatient/ApiLinkedPatient.scala
@@ -0,0 +1,33 @@
+
+package xyz.driver.pdsuidomain.formats.json.linkedpatient
+
+import java.util.UUID
+
+import play.api.libs.json.{Format, Json}
+import xyz.driver.pdsuicommon.domain._
+import xyz.driver.pdsuidomain.services.LinkedPatientService.RichLinkedPatient
+
+case class ApiLinkedPatient(email: String,
+ name: String,
+ patientId: UUID,
+ trialId: String) {
+
+ def toDomain = RichLinkedPatient(
+ email = Email(email),
+ name = name,
+ patientId = UuidId(patientId),
+ trialId = StringId(trialId)
+ )
+}
+
+object ApiLinkedPatient {
+
+ implicit val format: Format[ApiLinkedPatient] = Json.format[ApiLinkedPatient]
+
+ def fromDomain(entity: RichLinkedPatient) = ApiLinkedPatient(
+ email = entity.email.value,
+ name = entity.name,
+ patientId = entity.patientId.id,
+ trialId = entity.trialId.id
+ )
+}