from typing import Optional from sqlalchemy import ( Integer, String, ForeignKey, PrimaryKeyConstraint, ForeignKeyConstraint, UniqueConstraint, ) from sqlalchemy.orm import Mapped, mapped_column from core.database import Base class PermissionRuleOct(Base): __tablename__ = "permission_rule_oct" __table_args__ = ( PrimaryKeyConstraint("id", name="permission_rule_oct_pkey"), ForeignKeyConstraint( ["tenant_id"], ["a76.tenants.id"], name="fk_permission_rule_oct_tenant" ), ForeignKeyConstraint( ["company_id"], ["a76.company.id"], name="fk_permission_rule_oct_company" ), UniqueConstraint( "tenant_id", "company_id", "permission", name="permission_rule_oct_permission_tenant_ukey", ), {"schema": "a76"}, ) id: Mapped[int] = mapped_column(Integer, primary_key=True) tenant_id: Mapped[int] = mapped_column(Integer, nullable=False, index=True) company_id: Mapped[int] = mapped_column(Integer, nullable=False, index=True) permission: Mapped[str] = mapped_column(String(20)) start_date: Mapped[Optional[int]] = mapped_column() end_date: Mapped[Optional[int]] = mapped_column() sector: Mapped[Optional[str]] = mapped_column(String(8)) system: Mapped[Optional[str]] = mapped_column(String(5))