aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
index 0d17b66..47bc493 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
@@ -1,21 +1,21 @@
package xyz.driver.pdsuidomain.formats.json.record
-import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta
-import xyz.driver.pdsuidomain.entities._
-import xyz.driver.pdsuicommon.domain.{LongId, TextJson, User}
import org.davidbild.tristate.Tristate
import org.davidbild.tristate.contrib.play.ToJsPathOpsFromJsPath
import play.api.data.validation.ValidationError
import play.api.libs.functional.syntax._
import play.api.libs.json._
+import xyz.driver.pdsuicommon.domain.{StringId, TextJson, User}
import xyz.driver.pdsuicommon.json.JsonSerializer
+import xyz.driver.pdsuidomain.entities.MedicalRecord.Meta
+import xyz.driver.pdsuidomain.entities._
-final case class ApiUpdateRecord(status: Option[String], assignee: Tristate[Long], meta: Tristate[String]) {
+final case class ApiUpdateRecord(status: Option[String], assignee: Tristate[String], meta: Tristate[String]) {
def applyTo(orig: MedicalRecord): MedicalRecord = {
orig.copy(
status = status.map(MedicalRecordStatus.statusFromString).getOrElse(orig.status),
- assignee = assignee.map(LongId[User]).cata(Some(_), None, orig.assignee),
+ assignee = assignee.map(StringId[User]).cata(Some(_), None, orig.assignee),
meta = meta.cata(x => Some(TextJson(JsonSerializer.deserialize[List[Meta]](x))), None, orig.meta)
)
}
@@ -31,7 +31,7 @@ object ApiUpdateRecord {
case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true
case _ => false
})) and
- (JsPath \ "assignee").readTristate[Long] and
+ (JsPath \ "assignee").readTristate[String] and
(JsPath \ "meta")
.readTristate(Reads { x =>
JsSuccess(Json.stringify(x))
@@ -44,7 +44,7 @@ object ApiUpdateRecord {
private val writes: Writes[ApiUpdateRecord] = (
(JsPath \ "status").writeNullable[String] and
- (JsPath \ "assignee").writeTristate[Long] and
+ (JsPath \ "assignee").writeTristate[String] and
(JsPath \ "meta").writeTristate(Writes[String](Json.parse))
)(unlift(ApiUpdateRecord.unapply))