aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala b/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
new file mode 100644
index 0000000..2a73922
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/entities/Message.scala
@@ -0,0 +1,34 @@
+package xyz.driver.pdsuidomain.entities
+
+import java.time.LocalDateTime
+
+import xyz.driver.pdsuicommon.domain.{LongId, StringId, User, UuidId}
+import xyz.driver.pdsuicommon.logging._
+
+final case class Message(id: LongId[Message],
+ text: String,
+ lastUpdate: LocalDateTime,
+ userId: LongId[User],
+ isDraft: Boolean,
+ recordId: Option[LongId[MedicalRecord]],
+ documentId: Option[LongId[Document]],
+ patientId: Option[UuidId[Patient]],
+ trialId: Option[StringId[Trial]],
+ startPage: Option[Double],
+ endPage: Option[Double],
+ evidence: Option[String],
+ archiveRequired: Option[Boolean],
+ meta: Option[String])
+
+object Message {
+ implicit def toPhiString(x: Message): PhiString = {
+ import x._
+
+ val entityId = recordId
+ .orElse(documentId)
+ .orElse(patientId)
+ .map(_.toString)
+
+ phi"Message(id=$id, userId=$userId, isDraft=$isDraft, entityId=${Unsafe(entityId)}"
+ }
+}