2025-01-02 19:43:53 +01:00
|
|
|
package webui
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
|
|
|
|
|
|
|
"git.adyxax.org/adyxax/tfstated/pkg/database"
|
|
|
|
)
|
|
|
|
|
|
|
|
func addRoutes(
|
|
|
|
mux *http.ServeMux,
|
|
|
|
db *database.DB,
|
|
|
|
) {
|
2025-01-14 22:24:05 -05:00
|
|
|
requireSession := sessionsMiddleware(db)
|
|
|
|
requireLogin := loginMiddleware(db, requireSession)
|
2025-01-02 19:43:53 +01:00
|
|
|
mux.Handle("GET /healthz", handleHealthz())
|
2025-01-14 22:24:05 -05:00
|
|
|
mux.Handle("GET /login", requireSession(handleLoginGET()))
|
|
|
|
mux.Handle("POST /login", requireSession(handleLoginPOST(db)))
|
|
|
|
mux.Handle("GET /logout", requireLogin(handleLogoutGET(db)))
|
2025-01-30 00:19:16 +01:00
|
|
|
mux.Handle("GET /settings", requireLogin(handleSettingsGET(db)))
|
|
|
|
mux.Handle("POST /settings", requireLogin(handleSettingsPOST(db)))
|
2025-01-22 00:46:49 +01:00
|
|
|
mux.Handle("GET /states", requireLogin(handleStatesGET(db)))
|
2025-02-22 00:35:17 +01:00
|
|
|
mux.Handle("POST /states", requireLogin(handleStatesPOST(db)))
|
2025-01-27 22:00:51 +01:00
|
|
|
mux.Handle("GET /state/{id}", requireLogin(handleStateGET(db)))
|
2025-01-06 00:41:32 +01:00
|
|
|
mux.Handle("GET /static/", cache(http.FileServer(http.FS(staticFS))))
|
2025-01-28 00:30:30 +01:00
|
|
|
mux.Handle("GET /version/{id}", requireLogin(handleVersionGET(db)))
|
2025-01-14 22:24:05 -05:00
|
|
|
mux.Handle("GET /", requireLogin(handleIndexGET()))
|
2025-01-02 19:43:53 +01:00
|
|
|
}
|