aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/record
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/record')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala5
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiRecord.scala8
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala31
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala40
4 files changed, 44 insertions, 40 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala
index 57c030b..cee67b2 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiCreateRecord.scala
@@ -7,10 +7,7 @@ import xyz.driver.pdsuicommon.domain._
import xyz.driver.pdsuidomain.entities._
import play.api.libs.json._
-final case class ApiCreateRecord(disease: String,
- patientId: String,
- requestId: UUID,
- filename: String) {
+final case class ApiCreateRecord(disease: String, patientId: String, requestId: UUID, filename: String) {
def toDomain = MedicalRecord(
id = LongId(0),
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 6096006..de54a9e 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
@@ -24,7 +24,7 @@ object ApiRecord {
private val statusFormat = Format(
Reads.StringReads.filter(ValidationError("unknown status")) {
case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true
- case _ => false
+ case _ => false
},
Writes.StringWrites
)
@@ -39,8 +39,10 @@ object ApiRecord {
(JsPath \ "previousStatus").formatNullable(statusFormat) and
(JsPath \ "assignee").formatNullable[Long] and
(JsPath \ "previousAssignee").formatNullable[Long] and
- (JsPath \ "meta").format(Format(Reads { x => JsSuccess(Json.stringify(x)) }, Writes[String](Json.parse)))
- ) (ApiRecord.apply, unlift(ApiRecord.unapply))
+ (JsPath \ "meta").format(Format(Reads { x =>
+ JsSuccess(Json.stringify(x))
+ }, Writes[String](Json.parse)))
+ )(ApiRecord.apply, unlift(ApiRecord.unapply))
def fromDomain(record: MedicalRecord) = ApiRecord(
id = record.id.id,
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 b752a4c..0d17b66 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
@@ -10,9 +10,7 @@ import play.api.libs.functional.syntax._
import play.api.libs.json._
import xyz.driver.pdsuicommon.json.JsonSerializer
-final case class ApiUpdateRecord(status: Option[String],
- assignee: Tristate[Long],
- meta: Tristate[String]) {
+final case class ApiUpdateRecord(status: Option[String], assignee: Tristate[Long], meta: Tristate[String]) {
def applyTo(orig: MedicalRecord): MedicalRecord = {
orig.copy(
@@ -26,22 +24,29 @@ final case class ApiUpdateRecord(status: Option[String],
object ApiUpdateRecord {
private val reads: Reads[ApiUpdateRecord] = (
- (JsPath \ "status").readNullable[String](Reads.of[String].filter(ValidationError("unknown status"))({
- case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true
- case _ => false
- })) and
+ (JsPath \ "status").readNullable[String](
+ Reads
+ .of[String]
+ .filter(ValidationError("unknown status"))({
+ case x if MedicalRecordStatus.statusFromString.isDefinedAt(x) => true
+ case _ => false
+ })) and
(JsPath \ "assignee").readTristate[Long] and
- (JsPath \ "meta").readTristate(Reads { x => JsSuccess(Json.stringify(x)) }).map {
- case Tristate.Present("{}") => Tristate.Absent
- case x => x
- }
- ) (ApiUpdateRecord.apply _)
+ (JsPath \ "meta")
+ .readTristate(Reads { x =>
+ JsSuccess(Json.stringify(x))
+ })
+ .map {
+ case Tristate.Present("{}") => Tristate.Absent
+ case x => x
+ }
+ )(ApiUpdateRecord.apply _)
private val writes: Writes[ApiUpdateRecord] = (
(JsPath \ "status").writeNullable[String] and
(JsPath \ "assignee").writeTristate[Long] and
(JsPath \ "meta").writeTristate(Writes[String](Json.parse))
- ) (unlift(ApiUpdateRecord.unapply))
+ )(unlift(ApiUpdateRecord.unapply))
implicit val format: Format[ApiUpdateRecord] = Format(reads, writes)
}
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala
index bde4af0..a77b76b 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/MedicalRecordStatus.scala
@@ -5,30 +5,30 @@ import xyz.driver.pdsuidomain.entities.MedicalRecord.Status
object MedicalRecordStatus {
val statusFromString: PartialFunction[String, Status] = {
- case "Unprocessed" => Status.Unprocessed
- case "PreCleaning" => Status.PreCleaning
- case "New" => Status.New
- case "Cleaned" => Status.Cleaned
- case "PreOrganized" => Status.PreOrganized
+ case "Unprocessed" => Status.Unprocessed
+ case "PreCleaning" => Status.PreCleaning
+ case "New" => Status.New
+ case "Cleaned" => Status.Cleaned
+ case "PreOrganized" => Status.PreOrganized
case "PreOrganizing" => Status.PreOrganizing
- case "Reviewed" => Status.Reviewed
- case "Organized" => Status.Organized
- case "Done" => Status.Done
- case "Flagged" => Status.Flagged
- case "Archived" => Status.Archived
+ case "Reviewed" => Status.Reviewed
+ case "Organized" => Status.Organized
+ case "Done" => Status.Done
+ case "Flagged" => Status.Flagged
+ case "Archived" => Status.Archived
}
def statusToString(x: Status): String = x match {
- case Status.Unprocessed => "Unprocessed"
- case Status.PreCleaning => "PreCleaning"
- case Status.New => "New"
- case Status.Cleaned => "Cleaned"
- case Status.PreOrganized => "PreOrganized"
+ case Status.Unprocessed => "Unprocessed"
+ case Status.PreCleaning => "PreCleaning"
+ case Status.New => "New"
+ case Status.Cleaned => "Cleaned"
+ case Status.PreOrganized => "PreOrganized"
case Status.PreOrganizing => "PreOrganizing"
- case Status.Reviewed => "Reviewed"
- case Status.Organized => "Organized"
- case Status.Done => "Done"
- case Status.Flagged => "Flagged"
- case Status.Archived => "Archived"
+ case Status.Reviewed => "Reviewed"
+ case Status.Organized => "Organized"
+ case Status.Done => "Done"
+ case Status.Flagged => "Flagged"
+ case Status.Archived => "Archived"
}
}