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
|
||||||
+14
-2
@@ -1,13 +1,16 @@
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import json
|
from datetime import datetime
|
||||||
from utils.token import generateKey
|
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
|
||||||
|
|
||||||
def __init__(self, email: str, passwd: str):
|
def __init__(self, email: str, passwd: str):
|
||||||
#us = getUsModel() #возвращает словарь
|
#us = getUsModel() #возвращает словарь
|
||||||
@@ -18,3 +21,12 @@ class User:
|
|||||||
|
|
||||||
def toJson(self):
|
def toJson(self):
|
||||||
return {"user": {"id": self.id, "name": self.name, "role": self.role}, "token": self.token}
|
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'
|
||||||
|
|||||||
Reference in New Issue
Block a user