34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
package routes
|
|
|
|
import (
|
|
s "synlotto-website/internal/handlers/lottery/syndicate"
|
|
|
|
"synlotto-website/internal/http/middleware"
|
|
"synlotto-website/internal/platform/bootstrap"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterSyndicateRoutes mounts all /syndicate routes.
|
|
// Protection is enforced at the group level via AuthMiddleware + RequireAuth.
|
|
func RegisterSyndicateRoutes(app *bootstrap.App) {
|
|
r := app.Router
|
|
|
|
syn := r.Group("/syndicate")
|
|
syn.Use(middleware.AuthMiddleware(), middleware.RequireAuth())
|
|
|
|
// Use Any to preserve old ServeMux behavior (accepts both GET/POST where applicable).
|
|
// You can refine methods later (e.g., GET for views, POST for mutate actions).
|
|
syn.Any("", gin.WrapH(s.ListSyndicatesHandler(app)))
|
|
syn.Any("/create", gin.WrapH(s.CreateSyndicateHandler(app)))
|
|
syn.Any("/view", gin.WrapH(s.ViewSyndicateHandler(app)))
|
|
syn.Any("/tickets", gin.WrapH(s.SyndicateTicketsHandler(app)))
|
|
syn.Any("/tickets/new", gin.WrapH(s.SyndicateLogTicketHandler(app)))
|
|
syn.Any("/invites", gin.WrapH(s.ViewInvitesHandler(app)))
|
|
syn.Any("/invites/accept", gin.WrapH(s.AcceptInviteHandler(app)))
|
|
syn.Any("/invites/decline", gin.WrapH(s.DeclineInviteHandler(app)))
|
|
syn.Any("/invite/token", gin.WrapH(s.GenerateInviteLinkHandler(app)))
|
|
syn.Any("/invite/tokens", gin.WrapH(s.ManageInviteTokensHandler(app)))
|
|
syn.Any("/join", gin.WrapH(s.JoinSyndicateWithTokenHandler(app)))
|
|
}
|