Files
nfeeder/internal/web/routes.go
T

40 lines
860 B
Go

package web
import (
"net/http"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
)
func (s *Server) setupRoutes() *chi.Mux {
router := chi.NewRouter()
router.Use(middleware.Logger)
router.Use(middleware.Recoverer)
// TODO: Not sure this is needed right now
// Setup basic file server nothing fancy
router.Handle("/static/*", http.StripPrefix("/static", http.FileServer(http.Dir("static"))))
// Public routes
router.Group(func(r chi.Router) {
// Auth Routes
router.Post("/register", s.handleRegister())
router.Post("/login", s.handleLogin())
router.Post("/logout", s.handleLogout())
})
// Private routes
router.Group(func(r chi.Router) {
// Requires log in
r.Use(s.hasAuth)
// TODO add authenicated routes here
// r.Get("/", s.handleHome())
// router.Mount("/users", s.userRoutes())
})
return router
}