"""User schemas.""" from pydantic import BaseModel, Field, field_validator class UserUpdate(BaseModel): """Schema for updating a user.""" name: str | None = Field( None, min_length=1, max_length=100, description="User full name", ) plan_id: int | None = Field(None, description="User plan ID") credits: int | None = Field(None, ge=0, description="User credits") is_active: bool | None = Field(None, description="Whether user is active") role: str | None = Field(None, description="User role (admin or user)") @field_validator("role") @classmethod def validate_role(cls, v: str | None) -> str | None: """Validate that role is either 'user' or 'admin'.""" if v is not None and v not in {"user", "admin"}: msg = "Role must be either 'user' or 'admin'" raise ValueError(msg) return v