3
0
corteza/messaging/rest/router.go
Denis Arh ba8b77e4e1 Cleanup attachment serving logic
Remove old workarounds in rest/handlers and replace them with
simple func(http.ResponseWriter, *http.Request) that we return
from controller functions
2019-04-27 15:25:56 +02:00

35 lines
929 B
Go

package rest
import (
"github.com/go-chi/chi"
"github.com/crusttech/crust/internal/auth"
"github.com/crusttech/crust/messaging/rest/handlers"
)
func MountRoutes() func(chi.Router) {
// Initialize handlers & controllers.
return func(r chi.Router) {
r.Group(func(r chi.Router) {
handlers.NewAttachment(Attachment{}.New()).MountRoutes(r)
})
r.Group(func(r chi.Router) {
handlers.NewPermissions(Permissions{}.New()).MountRoutes(r)
})
// Protect all _private_ routes
r.Group(func(r chi.Router) {
r.Use(auth.MiddlewareValidOnly)
r.Use(middlewareAllowedAccess)
handlers.NewActivity(Activity{}.New()).MountRoutes(r)
handlers.NewChannel(Channel{}.New()).MountRoutes(r)
handlers.NewMessage(Message{}.New()).MountRoutes(r)
handlers.NewSearch(Search{}.New()).MountRoutes(r)
handlers.NewStatus(Status{}.New()).MountRoutes(r)
handlers.NewCommands(Commands{}.New()).MountRoutes(r)
})
}
}