from pydantic import BaseModel, ConfigDict, Field, model_validator from jb.models.assignment import Assignment from jb.models.hit import Hit class AssignmentResponse(BaseModel): model_config = ConfigDict(extra="forbid", validate_assignment=True) assignment: Assignment = Field(alias="Assignment") hit: Hit = Field(alias="HIT") @model_validator(mode="after") def check_consistent_hit_id(self) -> "AssignmentResponse": if self.hit.id != self.assignment.hit_id: raise ValueError("Inconsistent Hit IDs") return self