aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-06-30 12:29:54 -0700
committervlad <vlad@driver.xyz>2017-06-30 12:29:54 -0700
commita997aa6539d1f0af4ab4fc395ff2033335da312a (patch)
tree4f24529cd0beed94368caafdc0bdbb5677184851 /src/main/scala/xyz/driver/pdsuidomain/formats/json/record/ApiUpdateRecord.scala
parent5832f63b84d7388441d1200f2442dc1e9de0225c (diff)
downloadrest-query-a997aa6539d1f0af4ab4fc395ff2033335da312a.tar.gz
rest-query-a997aa6539d1f0af4ab4fc395ff2033335da312a.tar.bz2
rest-query-a997aa6539d1f0af4ab4fc395ff2033335da312a.zip
Latest PDS UI utils
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.scala31
1 files changed, 18 insertions, 13 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 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)
}