models.py 845 B

123456789101112131415161718192021
  1. from datetime import datetime
  2. from sqlalchemy import DateTime, Integer, String
  3. from sqlalchemy.orm import Mapped, mapped_column
  4. from sorawm.server.db import Base
  5. class Task(Base):
  6. __tablename__ = "tasks"
  7. id: Mapped[str] = mapped_column(String, primary_key=True)
  8. video_path: Mapped[str] = mapped_column(String, nullable=False)
  9. output_path: Mapped[str] = mapped_column(String, nullable=True)
  10. status: Mapped[str] = mapped_column(String, nullable=False, default="PROCESSING")
  11. percentage: Mapped[int] = mapped_column(Integer, nullable=False, default=0)
  12. download_url: Mapped[str] = mapped_column(String, nullable=True)
  13. created_at: Mapped[datetime] = mapped_column(DateTime, default=datetime.now)
  14. updated_at: Mapped[datetime] = mapped_column(
  15. DateTime, default=datetime.now, onupdate=datetime.now
  16. )