Создание и первичная инициализация базы даных успешно завершена. Наполнение демо-данными прошло без ошибок

This commit is contained in:
2025-12-06 12:58:42 +03:00
parent f378de38da
commit f07843de5a
49 changed files with 734 additions and 353 deletions
+26 -17
View File
@@ -1,9 +1,10 @@
from sqlalchemy import or_, select
from db import CRUD
from db.handlers.toolbox import addNewToolbox
from db.handlers.access import AccessLevelHandler
from db.handlers.toolbox import ToolboxHandler
from utils import logger, pwd_hash, saveImage, safeFilename, deleteImage, pwd_verify
from db.schemas import User
from db.handlers import ServiceRecordsHandler
from db.schemas.user import User
from db.handlers.records import ServiceRecordsHandler
def handleUserPhoto(imageData, login: str):
@@ -52,20 +53,26 @@ class UserHandler:
logger.info(
f"Пользователь {newUser.username} успешно добавлен, id: {newUser.id}"
)
if newUser.available_own_toolbox:
userAccessLevel = await AccessLevelHandler.get(newUser.access_level_id)
if not userAccessLevel:
logger.error("Уровень доступа не найден")
return {}
if userAccessLevel.get("available_own_toolbox"):
newToolboxData = {
"title": f"Тулбокс {newUser.username}",
"description": f"Оборудование, полученное сотрудником {newUser.username}, под личную материальную ответственность",
"owner_id": newUser.id,
}
newToolbox = await addNewToolbox(newToolboxData)
newToolbox = await ToolboxHandler.add(newToolboxData)
logger.info(
f"Тулбокс {newToolbox['title']} успешно создан и закреплен за пользователем {newUser.username}"
)
await ServiceRecordsHandler.add(
user_id, {"Добавлен пользователь": newUser.toDict()}
)
return newUser.toDict()
newUserData = newUser.toDict()
newUserData["access_level_data"] = userAccessLevel
return newUserData
async def edit(userData: dict, user_id: int = None) -> dict:
id = userData.get("id", None)
@@ -107,7 +114,7 @@ class UserHandler:
"description": f"Оборудование, полученное сотрудником {editedUser.username}, под личную материальную ответственность",
"owner_id": editedUser.id,
}
newToolbox = await addNewToolbox(newToolboxData)
newToolbox = await ToolboxHandler.addNewToolbox(newToolboxData)
logger.info(
f"Тулбокс {newToolbox['title']} успешно создан и закреплен за пользователем {editedUser.username}"
)
@@ -182,7 +189,7 @@ class UserHandler:
)
return userData
async def initialize(self):
async def initialize():
from .access import AccessLevelHandler
logger.info("Инициализация пользователей")
@@ -190,34 +197,36 @@ class UserHandler:
acessLevels = {
accessLevel["title"]: accessLevel["id"] for accessLevel in accessLevelsList
}
logger.info(acessLevels)
password = "Alex0172"
baseUsers = {
"admin": {
"login": "admin",
"username": "Администратор",
"password": "Alex0172",
"username": "Администратор - Demo",
"password": password,
"access_level_id": acessLevels["Администратор"],
},
"manager": {
"login": "manager",
"username": "Менеджер",
"password": "Alex0172",
"username": "Менеджер - Demo",
"password": password,
"access_level_id": acessLevels["Менеджер"],
},
"storekeeper": {
"login": "storekeeper",
"username": "Кладовщик",
"password": "Alex0172",
"username": "Кладовщик - Demo",
"password": password,
"access_level_id": acessLevels["Кладовщик"],
},
"employee": {
"login": "employee",
"username": "Сотрудник",
"password": "Alex0172",
"username": "Сотрудник - Demo",
"password": password,
"access_level_id": acessLevels["Сотрудник"],
},
}
for user in baseUsers.values():
await self.add(user)
await UserHandler.add(user)
logger.info("Инициализация пользователей завершена")
return