aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala
diff options
context:
space:
mode:
authorAleksandr <ognelisar@gmail.com>2017-10-12 10:44:54 +0700
committerAleksandr <ognelisar@gmail.com>2017-10-12 10:44:54 +0700
commitf525ab2604cc5d1366c852bdbcb4d912bbcea800 (patch)
tree4fe4b35e1f474e2dc85a8885dc4c9002f3ea46c2 /src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala
parent9198729ebf3d20b650b4467daa0d484a3148f01c (diff)
parente15415d69ec990d5243e58704e232e619b80aa6f (diff)
downloadrest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.tar.gz
rest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.tar.bz2
rest-query-f525ab2604cc5d1366c852bdbcb4d912bbcea800.zip
All merge conflicts are resolved
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.scala23
1 files changed, 23 insertions, 0 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
new file mode 100644
index 0000000..aca22ef
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/eligibilityarm/ApiPartialEligibilityArm.scala
@@ -0,0 +1,23 @@
+package xyz.driver.pdsuidomain.formats.json.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, diseases: Seq[String]) {
+
+ 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 {
+
+ implicit val format: Format[ApiPartialEligibilityArm] = Json.format
+}