transporter-server/core/models/task/db.py

18 lines
771 B
Python

from datetime import datetime, timedelta
from sqlalchemy.orm import Mapped, mapped_column
from sqlalchemy import ForeignKey, String
from database import Base
class Task(Base):
__tablename__ = 'task'
id: Mapped[int] = mapped_column(nullable=False, primary_key=True)
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)
profile_id: Mapped[int] = mapped_column(ForeignKey('profile.id'), nullable=False)