From 09885ef1e4b7610d05377596f02d08c5079c0434 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Wed, 22 Jan 2025 00:46:49 +0100 Subject: feat(webui): implement states list --- pkg/webui/states.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pkg/webui/states.go (limited to 'pkg/webui/states.go') diff --git a/pkg/webui/states.go b/pkg/webui/states.go new file mode 100644 index 0000000..3633cb8 --- /dev/null +++ b/pkg/webui/states.go @@ -0,0 +1,29 @@ +package webui + +import ( + "html/template" + "net/http" + + "git.adyxax.org/adyxax/tfstated/pkg/database" + "git.adyxax.org/adyxax/tfstated/pkg/model" +) + +var statesTemplates = template.Must(template.ParseFS(htmlFS, "html/base.html", "html/states.html")) + +func handleStatesGET(db *database.DB) http.Handler { + type StatesData struct { + States []model.State + } + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Cache-Control", "no-store, no-cache") + + states, err := db.LoadStatesByPath() + if err != nil { + errorResponse(w, http.StatusInternalServerError, err) + return + } + render(w, statesTemplates, http.StatusOK, StatesData{ + States: states, + }) + }) +} -- cgit v1.2.3