from pydantic import BaseModel from typing import Optional from enum import Enum class Role(str, Enum): superadmin = "superadmin" melody_editor = "melody_editor" device_manager = "device_manager" user_manager = "user_manager" viewer = "viewer" class AdminUserInDB(BaseModel): uid: str email: str hashed_password: str name: str role: Role is_active: bool = True class LoginRequest(BaseModel): email: str password: str class TokenResponse(BaseModel): access_token: str token_type: str = "bearer" role: str name: str class TokenPayload(BaseModel): sub: str email: str role: str name: str exp: Optional[int] = None