# generated by datamodel-codegen:
#   filename:  v2-simple-auth-manager-generated.yaml
#   version:   0.71.0

from __future__ import annotations

from typing import Annotated, Any

from pydantic import BaseModel, ConfigDict, Field


class HTTPExceptionResponse(BaseModel):
    """
    HTTPException Model used for error response.
    """

    detail: Annotated[str | dict[str, Any], Field(title="Detail")]


class LoginBody(BaseModel):
    """
    Login serializer for post bodies.
    """

    model_config = ConfigDict(
        extra="forbid",
    )
    username: Annotated[str, Field(title="Username")]
    password: Annotated[str, Field(title="Password")]


class LoginResponse(BaseModel):
    """
    Login serializer for responses.
    """

    access_token: Annotated[str, Field(title="Access Token")]


class ValidationError(BaseModel):
    loc: Annotated[list[str | int], Field(title="Location")]
    msg: Annotated[str, Field(title="Message")]
    type: Annotated[str, Field(title="Error Type")]
    input: Annotated[Any | None, Field(title="Input")] = None
    ctx: Annotated[dict[str, Any] | None, Field(title="Context")] = None


class HTTPValidationError(BaseModel):
    detail: Annotated[list[ValidationError] | None, Field(title="Detail")] = None
