luthor/luthor/luthor/models/hearing.py

55 lines
1.9 KiB
Python

import uuid
from sqlalchemy import Column, DateTime, ForeignKey, Unicode, text
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
from .meta import Base
class Hearing(Base):
__tablename__ = "hearings"
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", DateTime, nullable=False, index=True)
compliance_date = Column("compliance_date", DateTime, nullable=False, index=True)
court_status_id = Column("court_status_id", UUID(as_uuid=True), ForeignKey("court_statuses.id"), nullable=True)
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