"""User schemas for dashboard user management.""" from datetime import datetime from pydantic import BaseModel, ConfigDict, Field class UserRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int username: str email: str | None full_name: str | None is_ldap: bool is_admin: bool is_active: bool last_login_at: datetime | None created_at: datetime class UserCreate(BaseModel): username: str = Field(min_length=2, max_length=255) password: str = Field(min_length=8, max_length=72) email: str | None = None full_name: str | None = None is_admin: bool = False class UserUpdate(BaseModel): email: str | None = None full_name: str | None = None is_admin: bool | None = None is_active: bool | None = None password: str | None = Field(default=None, min_length=8, max_length=72)