""" Доменная сущность User """ from datetime import datetime from uuid import UUID, uuid4 from enum import Enum class UserRole(str, Enum): """Роли пользователей""" USER = "user" ADMIN = "admin" class User: """Пользователь системы""" def __init__( self, telegram_id: str, role: UserRole = UserRole.USER, user_id: UUID | None = None, created_at: datetime | None = None ): self.user_id = user_id or uuid4() self.telegram_id = telegram_id self.role = role self.created_at = created_at or datetime.utcnow() def is_admin(self) -> bool: """проверка, является ли пользователь администратором""" return self.role == UserRole.ADMIN