# Generated by ariadne-codegen
# Source: vals/graphql/

from datetime import datetime
from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import RunReviewStatusEnum


class GetSingleRunReview(BaseModel):
    single_run_review: Optional["GetSingleRunReviewSingleRunReview"] = Field(
        alias="singleRunReview"
    )


class GetSingleRunReviewSingleRunReview(BaseModel):
    id: Any
    created_by: str = Field(alias="createdBy")
    created_at: datetime = Field(alias="createdAt")
    status: RunReviewStatusEnum
    pass_rate_human_eval: Optional[float] = Field(alias="passRateHumanEval")
    agreement_rate_auto_eval: Optional[float] = Field(alias="agreementRateAutoEval")
    agreement_rate_human_eval: Optional[float] = Field(alias="agreementRateHumanEval")
    flagged_rate: Optional[float] = Field(alias="flaggedRate")
    completed_time: Optional[datetime] = Field(alias="completedTime")
    number_of_reviews: int = Field(alias="numberOfReviews")
    assigned_reviewers: List[str] = Field(alias="assignedReviewers")
    rereview_auto_eval: bool = Field(alias="rereviewAutoEval")
    project: "GetSingleRunReviewSingleRunReviewProject"
    run: "GetSingleRunReviewSingleRunReviewRun"


class GetSingleRunReviewSingleRunReviewProject(BaseModel):
    id: Any


class GetSingleRunReviewSingleRunReviewRun(BaseModel):
    id: str


GetSingleRunReview.model_rebuild()
GetSingleRunReviewSingleRunReview.model_rebuild()
