20 lines
885 B
Python
20 lines
885 B
Python
from datetime import datetime, timedelta
|
|
|
|
from sqlalchemy.orm import Mapped, mapped_column
|
|
from sqlalchemy import ForeignKey, String
|
|
|
|
from database import Base
|
|
|
|
|
|
class SubTask(Base):
|
|
__tablename__ = 'subtask'
|
|
id: Mapped[int] = mapped_column(nullable=False, primary_key=True)
|
|
task_id: Mapped[int] = mapped_column(ForeignKey('task.id'), nullable=False)
|
|
title: Mapped[str] = mapped_column(String(128), nullable=False)
|
|
description: Mapped[str | None] = mapped_column(String(128))
|
|
status: Mapped[str] = mapped_column(String(128), default='active', nullable=False)
|
|
time_till: Mapped[datetime] = mapped_column(nullable=False, default=lambda _: datetime.utcnow() + timedelta(days=1))
|
|
time_finished: Mapped[datetime] = mapped_column(nullable=True)
|
|
lon: Mapped[str | None] = mapped_column(String(128))
|
|
lat: Mapped[str | None] = mapped_column(String(128))
|