diff options
author | vlad <vlad@driver.xyz> | 2017-07-20 10:37:08 -0700 |
---|---|---|
committer | vlad <vlad@driver.xyz> | 2017-07-20 10:37:08 -0700 |
commit | 5279d01cedb35a759347f194c0e8adb21d19e88e (patch) | |
tree | e340bb2eaba41d917bbca8c5e42b0b76bd164e37 /src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention | |
parent | d9c3283c307105e03253c621b9b25a6308ac3b94 (diff) | |
parent | 7f7bd651122754a3df47894b64ddb0456561bbe7 (diff) | |
download | rest-query-5279d01cedb35a759347f194c0e8adb21d19e88e.tar.gz rest-query-5279d01cedb35a759347f194c0e8adb21d19e88e.tar.bz2 rest-query-5279d01cedb35a759347f194c0e8adb21d19e88e.zip |
Merge remote-tracking branch 'origin/master'
# Conflicts:
# build.sbt
# src/main/scala/xyz/driver/pdsuicommon/auth/AuthenticatedRequestContext.scala
# src/main/scala/xyz/driver/pdsuicommon/domain/User.scala
# src/main/scala/xyz/driver/pdsuidomain/formats/json/user/ApiPartialUser.scala
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiIntervention.scala | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiIntervention.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiIntervention.scala index 39e0000..39acbde 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiIntervention.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/intervention/ApiIntervention.scala @@ -1,6 +1,7 @@ package xyz.driver.pdsuidomain.formats.json.intervention -import xyz.driver.pdsuidomain.entities.InterventionWithArms +import xyz.driver.pdsuicommon.domain.{LongId, StringId} +import xyz.driver.pdsuidomain.entities.{Intervention, InterventionArm, InterventionWithArms} import play.api.libs.functional.syntax._ import play.api.libs.json.{Format, JsPath} @@ -10,7 +11,31 @@ final case class ApiIntervention(id: Long, description: String, isActive: Boolean, arms: List[Long], - trialId: String) + trialId: String, + originalName: String, + originalDescription: String, + originalType: Option[String]) { + + def toDomain = { + val intervention = Intervention( + id = LongId(this.id), + trialId = StringId(this.trialId), + name = this.name, + originalName = this.originalName, + typeId = this.typeId.map(id => LongId(id)), + originalType = this.originalType.map(id => id.toString), + description = this.description, + originalDescription = this.originalDescription, + isActive = this.isActive + ) + + InterventionWithArms(intervention, this.arms.map { armId => + InterventionArm(LongId(armId), intervention.id) + }) + + } + +} object ApiIntervention { @@ -21,7 +46,10 @@ object ApiIntervention { (JsPath \ "description").format[String] and (JsPath \ "isActive").format[Boolean] and (JsPath \ "arms").format[List[Long]] and - (JsPath \ "trialId").format[String] + (JsPath \ "trialId").format[String] and + (JsPath \ "originalName").format[String] and + (JsPath \ "originalDescription").format[String] and + (JsPath \ "originalType").formatNullable[String] )(ApiIntervention.apply, unlift(ApiIntervention.unapply)) def fromDomain(interventionWithArms: InterventionWithArms): ApiIntervention = { @@ -35,7 +63,10 @@ object ApiIntervention { description = intervention.description, isActive = intervention.isActive, arms = arms.map(_.armId.id), - trialId = intervention.trialId.id + trialId = intervention.trialId.id, + originalName = intervention.originalName, + originalDescription = intervention.originalDescription, + originalType = intervention.originalType ) } } |