Newer
Older
"forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server/internal/auth"
"forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server/internal/common"
"forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server/internal/monthlyNews"
"github.com/nicolaspernoud/vestibule/pkg/middlewares"
type RootMux struct {
Mux http.Handler
Manager *auth.Manager
}
func CreateRootMux(staticDir string) RootMux {
mainMux.HandleFunc("/OAuth2Login", m.HandleOAuth2Login)
mainMux.Handle("/OAuth2Callback", m.HandleOAuth2Callback())
mainMux.HandleFunc("/Logout", m.HandleLogout)
mainMux.Handle("/api/common/WhoAmI", auth.ValidateAuthMiddleware(auth.WhoAmI(), []string{"*"}, false))
adminMux.HandleFunc("/monthlyNews/", monthlyNews.ProcessMonthlyNews)
mainMux.Handle("/api/admin/", http.StripPrefix("/api/admin", auth.ValidateAuthMiddleware(adminMux, []string{os.Getenv("ADMIN_ROLE")}, true)))
// Serve static files falling back to serving index.html
mainMux.Handle("/", middlewares.NoCache(http.FileServer(&common.FallBackWrapper{Assets: http.Dir(staticDir)})))