aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala
diff options
context:
space:
mode:
authorKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-18 15:00:26 +0700
committerKseniya Tomskikh <ktomskih@datamonsters.co>2017-10-19 13:02:44 +0700
commit61d03bffcb6000268bb600d5336fb490056837f9 (patch)
treedbad0340d28dbe5835c80cf75f93d142a5327578 /src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala
parent0c8a7c3f1920e38a0606de91be5793c4f2a1d40a (diff)
downloadrest-query-61d03bffcb6000268bb600d5336fb490056837f9.tar.gz
rest-query-61d03bffcb6000268bb600d5336fb490056837f9.tar.bz2
rest-query-61d03bffcb6000268bb600d5336fb490056837f9.zip
Created list response for each entity
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala')
-rw-r--r--src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala b/src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala
new file mode 100644
index 0000000..b0effdd
--- /dev/null
+++ b/src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala
@@ -0,0 +1,67 @@
+package xyz.driver.pdsuidomain
+
+import java.time.LocalDateTime
+
+import xyz.driver.pdsuicommon.concurrent.BridgeUploadQueue
+import xyz.driver.pdsuicommon.db.Pagination
+import xyz.driver.pdsuidomain.entities._
+import xyz.driver.pdsuidomain.services.CriterionService.RichCriterion
+import xyz.driver.pdsuidomain.services.ExtractedDataService.RichExtractedData
+import xyz.driver.pdsuidomain.services.PatientCriterionService.RichPatientCriterion
+import xyz.driver.pdsuidomain.services.PatientEligibleTrialService.RichPatientEligibleTrial
+import xyz.driver.pdsuidomain.services.PatientHypothesisService.RichPatientHypothesis
+import xyz.driver.pdsuidomain.services.PatientLabelService.RichPatientLabel
+
+@SuppressWarnings(Array("org.wartremover.warts.FinalCaseClass"))
+case class ListResponse[+T](items: Seq[T], meta: ListResponse.Meta)
+
+object ListResponse {
+
+ final case class Meta(itemsCount: Int, pageNumber: Int, pageSize: Int, lastUpdate: Option[LocalDateTime])
+
+ object Meta {
+ def apply(itemsCount: Int, pagination: Pagination, lastUpdate: Option[LocalDateTime]): Meta = {
+ Meta(
+ itemsCount,
+ pagination.pageNumber,
+ pagination.pageSize,
+ lastUpdate
+ )
+ }
+ }
+
+ trait MedicalRecordListResponse extends ListResponse[MedicalRecord]
+ trait MedicalRecordIssueListResponse extends ListResponse[MedicalRecordIssue]
+ trait MedicalRecordHistoryListResponse extends ListResponse[MedicalRecordHistory]
+ trait DocumentListResponse extends ListResponse[Document]
+ trait DocumentIssueListResponse extends ListResponse[DocumentIssue]
+ trait DocumentHistoryListResponse extends ListResponse[DocumentHistory]
+ trait RichExtractedDataListResponse extends ListResponse[RichExtractedData]
+ trait DocumentTypeListResponse extends ListResponse[DocumentType]
+ trait ProviderTypeListResponse extends ListResponse[ProviderType]
+
+ trait TrialListResponse extends ListResponse[Trial]
+ trait TrialIssueListResponse extends ListResponse[TrialIssue]
+ trait TrialHistoryListResponse extends ListResponse[TrialHistory]
+ trait ArmListResponse extends ListResponse[Arm]
+ trait InterventionWithArmsListResponse extends ListResponse[InterventionWithArms]
+ trait EligibilityArmWithDiseasesListResponse extends ListResponse[EligibilityArmWithDiseases]
+ trait SlotArmListResponse extends ListResponse[SlotArm]
+ trait RichCriterionListResponse extends ListResponse[RichCriterion]
+ trait InterventionTypeListResponse extends ListResponse[InterventionType]
+ trait StudyDesignListResponse extends ListResponse[StudyDesign]
+ trait HypothesisListResponse extends ListResponse[Hypothesis]
+
+ trait PatientListResponse extends ListResponse[Patient]
+ trait PatientIssueListResponse extends ListResponse[PatientIssue]
+ trait PatientHistoryListResponse extends ListResponse[PatientHistory]
+ trait PatientLabelListResponse extends ListResponse[PatientLabel]
+ trait RichPatientLabelListResponse extends ListResponse[RichPatientLabel]
+ trait RichPatientCriterionListResponse extends ListResponse[RichPatientCriterion]
+ trait RichPatientEligibleTrialListResponse extends ListResponse[RichPatientEligibleTrial]
+ trait RichPatientHypothesisListResponse extends ListResponse[RichPatientHypothesis]
+ trait PatientLabelEvidenceViewListResponse extends ListResponse[PatientLabelEvidenceView]
+
+ trait QueueUploadItemListResponse extends ListResponse[BridgeUploadQueue.Item]
+
+}