diff --git a/backend/app/schemas/review.py b/backend/app/schemas/review.py index c4fca68..c1fb015 100644 --- a/backend/app/schemas/review.py +++ b/backend/app/schemas/review.py @@ -35,3 +35,46 @@ class ReviewResponse(BaseModel): created_at: datetime model_config = {"from_attributes": True} + + +class ReviewDetailResponse(BaseModel): + """Review with full context: task, project, worker, cost info joined.""" + # --- Review fields --- + 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 + created_at: datetime + + # --- Task context --- + task_title: str = "" + task_description: str = "" + task_input_data: str = "" + task_output_data: str = "" + task_priority: str = "medium" + task_type: str = "single_call" + task_status: str = "" + + # --- Project context --- + project_name: str = "" + project_description: str = "" + + # --- Worker context --- + worker_id: Optional[int] = None + worker_name: Optional[str] = None + worker_model_name: Optional[str] = None + worker_provider: Optional[str] = None + worker_system_prompt: Optional[str] = None + + # --- Cost / usage --- + cost_cents: int = 0 + token_usage: int = 0 + duration_ms: int = 0