feat(model): Added correct data models
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
from .robot import Robot
|
||||
from .product import Product
|
||||
from .inventory import InventoryRecord
|
||||
from .user import User
|
||||
|
||||
__all__ = ['Robot', 'Product', 'InventoryRecord', 'User']
|
||||
@@ -0,0 +1,14 @@
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
@dataclass
|
||||
class InventoryRecord:
|
||||
id: int
|
||||
robot_id: str
|
||||
product_id: str
|
||||
quantity: int
|
||||
zone: str
|
||||
row_number: int
|
||||
shelf_number: int
|
||||
status: str
|
||||
scanned_at: datetime
|
||||
created_at: datetime
|
||||
@@ -0,0 +1,9 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
@dataclass
|
||||
class Product:
|
||||
id: str
|
||||
name: str
|
||||
category: str
|
||||
min_stock: int
|
||||
optimal_stock: int
|
||||
@@ -0,0 +1,13 @@
|
||||
from dataclasses import dataclass
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
@dataclass
|
||||
class Robot:
|
||||
id: str
|
||||
status: str
|
||||
battery_level: int
|
||||
last_update: datetime
|
||||
current_zone: Optional[str] = None
|
||||
current_row: Optional[int] = None
|
||||
current_shelf: Optional[int] = None
|
||||
+13
-14
@@ -1,22 +1,21 @@
|
||||
from dataclasses import dataclass
|
||||
import json
|
||||
from utils.token import generateKey
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
@dataclass
|
||||
class user:
|
||||
class User:
|
||||
id: int
|
||||
email: str
|
||||
password_hash: str
|
||||
name: str
|
||||
role: str
|
||||
token: str
|
||||
created_at: datetime
|
||||
|
||||
@classmethod
|
||||
def initialize(cls, email:str, passwd:str):
|
||||
#us = getUsModel() #возвращает словарь
|
||||
id = 1#us['id']
|
||||
name = 'Bob'#us['name']
|
||||
role = 'Backend'#us['role']
|
||||
token = generateKey(email, passwd)
|
||||
return cls(id=id, name=name, role=role, token=token)
|
||||
def is_admin(self) -> bool:
|
||||
return self.role == 'admin'
|
||||
|
||||
def toJSON(self):
|
||||
return json.dumps({"token": f'{self.token}', "user": {"id": self.id, "role": f'{self.role}', "name": f'{self.name}'}})
|
||||
def is_operator(self) -> bool:
|
||||
return self.role == 'operator'
|
||||
|
||||
def is_viewer(self) -> bool:
|
||||
return self.role == 'viewer'
|
||||
Reference in New Issue
Block a user