package item 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 items *service.ItemService access *service.AccessService pending *service.PendingStore } func New( sender *shared.Sender, items *service.ItemService, access *service.AccessService, pending *service.PendingStore, ) *Handler { return &Handler{ sender: sender, items: items, access: access, pending: pending, } } func (h *Handler) Register(router *th.BotHandler, pendingRouter *shared.PendingRouter) { callbacks := router.Group(th.AnyCallbackQueryWithMessage()) callbacks.HandleCallbackQuery(h.listCallback, th.CallbackDataPrefix(shared.CallbackPrefix(shared.ActionListOpen))) callbacks.HandleCallbackQuery(h.pageCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackPage))) callbacks.HandleCallbackQuery(h.addCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackAdd))) callbacks.HandleCallbackQuery(h.itemCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackItem))) callbacks.HandleCallbackQuery(h.manageCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackManage))) callbacks.HandleCallbackQuery(h.editTitleCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackEditTitle))) callbacks.HandleCallbackQuery(h.editNoteCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackEditNote))) callbacks.HandleCallbackQuery(h.editQuantityCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackEditQuantity))) callbacks.HandleCallbackQuery(h.clearNoteCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackClearNote))) callbacks.HandleCallbackQuery(h.lowUrgencyCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackUrgencyLow))) callbacks.HandleCallbackQuery(h.normalUrgencyCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackUrgencyNorm))) callbacks.HandleCallbackQuery(h.highUrgencyCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackUrgencyHigh))) callbacks.HandleCallbackQuery(h.doneCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackDone))) callbacks.HandleCallbackQuery(h.reopenCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackReopen))) callbacks.HandleCallbackQuery(h.reserveCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackReserve))) callbacks.HandleCallbackQuery(h.releaseCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackRelease))) callbacks.HandleCallbackQuery(h.deleteCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackDelete))) callbacks.HandleCallbackQuery(h.deleteYesCallback, th.CallbackDataPrefix(shared.CallbackPrefix(callbackDeleteYes))) pendingRouter.Register(service.PendingCreateItem, h.createText) pendingRouter.Register(service.PendingRenameItem, h.renameText) pendingRouter.Register(service.PendingEditItemNote, h.noteText) pendingRouter.Register(service.PendingEditItemQuantity, h.quantityText) }