aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala15
1 files changed, 12 insertions, 3 deletions
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..aca22ef 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,20 @@
package xyz.driver.pdsuidomain.formats.json.eligibilityarm
-import xyz.driver.pdsuidomain.entities.EligibilityArm
import play.api.libs.json.{Format, Json}
+import xyz.driver.entities.patient.CancerType
+import xyz.driver.pdsuidomain.entities.{EligibilityArmDisease, EligibilityArmWithDiseases}
-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,
+ CancerType.fromString(disease).getOrElse(throw new NoSuchElementException(s"unknown condition $disease")))
+ }
+ EligibilityArmWithDiseases(arm, armDiseases)
+ }
}
object ApiPartialEligibilityArm {