Coverage for app / models / subtask.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-26 21:50 +0000

1from sqlalchemy import Column, Integer, String, Boolean, TIMESTAMP, ForeignKey 

2from sqlalchemy.sql import func 

3from sqlalchemy.orm import relationship 

4from app.database import Base 

5 

6 

7class Subtask(Base): 

8 __tablename__ = "subtasks" 

9 

10 id = Column(Integer, primary_key=True) 

11 task_id = Column( 

12 Integer, ForeignKey("tasks.id", ondelete="CASCADE"), nullable=False 

13 ) 

14 

15 title = Column(String(255), nullable=False) 

16 order_index = Column(Integer) 

17 completed = Column(Boolean, nullable=False) 

18 

19 created_at = Column(TIMESTAMP, server_default=func.now()) 

20 updated_at = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now()) 

21 completed_at = Column(TIMESTAMP, nullable=True) 

22 

23 task = relationship("Task", back_populates="subtasks")