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
|
from dataclasses import dataclass
|
||||||
import json
|
from datetime import datetime
|
||||||
from utils.token import generateKey
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class user:
|
class User:
|
||||||
id: int
|
id: int
|
||||||
|
email: str
|
||||||
|
password_hash: str
|
||||||
name: str
|
name: str
|
||||||
role: str
|
role: str
|
||||||
token: str
|
created_at: datetime
|
||||||
|
|
||||||
@classmethod
|
def is_admin(self) -> bool:
|
||||||
def initialize(cls, email:str, passwd:str):
|
return self.role == 'admin'
|
||||||
#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 toJSON(self):
|
def is_operator(self) -> bool:
|
||||||
return json.dumps({"token": f'{self.token}', "user": {"id": self.id, "role": f'{self.role}', "name": f'{self.name}'}})
|
return self.role == 'operator'
|
||||||
|
|
||||||
|
def is_viewer(self) -> bool:
|
||||||
|
return self.role == 'viewer'
|
||||||
Reference in New Issue
Block a user