router.go 939 B

12345678910111213141516171819202122232425262728
  1. package router
  2. import (
  3. "github.com/go-chi/chi"
  4. "github.com/porter-dev/porter/server/api"
  5. "github.com/porter-dev/porter/server/requestlog"
  6. "github.com/porter-dev/porter/server/router/middleware"
  7. )
  8. // New creates a new Chi router instance
  9. func New(a *api.App) *chi.Mux {
  10. l := a.Logger()
  11. r := chi.NewRouter()
  12. r.Route("/api", func(r chi.Router) {
  13. r.Use(middleware.ContentTypeJSON)
  14. // /api/users routes
  15. r.Method("GET", "/users/{id}", requestlog.NewHandler(a.HandleReadUser, l))
  16. r.Method("GET", "/users/{id}/clusters", requestlog.NewHandler(a.HandleReadUserClusters, l))
  17. r.Method("GET", "/users/{id}/clusters/all", requestlog.NewHandler(a.HandleReadUserClustersAll, l))
  18. r.Method("POST", "/users", requestlog.NewHandler(a.HandleCreateUser, l))
  19. r.Method("PUT", "/users/{id}", requestlog.NewHandler(a.HandleUpdateUser, l))
  20. r.Method("DELETE", "/users/{id}", requestlog.NewHandler(a.HandleDeleteUser, l))
  21. })
  22. return r
  23. }