33 lines
835 B
Python
33 lines
835 B
Python
from dataclasses import dataclass
|
|
from datetime import datetime
|
|
from utils.token import generateKey
|
|
|
|
|
|
@dataclass
|
|
class User:
|
|
id: int
|
|
email: str
|
|
password_hash: str
|
|
name: str
|
|
role: str
|
|
created_at: datetime
|
|
|
|
def __init__(self, email: str, passwd: str):
|
|
#us = getUsModel() #возвращает словарь
|
|
self.id = 1#us['id']
|
|
self.name = 'Bob'#us['name']
|
|
self.role = 'Backend'#us['role']
|
|
self.token = generateKey(email, passwd)
|
|
|
|
def toJson(self):
|
|
return {"user": {"id": self.id, "name": self.name, "role": self.role}, "token": self.token}
|
|
|
|
def is_admin(self) -> bool:
|
|
return self.role == 'admin'
|
|
|
|
def is_operator(self) -> bool:
|
|
return self.role == 'operator'
|
|
|
|
def is_viewer(self) -> bool:
|
|
return self.role == 'viewer'
|