From a997aa6539d1f0af4ab4fc395ff2033335da312a Mon Sep 17 00:00:00 2001 From: vlad Date: Fri, 30 Jun 2017 12:29:54 -0700 Subject: Latest PDS UI utils --- .../patient/label/ApiPartialPatientLabel.scala | 36 +++++++++++++--------- .../label/ApiPatientLabelDefiningCriteria.scala | 14 ++++++--- 2 files changed, 31 insertions(+), 19 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala index 82e3a3f..40f7de4 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPartialPatientLabel.scala @@ -8,13 +8,13 @@ import play.api.libs.functional.syntax._ import play.api.libs.json._ import xyz.driver.pdsuicommon.domain.FuzzyValue -final case class ApiPartialPatientLabel(primaryValue: Option[String], - verifiedPrimaryValue: Tristate[String]) { +final case class ApiPartialPatientLabel(primaryValue: Option[String], verifiedPrimaryValue: Tristate[String]) { def applyTo(orig: PatientLabel): PatientLabel = { orig.copy( primaryValue = primaryValue.map(FuzzyValue.fromString).orElse(orig.primaryValue), - verifiedPrimaryValue = verifiedPrimaryValue.cata(x => Some(FuzzyValue.fromString(x)), None, orig.verifiedPrimaryValue) + verifiedPrimaryValue = + verifiedPrimaryValue.cata(x => Some(FuzzyValue.fromString(x)), None, orig.verifiedPrimaryValue) ) } @@ -23,16 +23,24 @@ final case class ApiPartialPatientLabel(primaryValue: Option[String], object ApiPartialPatientLabel { implicit val format: Format[ApiPartialPatientLabel] = ( - (JsPath \ "primaryValue").formatNullable[String](Format( - Reads.of[String].filter(ValidationError("unknown primary value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) and - (JsPath \ "verifiedPrimaryValue").formatTristate[String](Format( - Reads.of[String].filter(ValidationError("unknown verified primary value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) - ) (ApiPartialPatientLabel.apply, unlift(ApiPartialPatientLabel.unapply)) + (JsPath \ "primaryValue").formatNullable[String]( + Format(Reads + .of[String] + .filter(ValidationError("unknown primary value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String])) and + (JsPath \ "verifiedPrimaryValue").formatTristate[String]( + Format( + Reads + .of[String] + .filter(ValidationError("unknown verified primary value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String] + )) + )(ApiPartialPatientLabel.apply, unlift(ApiPartialPatientLabel.unapply)) } diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala index 3fe135e..ae64c33 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/patient/label/ApiPatientLabelDefiningCriteria.scala @@ -12,11 +12,15 @@ object ApiPatientLabelDefiningCriteria { implicit val format: Format[ApiPatientLabelDefiningCriteria] = ( (JsPath \ "labelId").format[Long] and - (JsPath \ "value").formatNullable[String](Format(Reads.of[String].filter(ValidationError("unknown value"))({ - case x if FuzzyValue.fromString.isDefinedAt(x) => true - case _ => false - }), Writes.of[String])) - ) (ApiPatientLabelDefiningCriteria.apply, unlift(ApiPatientLabelDefiningCriteria.unapply)) + (JsPath \ "value").formatNullable[String]( + Format(Reads + .of[String] + .filter(ValidationError("unknown value"))({ + case x if FuzzyValue.fromString.isDefinedAt(x) => true + case _ => false + }), + Writes.of[String])) + )(ApiPatientLabelDefiningCriteria.apply, unlift(ApiPatientLabelDefiningCriteria.unapply)) def fromDomain(x: PatientLabel) = ApiPatientLabelDefiningCriteria( labelId = x.labelId.id, -- cgit v1.2.3