Skip to content

openfoodfacts_proxy.models.v3.response_status

[docs] module openfoodfacts_proxy.models.v3.response_status

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from typing import Any

from pydantic import BaseModel


class V3Result(BaseModel):
    """Result descriptor returned in all v3 API responses."""

    id: str
    name: str | None = None
    lc_name: str | None = None
    description: str | None = None
    lc_description: str | None = None


class V3Error(BaseModel):
    """Structured error detail in a v3 response."""

    message: V3Result
    field: dict[str, Any] | None = None
    impact: V3Result | None = None


class V3Warning(BaseModel):
    """Structured warning detail in a v3 response."""

    message: V3Result
    field: dict[str, Any] | None = None
    impact: V3Result | None = None


class V3ResponseStatus(BaseModel):
    """Shared response envelope for all Open Food Facts v3 API responses."""

    status: str
    result: V3Result
    errors: list[V3Error] | None = None
    warnings: list[V3Warning] | None = None