mirror of
https://forgejo.merr.is/annika/isl-api.git
synced 2025-12-11 11:02:03 -05:00
42 lines
922 B
Go
42 lines
922 B
Go
package Routes
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"forgejo.merr.is/annika/isl-api/Controllers"
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/moosetheory/jwtauth/v5"
|
|
)
|
|
|
|
func SetupPowerItemRoutes(c Controllers.PowerItemController, tokenAuth *jwtauth.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(jwtauth.Verifier(tokenAuth))
|
|
r.Use(jwtauth.Authenticator(tokenAuth))
|
|
|
|
r.Get("/test", authTest)
|
|
r.Post("/", c.Add)
|
|
r.Post("/multiple", c.AddMultiple)
|
|
})
|
|
r.Mount("/", ar)
|
|
|
|
return r
|
|
}
|
|
|
|
func authTest(w http.ResponseWriter, r *http.Request) {
|
|
token, claims, err := jwtauth.FromContext(r.Context())
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
fmt.Printf("%+v\n", token)
|
|
fmt.Printf("%+v\n", claims)
|
|
fmt.Fprint(w, "hi")
|
|
}
|