Files
bellsystems-cp/backend/auth/models.py

41 lines
709 B
Python

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