43 рядки
1.5 KiB
Go
43 рядки
1.5 KiB
Go
package share
|
|
|
|
import (
|
|
th "github.com/mymmrac/telego/telegohandler"
|
|
|
|
"git.entityseven.com/rilaxik/pllist/internal/service"
|
|
"git.entityseven.com/rilaxik/pllist/internal/telegram/shared"
|
|
)
|
|
|
|
type Handler struct {
|
|
sender *shared.Sender
|
|
shares *service.ShareService
|
|
pending *service.PendingStore
|
|
}
|
|
|
|
func New(
|
|
sender *shared.Sender,
|
|
shares *service.ShareService,
|
|
pending *service.PendingStore,
|
|
) *Handler {
|
|
return &Handler{sender: sender, shares: shares, pending: pending}
|
|
}
|
|
|
|
func (h *Handler) Register(router *th.BotHandler, pendingRouter *shared.PendingRouter) {
|
|
callbacks := router.Group(th.AnyCallbackQueryWithMessage())
|
|
callbacks.HandleCallbackQuery(h.manageCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(shared.ActionShareManage)))
|
|
callbacks.HandleCallbackQuery(h.addCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackAdd)))
|
|
callbacks.HandleCallbackQuery(h.roleCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackRole)))
|
|
callbacks.HandleCallbackQuery(h.viewCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackView)))
|
|
callbacks.HandleCallbackQuery(h.setRoleCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackSet)))
|
|
callbacks.HandleCallbackQuery(h.revokeCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackRevoke)))
|
|
callbacks.HandleCallbackQuery(h.revokeYesCallback,
|
|
th.CallbackDataPrefix(shared.CallbackPrefix(callbackRevokeYes)))
|
|
|
|
pendingRouter.Register(service.PendingShareTarget, h.targetText)
|
|
}
|