Kanban_clone_backend/schemas/tasks.py

29 lines
732 B
Python

from enum import Enum
from pydantic import BaseModel, ConfigDict
from typing import List, Annotated, Optional
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 TaskCreate(BaseModel):
title: str
description: Optional[str] = None
status: TaskStatus = TaskStatus.PENDING
class TaskUpdate(BaseModel):
title: Optional[str] = None
description: Optional[str] = None
status: Optional[TaskStatus] = None