"""Admin Auth Schemas."""

from datetime import datetime

from pydantic import BaseModel, Field


class AdminTokenCreate(BaseModel):
    """Request to create an admin token."""

    name: str = Field(..., min_length=1, max_length=255, description="Token name")
    expires_in_days: int | None = Field(
        None, ge=1, le=365, description="Token expiration in days (optional)"
    )


class AdminTokenResponse(BaseModel):
    """Response with created admin token."""

    token: str = Field(..., description="Admin token")
    name: str = Field(..., description="Token name")
    expires_at: datetime | None = Field(None, description="Token expiration time")
    message: str = Field(..., description="Status message")
