diff options
Diffstat (limited to 'src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala')
-rw-r--r-- | src/main/scala/xyz/driver/pdsuidomain/ListResponse.scala | 67 |
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] + +} |