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) }