123456789101112131415161718 |
- from typing import Optional
- from sqlalchemy import Index, Column, Enum
- from sqlmodel import Field
- from app.models.base_model import BaseModel, TimeStampMixin, PrimaryKeyMixin
- class File(BaseModel, PrimaryKeyMixin, TimeStampMixin, table=True):
- __table_args__ = (Index("file_purpose_idx", "purpose"),)
- bytes: int = Field(nullable=False)
- filename: str = Field(nullable=False)
- purpose: str = Field(nullable=False)
- object: str = Field(nullable=False, default="file")
- key: str = Field(nullable=False)
- status: Optional[str] = Field(default=None, sa_column=Column("status", Enum("error", "processed", "uploaded")))
- status_details: Optional[str] = Field(default=None)
|