From d9fb0c8f3abcfb44bbe8773c55d7c3592e57975a Mon Sep 17 00:00:00 2001 From: Marvin Bertin Date: Mon, 2 Oct 2017 15:20:08 -0700 Subject: update ApiPartialEligibilityArm --- .../json/eligibilityarm/ApiPartialEligibilityArm.scala | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/main/scala/xyz') diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala index cc3d460..2041618 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala @@ -1,11 +1,19 @@ package xyz.driver.pdsuidomain.formats.json.eligibilityarm -import xyz.driver.pdsuidomain.entities.EligibilityArm +import xyz.driver.pdsuidomain.entities.{EligibilityArm, EligibilityArmDisease, EligibilityArmWithDiseases, Trial} import play.api.libs.json.{Format, Json} -final case class ApiPartialEligibilityArm(name: String) { +final case class ApiPartialEligibilityArm(name: String, diseases: Seq[String]) { - def applyTo(arm: EligibilityArm): EligibilityArm = arm.copy(name = name) + def applyTo(armWithDisease: EligibilityArmWithDiseases): EligibilityArmWithDiseases = { + val arm = armWithDisease.eligibilityArm.copy(name = name) + val armDiseases = diseases.map { disease => + EligibilityArmDisease( + armWithDisease.eligibilityArm.id, + Trial.Condition.fromString(disease).getOrElse(throw new NoSuchElementException(s"unknown condition $disease"))) + } + EligibilityArmWithDiseases(arm ,armDiseases) + } } object ApiPartialEligibilityArm { -- cgit v1.2.3