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-02-23 22:06:46 +01:00
|
|
|
mux.Handle("GET /states/{id}", requireLogin(handleStatesIdGET(db)))
|
2025-01-06 00:41:32 +01:00
|
|
|
mux.Handle("GET /static/", cache(http.FileServer(http.FS(staticFS))))
|
2025-02-23 22:06:46 +01:00
|
|
|
mux.Handle("GET /versions/{id}", requireLogin(handleVersionsGET(db)))
|
2025-01-14 22:24:05 -05:00
|
|
|
mux.Handle("GET /", requireLogin(handleIndexGET()))
|
2025-01-02 19:43:53 +01:00
|
|
|
}
|