aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala
index de76ac0..e383a1f 100644
--- a/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala
+++ b/src/main/scala/xyz/driver/pdsuidomain/formats/json/export/ApiExportTrialWithLabels.scala
@@ -1,9 +1,11 @@
package xyz.driver.pdsuidomain.formats.json.export
-import java.time.ZoneId
+import java.time.{Instant, ZoneId}
import play.api.libs.functional.syntax._
import play.api.libs.json.{Format, JsPath}
+import xyz.driver.pdsuicommon.domain.{StringId, UuidId}
+import xyz.driver.pdsuidomain.entities.Trial
import xyz.driver.pdsuidomain.entities.export.trial.ExportTrialWithLabels
final case class ApiExportTrialWithLabels(nctId: String,
@@ -12,7 +14,20 @@ final case class ApiExportTrialWithLabels(nctId: String,
lastReviewed: Long,
labelVersion: Long,
arms: List[ApiExportTrialArm],
- criteria: List[ApiExportTrialLabelCriterion])
+ criteria: List[ApiExportTrialLabelCriterion]) {
+
+ def toDomain: ExportTrialWithLabels = {
+ ExportTrialWithLabels(
+ StringId[Trial](nctId),
+ UuidId[Trial](trialId),
+ condition,
+ lastReviewed = Instant.ofEpochMilli(lastReviewed).atZone(ZoneId.of("Z")).toLocalDateTime,
+ labelVersion,
+ arms.map(_.toDomain),
+ criteria.map(_.toDomain)
+ )
+ }
+}
object ApiExportTrialWithLabels {