From 6e6613662af51512a8456599d741f3cbdf72768d Mon Sep 17 00:00:00 2001 From: IluaAir Date: Wed, 3 Sep 2025 23:26:33 +0300 Subject: [PATCH] patch schema --- src/schemas/tasks.py | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/schemas/tasks.py b/src/schemas/tasks.py index f80c601..2b2bbb2 100644 --- a/src/schemas/tasks.py +++ b/src/schemas/tasks.py @@ -1,14 +1,27 @@ from datetime import date from enum import Enum -from typing import Literal from pydantic import BaseModel, ConfigDict +class PriorityEnum(str, Enum): + low = "low" + medium = "medium" + high = "high" + critical = "critical" + + +class StatusEnum(str, Enum): + open = "open" + closed = "closed" + in_progress = "in_progress" + todo = "todo" + + class TaskShort(BaseModel): title: str due_date: date | None = None - priority: Literal["low", "medium", "high", "critical"] = "medium" + priority: PriorityEnum = PriorityEnum.medium model_config = ConfigDict(from_attributes=True) @@ -21,11 +34,13 @@ class TaskADDRequest(TaskShort): description: str | None = None -class StatusEnum(str, Enum): - open = "open" - closed = "closed" - in_progress = "in_progress" - todo = "todo" +class TaskPATCHRequest(BaseModel): + title: str | None = None + description: str | None = None + due_date: date | None = None + status: StatusEnum | None = None + priority: PriorityEnum | None = None + time_spent: int | None = None class Task(TaskADDRequest):