Files
ctms/backend/app/schemas/task.py
T

43 lines
1.0 KiB
Python

import uuid
from datetime import date, datetime
from typing import Optional
from pydantic import BaseModel, ConfigDict
class TaskCreate(BaseModel):
milestone_id: Optional[uuid.UUID] = None
title: str
description: Optional[str] = None
assignee_id: Optional[uuid.UUID] = None
priority: str = "MEDIUM"
due_date: Optional[date] = None
class TaskUpdate(BaseModel):
milestone_id: Optional[uuid.UUID] = None
title: Optional[str] = None
description: Optional[str] = None
assignee_id: Optional[uuid.UUID] = None
priority: Optional[str] = None
due_date: Optional[date] = None
status: Optional[str] = None
class TaskRead(BaseModel):
id: uuid.UUID
study_id: uuid.UUID
milestone_id: Optional[uuid.UUID]
title: str
description: Optional[str]
assignee_id: Optional[uuid.UUID]
priority: str
due_date: Optional[date]
status: str
completed_at: Optional[datetime]
created_by: uuid.UUID
created_at: datetime
updated_at: datetime
model_config = ConfigDict(from_attributes=True)