# -*- coding: utf-8 -*-
# ----  AUTO-GENERATED BY redox_lib_gen. DO NOT MODIFY MANUALLY!!  ---- #

from typing import List, Union

from pydantic import Field

from pyredox import media
from ..abstract_base import GenericRedoxAbstractModel
from . import types as generic


class _Media(GenericRedoxAbstractModel):
    _redox_module = media


class Delete(_Media):

    Media: generic.Media = Field(...)
    Meta: generic.Meta = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)


class New(_Media):

    Media: generic.Media = Field(...)
    Meta: generic.Meta = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)


class Query(_Media):

    DocumentIDs: List[str] = Field(None)
    DocumentTypes: List[str] = Field(None)
    Meta: generic.Meta = Field(...)
    Patients: List[generic.Patient] = Field(None)
    VisitNumbers: List[str] = Field(None)


class QueryResponse(_Media):

    Media: List[generic.Medium] = Field(None)
    Meta: generic.Meta = Field(...)


class Replace(_Media):

    Media: generic.Media = Field(...)
    Meta: generic.Meta = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)
