from enum import Enum
from typing import Optional
class UserRole(Enum):
ADMIN = "admin"
USER = "user"
GUEST = "guest"
class User:
def __init__(self, name: str, email: str, role: UserRole = UserRole.USER):
self.name = name
self.email = email
self.role = role
self._id: Optional[int] = None
def set_id(self, user_id: int) -> None:
self._id = user_id
def get_id(self) -> Optional[int]:
return self._id
def __str__(self) -> str:
return f"User({self.name}, {self.email}, role={self.role.value})"
def __repr__(self) -> str:
return f"User(name='{self.name}', email='{self.email}', role={self.role})"