28 lines
923 B
Python
28 lines
923 B
Python
import logging
|
|
|
|
from aiogram import F
|
|
from aiogram.types import CallbackQuery
|
|
|
|
from src import deps
|
|
from src.controller.telegram_callback import telegram_callback_router
|
|
from src.usecase.workspace.create_workspace_invite import INVITE_ACCEPT_CALLBACK_PREFIX
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
@telegram_callback_router.callback_query(F.data.startswith(f'{INVITE_ACCEPT_CALLBACK_PREFIX}:'))
|
|
async def callback_workspace_invite_accept(callback: CallbackQuery) -> None:
|
|
if not callback.from_user or not callback.message or not callback.data:
|
|
log.error('Incomplete callback data for workspace invite acceptance')
|
|
return
|
|
|
|
usecase = deps.get_usecase()
|
|
await usecase.tg_accept_workspace_invite(
|
|
telegram_id=callback.from_user.id,
|
|
chat_id=callback.message.chat.id,
|
|
callback_data=callback.data,
|
|
message_id=callback.message.message_id,
|
|
)
|
|
|
|
await callback.answer()
|