56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
import uuid
|
|
|
|
from sqlalchemy import Column, Date, ForeignKey, Unicode, UniqueConstraint, text
|
|
from sqlalchemy.dialects.postgresql import UUID
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from .meta import Base
|
|
|
|
|
|
class Hearing(Base):
|
|
__tablename__ = "hearings"
|
|
__table_args__ = (UniqueConstraint("next_hearing_date", "case_id"),)
|
|
|
|
id = Column(
|
|
"id", UUID(as_uuid=True), primary_key=True, server_default=text("gen_random_uuid()"), default=uuid.uuid4
|
|
)
|
|
case_id = Column(
|
|
"case_id",
|
|
UUID(as_uuid=True),
|
|
ForeignKey("cases.id"),
|
|
nullable=False,
|
|
index=True,
|
|
)
|
|
court_number = Column("court_number", Unicode(255), nullable=False, unique=True)
|
|
item_number = Column("item_number", Unicode(255), nullable=False, unique=True)
|
|
bench = Column("bench", Unicode(255), nullable=False, unique=True)
|
|
proceedings = Column("proceedings", Unicode(255), nullable=False, unique=True)
|
|
next_hearing_date = Column("next_hearing_date", Date, nullable=False, index=True)
|
|
compliance_date = Column("compliance_date", Date, nullable=False, index=True)
|
|
court_status_id = Column("court_status_id", UUID(as_uuid=True), ForeignKey("court_statuses.id"), nullable=False)
|
|
|
|
court_status = relationship("CourtStatus", back_populates="hearings")
|
|
case = relationship("Case", back_populates="hearings")
|
|
|
|
def __init__(
|
|
self,
|
|
case_id=None,
|
|
court_number=None,
|
|
item_number=None,
|
|
bench=None,
|
|
proceedings=None,
|
|
compliance_date=None,
|
|
next_hearing_date=None,
|
|
court_status_id=None,
|
|
id_=None,
|
|
):
|
|
self.id = id_
|
|
self.case_id = case_id
|
|
self.court_number = court_number
|
|
self.item_number = item_number
|
|
self.bench = bench
|
|
self.proceedings = proceedings
|
|
self.compliance_date = compliance_date
|
|
self.next_hearing_date = next_hearing_date
|
|
self.court_status_id = court_status_id
|