UMBRA/backend/app/schemas/project.py
2026-02-15 16:13:41 +08:00

35 lines
868 B
Python

from pydantic import BaseModel, ConfigDict
from datetime import datetime, date
from typing import Optional, List
from app.schemas.project_task import ProjectTaskResponse
class ProjectCreate(BaseModel):
name: str
description: Optional[str] = None
status: str = "not_started"
color: Optional[str] = None
due_date: Optional[date] = None
class ProjectUpdate(BaseModel):
name: Optional[str] = None
description: Optional[str] = None
status: Optional[str] = None
color: Optional[str] = None
due_date: Optional[date] = None
class ProjectResponse(BaseModel):
id: int
name: str
description: Optional[str]
status: str
color: Optional[str]
due_date: Optional[date]
created_at: datetime
updated_at: datetime
tasks: List[ProjectTaskResponse] = []
model_config = ConfigDict(from_attributes=True)