from datetime import datetime, date from sqlalchemy import String from sqlalchemy.orm import Mapped, mapped_column from app.db.base import Base from app.models.common import TimestampMixin, uuid4_str class Organization(Base, TimestampMixin): __tablename__ = "organizations" id: Mapped[str] = mapped_column(String(36), primary_key=True, default=uuid4_str) kind: Mapped[str] = mapped_column( String(32), nullable=False, doc="operator|mro|authority|other" ) name: Mapped[str] = mapped_column(String(255), nullable=False) inn: Mapped[str | None] = mapped_column(String(16), nullable=True) ogrn: Mapped[str | None] = mapped_column(String(20), nullable=True) address: Mapped[str | None] = mapped_column(String(512), nullable=True) email: Mapped[str | None] = mapped_column(String(255), nullable=True) phone: Mapped[str | None] = mapped_column(String(64), nullable=True)