заказы

This commit is contained in:
2025-12-21 03:45:02 +03:00
parent 83ecf65abf
commit 546c70cbcd
15 changed files with 862 additions and 38 deletions
+13
View File
@@ -25,6 +25,8 @@ def handleToolkitImage(imageData, title: str):
class ToolkitHandler:
@staticmethod
async def add(toolkitData: dict, user_id: int = None):
title = toolkitData.get("title", None)
if not title:
@@ -71,6 +73,7 @@ class ToolkitHandler:
await ServiceRecordsHandler.add(user_id, {"Добавлен инструмент": toolkitData})
return newToolkit.toDict()
@staticmethod
async def updateMovindDate(toolkitId: int):
toolkit = await CRUD.read(select(Toolkit).where(Toolkit.id == toolkitId))
if not toolkit:
@@ -82,6 +85,7 @@ class ToolkitHandler:
return False
return True
@staticmethod
async def updateRefillDate(toolkitId: int):
logger.info(f"Обновление даты пополнения инструмента {toolkitId}...")
toolkit = await CRUD.read(select(Toolkit).where(Toolkit.id == toolkitId))
@@ -94,12 +98,14 @@ class ToolkitHandler:
return False
return True
@staticmethod
async def hideToolkit(userId: int, toolkitId: int, hidden: bool = True):
logger.info(
f"{'Скрытие' if hidden else 'Отображение'} инструмента {toolkitId}..."
)
return await ToolkitHandler.edit(userId, id=toolkitId, hidden=hidden)
@staticmethod
async def edit(user_id: int, **kwargs):
title = kwargs.get("title", None)
toolkitId = kwargs.pop("id")
@@ -165,11 +171,13 @@ class ToolkitHandler:
)
return editedToolkit.toDict()
@staticmethod
async def getAll():
query = select(Toolkit)
toolkits = await CRUD.read(query, True)
return [toolkit.toDict() for toolkit in toolkits] if toolkits else []
@staticmethod
async def get(toolkitId: int):
query = select(Toolkit).where(Toolkit.id == toolkitId)
toolkit = await CRUD.read(query)
@@ -183,16 +191,19 @@ class ToolkitHandler:
logger.info(data)
return data
@staticmethod
async def getSeveral(toolkitIds: list[int]) -> list[dict]:
query = select(Toolkit).where(Toolkit.id.in_(toolkitIds))
toolkits = await CRUD.read(query, True)
return [toolkit.toDict() for toolkit in toolkits] if toolkits else []
@staticmethod
async def checkCatogoryUse(category_id: int):
query = select(Toolkit).where(Toolkit.category_id == category_id)
toolkit = await CRUD.read(query)
return True if toolkit else False
@staticmethod
async def delete(toolkitId: int, user_id: int = None):
movements = await StockHandler.checkToolkitExists(toolkitId)
if movements:
@@ -217,6 +228,7 @@ class ToolkitHandler:
)
return {"status": "ok"} if result else {"errorMessage": "Инструмент не удален"}
@staticmethod
async def addComment(toolkitId: int, user_id: int, comment: str):
logger.info(f"Добавление комментария к инструменту {toolkitId}...")
logger.info(f"Комментарий: {comment}")
@@ -236,6 +248,7 @@ class ToolkitHandler:
logger.info(f"Комментарий к инструменту {toolkit.title} успешно добавлен")
return {"status": "ok"}
@staticmethod
async def initialize():
from .categories import CategoryHandler