Files
2026-11-08 03:46:11 +00:00

75 lines
3.0 KiB
Go

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