46 lines
1.4 KiB
Go
46 lines
1.4 KiB
Go
package screens
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/NicoNex/echotron/v3"
|
|
"github.com/TelegramExchange/tgex-backend/tg_bot/bot"
|
|
)
|
|
|
|
type AcceptWorkspaceInvite struct {
|
|
InviteID string
|
|
}
|
|
|
|
const msgAcceptWorkspaceInviteSuccessfully = `
|
|
✅ Вы присоединились к рабочему пространству!
|
|
Администратор сможет выдать вам необходимые права в веб-интерфейсе.
|
|
`
|
|
|
|
func (s *AcceptWorkspaceInvite) Enter(b *bot.Bot, mode bot.RenderMode) {
|
|
jwt := b.Session.JWT
|
|
if jwt == "" {
|
|
b.SendNew("<b>❌ Ошибка авторизации</b>\n\nПопробуйте /start", emptyKeyboard)
|
|
return
|
|
}
|
|
|
|
err := b.Backend.AcceptWorkspaceInvite(context.Background(), jwt, s.InviteID)
|
|
if err != nil {
|
|
b.SendNew("❌ Не удалось принять приглашение. Возможно, оно уже было использовано.", emptyKeyboard)
|
|
return
|
|
}
|
|
|
|
kb := Keyboard(Row(Button("Главное меню", "main_menu")))
|
|
|
|
b.SendNew(msgAcceptWorkspaceInviteSuccessfully, kb)
|
|
}
|
|
|
|
func (s *AcceptWorkspaceInvite) HandleCallback(b *bot.Bot, u *echotron.Update) {}
|
|
|
|
func (s *AcceptWorkspaceInvite) HandleMessage(_ *bot.Bot, _ *echotron.Update) {}
|
|
|
|
func (s *AcceptWorkspaceInvite) Handle(b *bot.Bot, _ *echotron.Update) {
|
|
b.SetState(&MainMenu{}, bot.EditMessage)
|
|
}
|
|
|
|
func (s *AcceptWorkspaceInvite) Exit() {}
|