This commit is contained in:
2026-02-28 11:20:41 +03:00
parent b9ef6ccf09
commit 3c0d50a1aa
19 changed files with 544 additions and 185 deletions
+18 -8
View File
@@ -4,9 +4,17 @@ from aiogram.types import Message
from aiogram_dialog import DialogManager, StartMode
from dishka import FromDishka
from dutylog.application.bot.user_dialogs.states import MainMenuSG, AdminMenuSG, RegistrationSG
from dutylog.infrastructure.database.repositories.users_repository import UsersRepository
from dutylog.infrastructure.database.repositories.residents_repository import ResidentsRepository
from dutylog.application.bot.user_dialogs.states import (
MainMenuSG,
AdminMenuSG,
RegistrationSG,
)
from dutylog.infrastructure.database.repositories.users_repository import (
UsersRepository,
)
from dutylog.infrastructure.database.repositories.residents_repository import (
ResidentsRepository,
)
from dutylog.infrastructure.utils.config import Config
router = Router()
@@ -22,18 +30,20 @@ async def start_handler(
):
assert message.from_user is not None
user = await users_repository.get_user_by_id(message.from_user.id)
is_creator = message.from_user.id == config.bot.creator_id
is_admin = user.is_admin if user else False
if is_admin or is_creator:
await dialog_manager.start(AdminMenuSG.main, mode=StartMode.RESET_STACK)
return
if user:
resident = await residents_repository.get_resident_by_user_id(message.from_user.id)
resident = await residents_repository.get_resident_by_user_id(
message.from_user.id
)
if resident:
await dialog_manager.start(MainMenuSG.main, mode=StartMode.RESET_STACK)
return
await dialog_manager.start(RegistrationSG.select_floor, mode=StartMode.RESET_STACK)