fix: resolve duplicate path prefix issues for message and webhook routes

This commit is contained in:
root
2026-06-29 17:48:28 +00:00
parent de465c6527
commit bb67a7652e
3 changed files with 8 additions and 7 deletions
+4 -2
View File
@@ -205,10 +205,12 @@ func main() {
bot.NewCommandHandler(database.DB).RegisterCommandRoutes(r) bot.NewCommandHandler(database.DB).RegisterCommandRoutes(r)
}) })
// Webhooks (protected: create/delete) // Webhooks (protected: create/list/delete)
webhookHandler := webhook.NewHandler(database.DB, hub)
r.Route("/channels/{channelID}/webhooks", func(r chi.Router) { r.Route("/channels/{channelID}/webhooks", func(r chi.Router) {
webhook.NewHandler(database.DB, hub).RegisterRoutes(r) webhookHandler.RegisterRoutes(r)
}) })
r.Delete("/webhooks/{webhookID}", webhookHandler.Delete)
// Invites (rate limited to prevent brute-force join) // Invites (rate limited to prevent brute-force join)
r.Route("/invites", func(r chi.Router) { r.Route("/invites", func(r chi.Router) {
+2 -2
View File
@@ -30,8 +30,8 @@ func NewHandler(db *sql.DB, hub *gateway.Hub, pushHandler *push.Handler, logger
} }
func (h *Handler) RegisterRoutes(r chi.Router) { func (h *Handler) RegisterRoutes(r chi.Router) {
r.Get("/{channelID}/messages", h.List) r.Get("/", h.List)
r.Post("/{channelID}/messages", h.Create) r.Post("/", h.Create)
r.Patch("/{messageID}", h.Update) r.Patch("/{messageID}", h.Update)
r.Delete("/{messageID}", h.Delete) r.Delete("/{messageID}", h.Delete)
} }
+2 -3
View File
@@ -29,9 +29,8 @@ func NewHandler(db *sql.DB, hub *gateway.Hub) *Handler {
// GET /channels/{channelID}/webhooks - list webhooks for channel // GET /channels/{channelID}/webhooks - list webhooks for channel
// DELETE /webhooks/{webhookID} - delete webhook // DELETE /webhooks/{webhookID} - delete webhook
func (h *Handler) RegisterRoutes(r chi.Router) { func (h *Handler) RegisterRoutes(r chi.Router) {
r.Post("/channels/{channelID}/webhooks", h.Create) r.Post("/", h.Create)
r.Get("/channels/{channelID}/webhooks", h.List) r.Get("/", h.List)
r.Delete("/webhooks/{webhookID}", h.Delete)
} }
// RegisterPublicRoutes registers the public webhook execution route (no auth). // RegisterPublicRoutes registers the public webhook execution route (no auth).