from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, Text from sqlalchemy.orm import relationship from app.db.base import BaseModel class Task(BaseModel): __tablename__ = "tasks" schedule_id = Column(String, ForeignKey("schedules.id", ondelete="CASCADE"), nullable=False, index=True) title = Column(String(255), nullable=False) description = Column(Text, nullable=True) image_url = Column(String(500), nullable=True) duration_minutes = Column(Integer, nullable=False, default=30) completed = Column(Boolean, default=False, nullable=False) order = Column(Integer, nullable=False, default=0) category = Column(String(100), nullable=True) # Relationships schedule = relationship("Schedule", back_populates="tasks")