from sqlmodel import Field, SQLModel from app.models.mixins import timestamp class DataFile(SQLModel, table=True): __tablename__ = "data_files" id: int | None = Field(default=None, primary_key=True) project_id: str = Field(foreign_key="projects.id", nullable=False, index=True) filename: str = Field(nullable=False) stored_path: str = Field(nullable=False) extracted_path: str = Field(default="", nullable=False) uploaded_at: str = Field(default_factory=timestamp, nullable=False) wavenumber_min: float | None = Field(default=None) wavenumber_max: float | None = Field(default=None) group_index: int = Field(default=2, nullable=False) group_names_json: str = Field(default="[]", nullable=False) group_order_json: str = Field(default="[]", nullable=False)