# Auto-generated by DjangoCFG - see CLAUDE.md

from __future__ import annotations
import datetime
from typing import Any

from pydantic import BaseModel, ConfigDict, Field


class ChartDataset(BaseModel):
    """
    Chart.js dataset serializer.

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

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

    label: str = ...
    data: list[int] = ...
    backgroundColor: str = ...
    borderColor: str = ...
    tension: float = ...
    fill: bool | None = None



class ChartData(BaseModel):
    """
    Chart.js data structure serializer.

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

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

    labels: list[str] = ...
    datasets: list[ChartDataset] = ...



class RecentUser(BaseModel):
    """
    Recent user serializer.

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

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

    id: int = ...
    username: str = ...
    email: str = ...
    date_joined: str = ...
    is_active: bool = ...
    is_staff: bool = ...
    is_superuser: bool = ...
    last_login: str | None = None



class ActivityTrackerDay(BaseModel):
    """
    Activity tracker single day serializer.

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

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

    date: datetime.date = ...
    count: int = ...
    level: int = ...
    color: str = ...
    tooltip: str = ...



