package routes import ( "forgejo.merr.is/annika/isl-api/controllers" "forgejo.merr.is/annika/isl-api/middlewares" "github.com/go-chi/chi/v5" ) func SetupPowerItemRoutes(c controllers.PowerItemController, tokenAuth *middlewares.JWTAuth) *chi.Mux { r := chi.NewRouter() r.Get("/", c.GetAll) r.Get("/asMap", c.GetAllAsMap) r.Get("/byType/{type:[1-3]}", c.GetAllByType) r.Get("/byType/{type:[1-3]}/asMap", c.GetAllByTypeAsMap) ar := chi.NewRouter() ar.Group(func(r chi.Router) { r.Use(tokenAuth.Verifier()) r.Use(tokenAuth.Authenticator()) r.Use(tokenAuth.AuthorizeRoles([]string{"add_item"})) r.Post("/", c.Add) r.Post("/multiple", c.AddMultiple) }) r.Mount("/", ar) return r }