# Auto-generated by DjangoCFG - see CLAUDE.md

from __future__ import annotations
from typing import Any

from pydantic import BaseModel, ConfigDict, Field


class APIZone(BaseModel):
    """
    OpenAPI zone/group serializer.

    Response model (includes read-only fields).
    """

    model_config = ConfigDict(
        validate_assignment=True,
        extra="allow",
        frozen=False,
    )

    name: str = ...
    title: str = ...
    description: str = ...
    app_count: int = ...
    endpoint_count: int = ...
    status: str = ...
    schema_url: str = ...
    relative_schema_url: str = ...
    api_url: str = ...
    relative_api_url: str = ...
    apps: list[str] = ...



class ZonesSummaryStats(BaseModel):
    """
    Summary statistics for API zones.

    Response model (includes read-only fields).
    """

    model_config = ConfigDict(
        validate_assignment=True,
        extra="allow",
        frozen=False,
    )

    total_apps: int = ...
    total_endpoints: int = ...
    total_zones: int = ...



class APIZonesSummary(BaseModel):
    """
    API zones summary serializer.

    Response model (includes read-only fields).
    """

    model_config = ConfigDict(
        validate_assignment=True,
        extra="allow",
        frozen=False,
    )

    zones: list[APIZone] = ...
    summary: ZonesSummaryStats = ...



