diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/record')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala | 12 | ||||
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala | 14 |
2 files changed, 13 insertions, 13 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala index 4197bc6..0e0b4d9 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala @@ -16,9 +16,9 @@ final case class ApiRecord(id: Long, lastUpdate: ZonedDateTime, status: String, previousStatus: Option[String], - assignee: Option[Long], - previousAssignee: Option[Long], - lastActiveUser: Option[Long], + assignee: Option[String], + previousAssignee: Option[String], + lastActiveUser: Option[String], meta: String) object ApiRecord { @@ -40,9 +40,9 @@ object ApiRecord { (JsPath \ "lastUpdate").format[ZonedDateTime] and (JsPath \ "status").format(statusFormat) and (JsPath \ "previousStatus").formatNullable(statusFormat) and - (JsPath \ "assignee").formatNullable[Long] and - (JsPath \ "previousAssignee").formatNullable[Long] and - (JsPath \ "lastActiveUser").formatNullable[Long] and + (JsPath \ "assignee").formatNullable[String] and + (JsPath \ "previousAssignee").formatNullable[String] and + (JsPath \ "lastActiveUser").formatNullable[String] and (JsPath \ "meta").format(Format(Reads { x => JsSuccess(Json.stringify(x)) }, Writes[String](Json.parse))) 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)) |