diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/label/ApiCriterionLabel.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/label/ApiCriterionLabel.scala | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/label/ApiCriterionLabel.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/label/ApiCriterionLabel.scala deleted file mode 100644 index edb0603..0000000 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/label/ApiCriterionLabel.scala +++ /dev/null @@ -1,54 +0,0 @@ -package xyz.driver.pdsuidomain.formats.json.label - -import xyz.driver.pdsuicommon.domain.LongId -import xyz.driver.pdsuidomain.entities.{Criterion, CriterionLabel} -import play.api.data.validation.ValidationError -import play.api.libs.functional.syntax._ -import play.api.libs.json._ -import xyz.driver.entities.labels.{Label, LabelCategory, LabelValue} - -/** - * @param value Yes|No - */ -final case class ApiCriterionLabel(labelId: Option[Long], - categoryId: Option[Long], - value: Option[String], - isDefining: Boolean) { - - def toDomain(criterionId: LongId[Criterion]) = CriterionLabel( - id = LongId(0L), - labelId = labelId.map(LongId[Label]), - criterionId = criterionId, - categoryId = categoryId.map(LongId[LabelCategory]), - value = value.map { - case "Yes" => true - case "No" => false - }, - isDefining = isDefining - ) -} - -object ApiCriterionLabel { - - def fromDomain(x: CriterionLabel) = ApiCriterionLabel( - labelId = x.labelId.map(_.id), - categoryId = x.categoryId.map(_.id), - value = x.value.map { x => - LabelValue.fromBoolean(x).toString - }, - isDefining = x.isDefining - ) - - implicit val format: Format[ApiCriterionLabel] = ( - (JsPath \ "labelId").formatNullable[Long] and - (JsPath \ "categoryId").formatNullable[Long] and - (JsPath \ "value").formatNullable[String]( - Format(Reads - .of[String] - .filter(ValidationError("unknown value"))({ x => - x == "Yes" || x == "No" - }), - Writes.of[String])) and - (JsPath \ "isDefining").format[Boolean] - )(ApiCriterionLabel.apply, unlift(ApiCriterionLabel.unapply)) -} |