""" Pydantic схемы для User """ from uuid import UUID from datetime import datetime from pydantic import BaseModel from src.domain.entities.user import UserRole class UserBase(BaseModel): """Базовая схема пользователя""" telegram_id: str role: UserRole class UserCreate(UserBase): """Схема создания пользователя""" pass class UserUpdate(BaseModel): """Схема обновления пользователя""" telegram_id: str | None = None role: UserRole | None = None class UserResponse(BaseModel): """Схема ответа с пользователем""" user_id: UUID telegram_id: str role: UserRole created_at: datetime @classmethod def from_entity(cls, user: "User") -> "UserResponse": """Создать из доменной сущности""" return cls( user_id=user.user_id, telegram_id=user.telegram_id, role=user.role, created_at=user.created_at ) class Config: from_attributes = True