"""Review schemas.""" from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class ReviewCreate(BaseModel): task_id: int project_id: int review_type: str = "approval" review_content: str = "" auto_check_result: str = "{}" class ReviewDecision(BaseModel): """Reviewer's approve/reject decision.""" comment: str = "" status: str = Field(..., pattern="^(approved|rejected)$") class ReviewResponse(BaseModel): id: int task_id: int project_id: int review_type: str status: str reviewer_id: Optional[int] = None reviewer_role: Optional[str] = None review_content: str = "" reviewer_comment: str = "" auto_check_result: str = "{}" submitted_at: datetime reviewed_at: Optional[datetime] = None tenant_id: int created_at: datetime model_config = {"from_attributes": True}