final
This commit is contained in:
+11
-13
@@ -6,21 +6,20 @@ from db.handlers.records import ServiceRecordsHandler
|
||||
|
||||
|
||||
class AccessLevelHandler:
|
||||
async def add(newData):
|
||||
async def add(newData, userId: int = None):
|
||||
title = newData.get("title", None)
|
||||
if not title:
|
||||
logger.error("Не указано название уровня доступа")
|
||||
return {}
|
||||
return {"error": "Не указано название уровня доступа"}
|
||||
exists = await CRUD.read(select(AccessLevel).where(AccessLevel.title == title))
|
||||
if exists:
|
||||
logger.error("Уровень доступа с таким названием уже существует")
|
||||
return {}
|
||||
return {"error": "Уровень доступа с таким названием уже существует"}
|
||||
try:
|
||||
logger.info(f"Создание уровня доступа {title}")
|
||||
user_id = newData.pop("user_id", None)
|
||||
accessData = await AccessLevel(**newData).save()
|
||||
await ServiceRecordsHandler.add(
|
||||
user_id, {"Добавлен уровень доступа": accessData.toDict()}
|
||||
userId, {"Добавлен уровень доступа": accessData.toDict()}
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка создания уровня доступа: {str(e)}")
|
||||
@@ -36,23 +35,22 @@ class AccessLevelHandler:
|
||||
return {}
|
||||
return accessData.toDict()
|
||||
|
||||
async def edit(accessId: int, **kwargs):
|
||||
query = select(AccessLevel).where(AccessLevel.id == accessId)
|
||||
async def edit(levelData, userId: int = None):
|
||||
query = select(AccessLevel).where(AccessLevel.id == levelData.pop("id"))
|
||||
accessData = await CRUD.read(query)
|
||||
if not accessData:
|
||||
logger.error("Уровень доступа не найден")
|
||||
return {}
|
||||
return {"error": "Уровень доступа не найден"}
|
||||
try:
|
||||
user_id = kwargs.pop("user_id", None)
|
||||
editedAccessData = await accessData.edit(**kwargs)
|
||||
editedAccessData = await accessData.edit(**levelData)
|
||||
await ServiceRecordsHandler.add(
|
||||
user_id, {"Обновлен уровень доступа": editedAccessData.toDict()}
|
||||
userId, {"Обновлен уровень доступа": editedAccessData.toDict()}
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Ошибка обновления уровня доступа: {str(e)}")
|
||||
return {}
|
||||
return {"error": "Ошибка обновления уровня доступа"}
|
||||
logger.info(
|
||||
f"Уровень доступа {editedAccessData.title} успешно обновлен, изменены данные: {kwargs.keys()}"
|
||||
f"Уровень доступа {editedAccessData.title} успешно обновлен, изменены данные: {levelData.keys()}"
|
||||
)
|
||||
return editedAccessData.toDict()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user