Управление категориями

This commit is contained in:
2025-12-11 23:07:22 +03:00
parent 56584cc8ff
commit 8b38d69980
11 changed files with 902 additions and 38 deletions
+31 -4
View File
@@ -11,17 +11,17 @@ router = APIRouter()
@router.post("/", summary="Запрос остатка инструмента")
async def toolkit_request(
request_data: dict = Depends(requestDict),
reqData: dict = Depends(requestDict),
):
response = {"status": "error", "data": {}}
toolkitId = request_data.get("body").get("toolkitId")
toolkitId = reqData.get("body").get("toolkitId")
logger.info(f"Получение запроса остатка инструмента #{toolkitId}")
# logger.info(request_data)
stocks = await StockHandler.getByToolkitId(toolkitId)
if not stocks:
return response
userId = request_data.get("body").get("userId")
allToolboxes = request_data.get("body").get("allToolboxes")
userId = reqData.get("body").get("userId")
allToolboxes = reqData.get("body").get("allToolboxes")
toolboxes = (
await ToolboxHandler.getByOwner(userId)
if not allToolboxes
@@ -73,3 +73,30 @@ async def fill_toolbox():
"placements": [placement.toDict() for placement in placements],
}
return response
@router.post("/categories_batch", summary="Управление категориями")
async def categories_batch(reqData: dict = Depends(requestDict)):
logger.info(f"Управление категориями")
response = {"status": "error"}
userId = reqData.get("body").get("userId")
changesData = reqData.get("body").get("changes")
success = True
for newCategoryData in changesData.get("create", []):
logger.info(f"Добавление категории: {newCategoryData.get('title')}")
result = await CategoryHandler.add(newCategoryData, userId)
if not result:
success = False
for updateCategoryData in changesData.get("update", []):
logger.info(f"Обновление категории: {updateCategoryData.get('title')}")
result = await CategoryHandler.edit(updateCategoryData, userId)
if not result:
success = False
for deleteCategoryId in changesData.get("delete", []):
logger.info(f"Удаление категории: {deleteCategoryId}")
result = await CategoryHandler.delete(deleteCategoryId, userId)
if not result:
success = False
if success:
response["status"] = "ok"
return response