refactor: register alarm API routes at /api/ level instead of /ui/api/ — consistent REST design

This commit is contained in:
tian 2026-07-17 18:09:46 +08:00
parent 139baeef5f
commit 3adc1e1a43
4 changed files with 10 additions and 6 deletions

View File

@ -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) {

View File

@ -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)

View File

@ -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;

View File

@ -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(){});