# generated by datamodel-codegen:
#   filename:  additional_properties.yaml
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from pydantic import BaseModel, ConfigDict, Field, RootModel


class Pet(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    id: int
    name: str
    tag: str | None = None


class Pets(RootModel[list[Pet]]):
    root: list[Pet]


class User(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    id: int
    name: str
    tag: str | None = None


class Users(RootModel[list[User]]):
    root: list[User]


class Id(RootModel[str]):
    root: str


class Rules(RootModel[list[str]]):
    root: list[str]


class Error(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    code: int
    message: str


class Event(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    name: str | None = None


class Result(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    event: Event | None = None


class Broken(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    foo: str | None = None
    bar: int | None = None


class BrokenArray(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    broken: dict[str, list[Broken]] | None = None


class FileSetUpload(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    task_id: str | None = Field(None, title='task id')
    tags: dict[str, list[str]] = Field(
        ..., title='Dict of tags, each containing a list of file names'
    )


class Test(BaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    broken: dict[str, Broken] | None = None
    failing: dict[str, str] | None = {}
