summaryrefslogtreecommitdiff
path: root/pkg/webui/routes.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkg/webui/routes.go28
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()))
+}