connect database
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
from typing import Any, Awaitable, Callable
|
||||
|
||||
from aiogram import BaseMiddleware
|
||||
from aiogram.types import Update
|
||||
from aiogram.types import Update, User
|
||||
|
||||
from app.infrastructure.database.crud import create_user, get_user_by_tg_id
|
||||
|
||||
|
||||
class GetUserMiddleware(BaseMiddleware):
|
||||
@@ -11,5 +13,14 @@ class GetUserMiddleware(BaseMiddleware):
|
||||
event: Update,
|
||||
data: dict[str, Any],
|
||||
):
|
||||
data.update(user={"is_admin": False})
|
||||
return await handler(event, data)
|
||||
session = data["session"]
|
||||
tg_user: User = data.get("event_from_user")
|
||||
user = await get_user_by_tg_id(session, tg_user.id)
|
||||
if user is None:
|
||||
user = await create_user(
|
||||
session,
|
||||
tg_user.id,
|
||||
tg_user.username,
|
||||
)
|
||||
data["user"] = user
|
||||
return await handler(event, data)
|
||||
|
||||
Reference in New Issue
Block a user