This commit is contained in:
2025-12-21 19:02:40 +03:00
parent 546c70cbcd
commit 599158f8e1
10 changed files with 639 additions and 27 deletions
+39
View File
@@ -18,6 +18,8 @@ def handleResult(result: dict, response: dict) -> dict:
response["message"] = result["errorMessage"]
else:
response["status"] = "ok"
if "data" in result.keys():
response["data"] = result["data"]
return response
@@ -251,3 +253,40 @@ async def quick_action(reqData: dict = Depends(requestDict)):
case _:
pass
return response
@router.get("/all", summary="Получение инструментов")
async def get_toolkits(reqData: dict = Depends(requestDict)):
logger.info(f"Получение инструментов")
return {"status": "ok", "data": await ToolkitHandler.getAll()}
@router.get("/compatibility", summary="Получение совместимости инструментов")
async def get_compatibility(reqData: dict = Depends(requestDict)):
response = {"status": "error"}
toolkitId = reqData.get("query").get("toolkitId")
toolkitId = int("".join(filter(str.isdigit, toolkitId)))
logger.info(f"Получение совместимости инструмента {toolkitId}")
toolkit = await ToolkitHandler.getCompatibility(toolkitId)
response = handleResult(toolkit, response)
return response
@router.post("/compatibility", summary="Управление совместимостью инструментов")
async def compatibility(reqData: dict = Depends(requestDict)):
logger.info(f"Управление совместимостью инструментов")
response = {"status": "error"}
action = reqData.get("body").get("action")
userId = reqData.get("body").get("userId")
data = reqData.get("body").get("data")
match action:
case "add":
toolkit = await ToolkitHandler.addCompatibility(userId, data)
response = handleResult(toolkit, response)
case "delete":
toolkit = await ToolkitHandler.deleteCompatibility(userId, data)
response = handleResult(toolkit, response)
case _:
logger.error(f"Unknown action: {action}")
pass
return response