from fastapi import APIRouter, Depends from db.handlers.stock import StockHandler from db.handlers.toolbox import ToolboxHandler from utils import requestDict, logger router = APIRouter() @router.post("/", summary="Добавление ящика") async def add_toolbox(reqDict=Depends(requestDict)): logger.info(f"Добавление ящика") response = {"status": "error"} userId = reqDict.get("body").get("userId") toolboxData = reqDict.get("body").get("toolboxData") result = await ToolboxHandler.add(toolboxData, userId) if result: response["status"] = "ok" return response @router.put("/", summary="Обновление ящика") async def update_toolbox(reqDict=Depends(requestDict)): toolboxId = reqDict.get("body").get("toolboxId") logger.info(f"Обновление ящика #{toolboxId}") response = {"status": "error"} userId = reqDict.get("body").get("userId") toolboxData = reqDict.get("body").get("editToolboxData") result = await ToolboxHandler.edit(toolboxId, **toolboxData, user_id=userId) if result: response["status"] = "ok" return response @router.delete("/", summary="Удаление ящика") async def delete_toolbox(reqDict=Depends(requestDict)): toolboxId = reqDict.get("body").get("toolboxId") logger.info(f"Удаление ящика #{toolboxId}") response = {"status": "error"} stocksData = await StockHandler.getByToolboxId(toolboxId, False) if stocksData: response["message"] = ( "Через этот склад были проведены операции, удаление невозможно" ) return response userId = reqDict.get("body").get("userId") result = await ToolboxHandler.delete(toolboxId, userId) if result: response["status"] = "ok" return response