diff options
author | vlad <vlad@driver.xyz> | 2017-06-30 23:06:43 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-06-30 23:06:43 -0700 |
commit | 56187bec9276f51886a01a2752c663f2227d9fc3 (patch) | |
tree | 3ddafc15152df5c1b2a6c69f0aa97a03ef7e819d /src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala | |
parent | 96d81a36286e41035ff4068859a3b0f9da924fbc (diff) | |
download | rest-query-56187bec9276f51886a01a2752c663f2227d9fc3.tar.gz rest-query-56187bec9276f51886a01a2752c663f2227d9fc3.tar.bz2 rest-query-56187bec9276f51886a01a2752c663f2227d9fc3.zip |
Export entities JSON formatsv0.1.13
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala new file mode 100644 index 0000000..09935c0 --- /dev/null +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialLabelCriterion.scala @@ -0,0 +1,39 @@ +package xyz.driver.pdsuidomain.formats.json.export + +import xyz.driver.pdsuicommon.domain.FuzzyValue +import play.api.libs.functional.syntax._ +import play.api.libs.json._ +import xyz.driver.pdsuidomain.entities.export.trial.ExportTrialLabelCriterion + +final case class ApiExportTrialLabelCriterion(value: String, + labelId: String, + criterionId: String, + criterionText: String, + armIds: List[String], + isCompound: Boolean, + isDefining: Boolean) + +object ApiExportTrialLabelCriterion { + + implicit val format: Format[ApiExportTrialLabelCriterion] = ( + (JsPath \ "value").format[String](Writes[String](x => JsString(x.toUpperCase))) and + (JsPath \ "labelId").format[String] and + (JsPath \ "criterionId").format[String] and + (JsPath \ "criterionText").format[String] and + (JsPath \ "armIds").format[List[String]] and + (JsPath \ "isCompound").format[Boolean] and + (JsPath \ "isDefining").format[Boolean] + ) (ApiExportTrialLabelCriterion.apply, unlift(ApiExportTrialLabelCriterion.unapply)) + + def fromDomain(x: ExportTrialLabelCriterion) = ApiExportTrialLabelCriterion( + value = x.value.map { x => + FuzzyValue.valueToString(FuzzyValue.fromBoolean(x)) + }.getOrElse("Unknown"), + labelId = x.labelId.toString, + criterionId = x.criterionId.toString, + criterionText = x.criteria, + armIds = x.armIds.map(_.toString).toList, + isCompound = x.isCompound, + isDefining = x.isDefining + ) +} |