introduce REST API authorization.

This commit is contained in:
Miroslav Šedivý 2020-11-16 19:37:52 +01:00
parent 316533dab0
commit 0dab2a99d3
3 changed files with 64 additions and 18 deletions

View file

@ -4,6 +4,7 @@ import (
"github.com/go-chi/chi"
"demodesk/neko/internal/types"
"demodesk/neko/internal/http/auth"
)
type RoomHandler struct {
@ -27,15 +28,14 @@ func New(
}
func (h *RoomHandler) Route(r chi.Router) {
// TODO: Authorizaton.
r.Route("/screen", func(r chi.Router) {
r.Get("/", h.ScreenConfiguration)
r.Post("/", h.ScreenConfigurationChange)
r.Get("/configurations", h.ScreenConfigurationsList)
r.With(auth.AdminsOnly).Post("/", h.ScreenConfigurationChange)
r.With(auth.AdminsOnly).Get("/configurations", h.ScreenConfigurationsList)
})
r.Route("/clipboard", func(r chi.Router) {
r.With(auth.HostsOnly).Route("/clipboard", func(r chi.Router) {
r.Get("/", h.ClipboardRead)
r.Post("/", h.ClipboardWrite)
})