aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala
diff options
context:
space:
mode:
authorvlad <vlad@driver.xyz>2017-07-01 13:21:37 -0700
committervlad <vlad@driver.xyz>2017-07-01 13:21:37 -0700
commit08312a9288c983c15dd380f0037c30db5d6c05a7 (patch)
tree2419748dc99870b73805b405d8bf5d16fe998b7f /src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala
parent05543fd8a5a4fb9a63843bde9ec124d623f1c094 (diff)
downloadrest-query-08312a9288c983c15dd380f0037c30db5d6c05a7.tar.gz
rest-query-08312a9288c983c15dd380f0037c30db5d6c05a7.tar.bz2
rest-query-08312a9288c983c15dd380f0037c30db5d6c05a7.zip
Functions toDomain for some TC API case classesv0.1.18
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala
index 1e7114a..4986b17 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/criterion/ApiCriterion.scala
@@ -3,6 +3,8 @@ package xyz.driver.pdsuidomain.formats.json.criterion
import xyz.driver.pdsuicommon.json.Serialization.seqJsonFormat
import play.api.libs.functional.syntax._
import play.api.libs.json._
+import xyz.driver.pdsuicommon.domain.{LongId, StringId}
+import xyz.driver.pdsuidomain.entities.{Arm, Criterion, Trial}
import xyz.driver.pdsuidomain.formats.json.label.ApiCriterionLabel
import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
@@ -12,7 +14,20 @@ final case class ApiCriterion(id: Long,
text: Option[String],
isCompound: Boolean,
labels: Seq[ApiCriterionLabel],
- trialId: String)
+ trialId: String) {
+
+ def toDomain = RichCriterion(
+ criterion = Criterion(
+ id = LongId[Criterion](id),
+ trialId = StringId[Trial](trialId),
+ text,
+ isCompound,
+ meta.getOrElse("")
+ ),
+ armIds = arms.map(LongId[Arm]),
+ labels = labels.map(_.toDomain(LongId[Criterion](id)))
+ )
+}
object ApiCriterion {