75 lines
3.0 KiB
Go
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)
|
|
}
|