diff --git a/cmd/safesightd/main.go b/cmd/safesightd/main.go index 9fad73e..a30eda5 100644 --- a/cmd/safesightd/main.go +++ b/cmd/safesightd/main.go @@ -116,6 +116,7 @@ func main() { log.Fatalf("failed to init ui routes: %v", err) } r.Mount("/ui", http.StripPrefix("/ui", uiRouter)) + ui.RegisterAlarmRoutes(r) // API Routes r.Route("/api", func(r chi.Router) { diff --git a/internal/web/ui.go b/internal/web/ui.go index b783597..2c7899d 100644 --- a/internal/web/ui.go +++ b/internal/web/ui.go @@ -678,6 +678,12 @@ func tablerIconSVG(name string) string { return "" } +func (u *UI) RegisterAlarmRoutes(r chi.Router) { + r.Get("/api/alarms/stream", u.apiAlarmStream) + r.Get("/api/alarms/unacknowledged-count", u.apiAlarmUnacknowledgedCount) + r.Get("/api/alarms/daily-count", u.apiAlarmDailyCount) +} + func (u *UI) Routes() (chi.Router, error) { r := chi.NewRouter() @@ -801,9 +807,6 @@ func (u *UI) Routes() (chi.Router, error) { r.Post("/alarms/{id}/acknowledge", u.actionAcknowledgeAlarm) r.Post("/alarms/{id}/resolve", u.actionResolveAlarm) r.Post("/alarms/{id}/severity", u.actionUpdateAlarmSeverity) - r.Get("/api/alarms/stream", u.apiAlarmStream) - r.Get("/api/alarms/unacknowledged-count", u.apiAlarmUnacknowledgedCount) - r.Get("/api/alarms/daily-count", u.apiAlarmDailyCount) r.Get("/face-gallery", u.pageFaceGallery) r.Get("/face-photo/*", u.serveFacePhoto) r.Post("/face-gallery/import", u.actionFaceGalleryImport) diff --git a/internal/web/ui/templates/dashboard.html b/internal/web/ui/templates/dashboard.html index 07dd4c2..279adc6 100644 --- a/internal/web/ui/templates/dashboard.html +++ b/internal/web/ui/templates/dashboard.html @@ -142,7 +142,7 @@ } try { - var es = new EventSource("/ui/api/alarms/stream"); + var es = new EventSource("/api/alarms/stream"); es.onmessage = function(e) { try { var alarm = JSON.parse(e.data); @@ -165,7 +165,7 @@ var ctx = canvas.getContext("2d"); var dpr = window.devicePixelRatio || 1; - fetch("/ui/api/alarms/daily-count?days=7", {credentials:"same-origin"}) + fetch("/api/alarms/daily-count?days=7", {credentials:"same-origin"}) .then(function(r){return r.json()}) .then(function(data){ if (!data || data.length === 0) return; diff --git a/internal/web/ui/templates/layout.html b/internal/web/ui/templates/layout.html index 411fa40..8a9c9a1 100644 --- a/internal/web/ui/templates/layout.html +++ b/internal/web/ui/templates/layout.html @@ -382,7 +382,7 @@ } function pollAlarmCount() { - fetch("/ui/api/alarms/unacknowledged-count", {credentials:"same-origin"}) + fetch("/api/alarms/unacknowledged-count", {credentials:"same-origin"}) .then(function(r){return r.json()}) .then(function(data){updateAlarmBadge(data.count||0)}) .catch(function(){});