@@ -0,0 +1,45 @@
|
||||
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() {}
|
||||
Reference in New Issue
Block a user