from __future__ import annotations from pydantic import BaseModel, Field class ApprovalOperator(BaseModel): user_id: str user_name: str class ApprovalTarget(BaseModel): app_code: str env: str class CreateApprovalRequest(BaseModel): task_id: str risk_level: str operator: ApprovalOperator action_type: str target: ApprovalTarget reason: str approvers: list[str] = Field(default_factory=list) class CreateApprovalData(BaseModel): approval_id: str approval_status: str class ApprovalDecisionRequest(BaseModel): decision: str comment: str | None = None operator: ApprovalOperator class ApprovalDetailData(BaseModel): approval_id: str task_id: str approval_status: str risk_level: str approvers: list[str] reason: str | None = None created_at: str updated_at: str class ApprovalListData(BaseModel): approvals: list[ApprovalDetailData]