summaryrefslogtreecommitdiff
path: root/jb/models/api_response.py
blob: 6b29e51baa4579c6fa63e711cc8420e99190374e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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