release
This commit is contained in:
+44
-9
@@ -3,7 +3,7 @@ from db.handlers.stock import StockHandler
|
||||
from db.handlers.user import UserHandler
|
||||
from utils import logger, saveImage, safeFilename
|
||||
from db import CRUD
|
||||
from db.schemas.toolkit import Toolkit
|
||||
from db.schemas.toolkit import Toolkit, ToolkitCompatibility
|
||||
from sqlalchemy import select
|
||||
from db.handlers.records import ServiceRecordsHandler
|
||||
from utils.image import deleteImage
|
||||
@@ -173,7 +173,7 @@ class ToolkitHandler:
|
||||
|
||||
@staticmethod
|
||||
async def getAll():
|
||||
query = select(Toolkit)
|
||||
query = select(Toolkit).order_by(Toolkit.id)
|
||||
toolkits = await CRUD.read(query, True)
|
||||
return [toolkit.toDict() for toolkit in toolkits] if toolkits else []
|
||||
|
||||
@@ -184,16 +184,15 @@ class ToolkitHandler:
|
||||
if not toolkit:
|
||||
logger.error("Инструмент не найден")
|
||||
return {}
|
||||
data = toolkit.toDict()
|
||||
if toolkit.comment_user_id:
|
||||
user_data = await UserHandler.get(toolkit.comment_user_id)
|
||||
data = toolkit.toDict()
|
||||
data["comment_user_data"] = user_data
|
||||
logger.info(data)
|
||||
data["comment_user_data"] = user_data
|
||||
return data
|
||||
|
||||
@staticmethod
|
||||
async def getSeveral(toolkitIds: list[int]) -> list[dict]:
|
||||
query = select(Toolkit).where(Toolkit.id.in_(toolkitIds))
|
||||
query = select(Toolkit).where(Toolkit.id.in_(toolkitIds)).order_by(Toolkit.id)
|
||||
toolkits = await CRUD.read(query, True)
|
||||
return [toolkit.toDict() for toolkit in toolkits] if toolkits else []
|
||||
|
||||
@@ -230,9 +229,6 @@ class ToolkitHandler:
|
||||
|
||||
@staticmethod
|
||||
async def addComment(toolkitId: int, user_id: int, comment: str):
|
||||
logger.info(f"Добавление комментария к инструменту {toolkitId}...")
|
||||
logger.info(f"Комментарий: {comment}")
|
||||
logger.info(f"Пользователь: {user_id}")
|
||||
query = select(Toolkit).where(Toolkit.id == toolkitId)
|
||||
toolkit = await CRUD.read(query)
|
||||
if not toolkit:
|
||||
@@ -248,6 +244,45 @@ class ToolkitHandler:
|
||||
logger.info(f"Комментарий к инструменту {toolkit.title} успешно добавлен")
|
||||
return {"status": "ok"}
|
||||
|
||||
@staticmethod
|
||||
async def addCompatibility(userId, data):
|
||||
newCompatibility = await ToolkitCompatibility.add_compatibility(
|
||||
int(data.get("toolkitId")), int(data.get("compatibleToolkitId"))
|
||||
)
|
||||
if "errorMessage" not in newCompatibility:
|
||||
await ServiceRecordsHandler.add(
|
||||
userId,
|
||||
{
|
||||
f"Добавлена совместимость": f"{data.get('toolkitId')} - {data.get('compatibleToolkitId')}"
|
||||
},
|
||||
)
|
||||
return newCompatibility
|
||||
|
||||
@staticmethod
|
||||
async def deleteCompatibility(userId, data):
|
||||
deleteCompatibility = await ToolkitCompatibility.remove_compatibility(
|
||||
int(data.get("toolkitId")), int(data.get("compatibleToolkitId"))
|
||||
)
|
||||
if "errorMessage" not in deleteCompatibility:
|
||||
await ServiceRecordsHandler.add(
|
||||
userId,
|
||||
{
|
||||
f"Удалена совместимость": f"{data.get('toolkitId')} - {data.get('compatibleToolkitId')}"
|
||||
},
|
||||
)
|
||||
return deleteCompatibility
|
||||
|
||||
@staticmethod
|
||||
async def getCompatibility(toolkitId: int):
|
||||
result = await ToolkitCompatibility.get_compatibility(toolkitId)
|
||||
if "errorMessage" in result:
|
||||
return result
|
||||
toolkitsIds = list(result.get("data").values())
|
||||
toolkitsList = await ToolkitHandler.getSeveral(toolkitsIds)
|
||||
toolkitsData = {toolkit["id"]: toolkit for toolkit in toolkitsList}
|
||||
data = {"records": result.get("data"), "toolkits": toolkitsData}
|
||||
return {"status": "ok", "data": data}
|
||||
|
||||
@staticmethod
|
||||
async def initialize():
|
||||
from .categories import CategoryHandler
|
||||
|
||||
Reference in New Issue
Block a user