""" Upload History model for tracking file uploads """ from sqlalchemy import Column, Integer, String, DateTime, Text from sqlalchemy.sql import func from app.db.base import Base class UploadHistory(Base): """ Upload history tracking Stores information about uploaded files and their processing status """ __tablename__ = "upload_history" __table_args__ = {'schema': 'fastapi'} id = Column(Integer, primary_key=True, index=True) upload_id = Column(String, unique=True, index=True, nullable=False) filename = Column(String, nullable=False) filepath = Column(String, nullable=False) description = Column(Text) status = Column(String, default="pending") job_id = Column(String) logs = Column(Text) uploaded_by = Column(String) uploaded_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = Column(DateTime(timezone=True), onupdate=func.now()) airflow_dag_run_id = Column(String) airflow_state = Column(String) processing_started_at = Column(DateTime(timezone=True)) processing_completed_at = Column(DateTime(timezone=True)) error_message = Column(Text)