import enum import uuid from sqlalchemy import BigInteger, Enum, ForeignKey, String from sqlalchemy.orm import Mapped, mapped_column, relationship from app.models.base import Base, TimestampMixin, UUIDMixin class ExportFormat(str, enum.Enum): docx = "docx" pdf = "pdf" md = "md" class ExportFile(UUIDMixin, TimestampMixin, Base): __tablename__ = "export_files" protocol_id: Mapped[uuid.UUID] = mapped_column( ForeignKey("protocols.id", ondelete="CASCADE") ) format: Mapped[ExportFormat] = mapped_column(Enum(ExportFormat)) file_path: Mapped[str] = mapped_column(String(1000)) file_size: Mapped[int] = mapped_column(BigInteger) protocol: Mapped["Protocol"] = relationship(back_populates="export_files")