use custom JWT middleware.

This commit is contained in:
Miroslav Šedivý
2020-10-31 12:27:55 +01:00
parent c609a28a38
commit 963d210507
5 changed files with 83 additions and 46 deletions

View File

@ -3,6 +3,7 @@ package room
import (
"github.com/go-chi/chi"
"demodesk/neko/internal/api/utils"
"demodesk/neko/internal/types"
)
@ -30,18 +31,16 @@ func New(
}
func (h *RoomHandler) Router(
usersOnly func(chi.Router, func(chi.Router)),
adminsOnly func(chi.Router, func(chi.Router)),
usersOnly utils.HttpMiddleware,
adminsOnly utils.HttpMiddleware,
) *chi.Mux {
r := chi.NewRouter()
usersOnly(r, func(r chi.Router) {
r.Get("/screen", h.ScreenConfiguration)
})
adminsOnly(r, func(r chi.Router) {
r.Post("/screen", h.ScreenConfigurationChange)
r.Get("/screen/configurations", h.ScreenConfigurationsList)
r.Route("/screen", func(r chi.Router) {
r.With(usersOnly).Get("/", h.ScreenConfiguration)
r.With(adminsOnly).Post("/", h.ScreenConfigurationChange)
r.With(adminsOnly).Get("/configurations", h.ScreenConfigurationsList)
})
return r