diff options
Diffstat (limited to '')
-rw-r--r-- | pkg/webui/routes.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pkg/webui/routes.go b/pkg/webui/routes.go new file mode 100644 index 0000000..7ee7841 --- /dev/null +++ b/pkg/webui/routes.go @@ -0,0 +1,28 @@ +package webui + +import ( + "net/http" + + "git.adyxax.org/adyxax/tfstated/pkg/database" +) + +func addRoutes( + mux *http.ServeMux, + db *database.DB, +) { + requireSession := sessionsMiddleware(db) + requireLogin := loginMiddleware(db, requireSession) + mux.Handle("GET /healthz", handleHealthz()) + mux.Handle("GET /login", requireSession(handleLoginGET())) + mux.Handle("POST /login", requireSession(handleLoginPOST(db))) + mux.Handle("GET /logout", requireLogin(handleLogoutGET(db))) + mux.Handle("GET /settings", requireLogin(handleSettingsGET(db))) + mux.Handle("POST /settings", requireLogin(handleSettingsPOST(db))) + mux.Handle("GET /states", requireLogin(handleStatesGET(db))) + mux.Handle("GET /states/new", requireLogin(handleStatesNewGET(db))) + mux.Handle("POST /states/new", requireLogin(handleStatesNewPOST(db))) + mux.Handle("GET /state/{id}", requireLogin(handleStateGET(db))) + mux.Handle("GET /static/", cache(http.FileServer(http.FS(staticFS)))) + mux.Handle("GET /version/{id}", requireLogin(handleVersionGET(db))) + mux.Handle("GET /", requireLogin(handleIndexGET())) +} |