feat: integrate Grafana dashboards into BOC DashboardPage

- Add Infrastructure Health section with CPU/Memory/Disk panels
- Add Service Status section with PM2/Docker panels
- Create GrafanaPanel component for iframe embedding
- Build passes successfully
This commit is contained in:
Bernt
2026-07-29 19:03:06 +00:00
parent af874040ca
commit e5623d2f84
77 changed files with 11338 additions and 779 deletions
+34
View File
@@ -0,0 +1,34 @@
package handlers
import (
"database/sql"
"encoding/json"
"net/http"
"boc/briefing"
)
// RealBriefingHandler hanterar riktiga briefing requests
type RealBriefingHandler struct {
engine *briefing.RealBriefingEngine
}
func NewRealBriefingHandler(bocDB, ledgerDB *sql.DB) *RealBriefingHandler {
return &RealBriefingHandler{
engine: briefing.NewRealBriefingEngine(bocDB, ledgerDB),
}
}
// GetRealBriefing returnerar en komplett briefing med riktig data
func (h *RealBriefingHandler) GetRealBriefing(w http.ResponseWriter, r *http.Request) {
userID := "3847477b-3d56-4975-9157-ae8f9ce52aa7" // Erik Svensson
briefing, err := h.engine.GenerateRealBriefing(r.Context(), userID)
if err != nil {
http.Error(w, `{"error":"failed to generate briefing"}`, http.StatusInternalServerError)
return
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(briefing)
}