"""User schemas.""" from __future__ import annotations from typing import Any from pydantic import BaseModel, EmailStr, Field class UserCreate(BaseModel): email: EmailStr name: str = Field(..., min_length=1, max_length=200) password: str = Field(..., min_length=8) role: str = Field(default="viewer") is_active: bool = True class UserUpdate(BaseModel): name: str | None = Field(None, min_length=1, max_length=200) role: str | None = None is_active: bool | None = None class UserResponse(BaseModel): id: str email: str name: str role: str is_active: bool tenant_id: str class PaginatedUsers(BaseModel): items: list[UserResponse] total: int page: int page_size: int