diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala index 2185e3a..32e2b54 100644 --- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala +++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/arm/ApiArm.scala @@ -1,22 +1,35 @@ package xyz.driver.pdsuidomain.formats.json.arm +import xyz.driver.pdsuicommon.domain.{LongId, StringId} import xyz.driver.pdsuidomain.entities.Arm import play.api.libs.functional.syntax._ import play.api.libs.json._ -final case class ApiArm(id: Long, name: String, trialId: String) +final case class ApiArm(id: Long, name: String, originalName: String, trialId: String) { + + def toDomain: Arm = Arm( + id = LongId(this.id), + name = this.name, + originalName = this.originalName, + trialId = StringId(this.trialId), + deleted = None // if we have an ApiArm object, the Arm itself has not been deleted + ) + +} object ApiArm { implicit val format: Format[ApiArm] = ( (JsPath \ "id").format[Long] and (JsPath \ "name").format[String] and + (JsPath \ "originalName").format[String] and (JsPath \ "trialId").format[String] )(ApiArm.apply, unlift(ApiArm.unapply)) def fromDomain(arm: Arm): ApiArm = ApiArm( id = arm.id.id, name = arm.name, + originalName = arm.originalName, trialId = arm.trialId.id ) } |