Automated Action 73c662b24c Fix requirements.txt issue and lint code
- Add requirements.txt file to git
- Add project files to git
- Fix linting issues in task.py and env.py
- Update SQLAlchemy queries to use 'not' instead of '== False'
- Fix import ordering in env.py
2025-06-06 10:44:18 +00:00

33 lines
1.1 KiB
Python

from datetime import datetime
from typing import Optional
from enum import Enum as PyEnum
from sqlalchemy import Boolean, Column, DateTime, Enum, Integer, String, Text, ForeignKey
from sqlalchemy.orm import relationship
from app.db.base_class import Base
class TaskPriority(str, PyEnum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
class TaskStatus(str, PyEnum):
TODO = "todo"
IN_PROGRESS = "in_progress"
DONE = "done"
class Task(Base):
id = Column(Integer, primary_key=True, index=True)
title = Column(String(255), nullable=False, index=True)
description = Column(Text, nullable=True)
status = Column(Enum(TaskStatus), default=TaskStatus.TODO, nullable=False)
priority = Column(Enum(TaskPriority), default=TaskPriority.MEDIUM, nullable=False)
due_date = Column(DateTime, nullable=True)
created_at = Column(DateTime, default=datetime.utcnow, nullable=False)
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)
completed_at = Column(DateTime, nullable=True)
is_deleted = Column(Boolean, default=False, nullable=False)