blob: b0effdd9b3ae29e3ad0acb6711de8d6e7de1b104 (
plain) (
tree)
|
|
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]
}
|