# Auto-generated by DjangoCFG - see CLAUDE.md

from __future__ import annotations
from typing import Any

from pydantic import BaseModel, ConfigDict, Field

from ..enums import QuickActionColor


class QuickAction(BaseModel):
    """
    Serializer for quick action buttons. Maps to QuickAction Pydantic model.

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

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

    title: str = Field(description='Action title')
    description: str = Field(description='Action description')
    icon: str = Field(description='Material icon name')
    link: str = Field(description='Action URL')
    color: QuickActionColor | None = Field(None, description='Button color theme  * `primary` ...')
    category: str | None = Field(None, description='Action category')



class ActivityEntry(BaseModel):
    """
    Serializer for recent activity entries.

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

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

    id: int = Field(description='Activity ID')
    user: str = Field(description='User who performed the action')
    action: str = Field(description='Action type (created, updated, d...')
    resource: str = Field(description='Resource affected')
    timestamp: str = Field(description='Activity timestamp (ISO format)')
    icon: str = Field(description='Material icon name')
    color: str = Field(description='Icon color')



