From b3899de769f8749671f5c857d53bb0e73a5a832e Mon Sep 17 00:00:00 2001 From: Edoardo Borgia Leiva Date: Mon, 26 Jan 2026 17:52:20 +0100 Subject: [PATCH] Base pydantic models for task managment --- tasks.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tasks.py diff --git a/tasks.py b/tasks.py new file mode 100644 index 0000000..f383fd9 --- /dev/null +++ b/tasks.py @@ -0,0 +1,26 @@ +from enum import Enum +from pydantic import BaseModel, ConfigDict +from typing import List, Annotated, Optional +import models +from database import SessionLocal, engine +from sqlalchemy.orm import Session, joinedload + +class TaskStatus(str, Enum): + PENDING = "pending" + IN_PROGRESS = "in_progress" + COMPLETED = "completed" + FAILED = "failed" + STASHED = "stashed" + +class TaskBase(BaseModel): + model_config = ConfigDict(from_attributes=True) + + id: int + title: str + description: Optional[str] = None + status: TaskStatus = TaskStatus.PENDING + +class TaskList(BaseModel): + model_config = ConfigDict(from_attributes=True) + + tasks: List[TaskBase]