package handlers import ( "encoding/json" "net/http" "git.unkin.net/unkin/forgebot/internal/database" ) type HealthHandler struct { db *database.DB } func NewHealthHandler(db *database.DB) *HealthHandler { return &HealthHandler{db: db} } func (h *HealthHandler) Health(w http.ResponseWriter, r *http.Request) { status := "ok" code := http.StatusOK if !h.db.Healthy(r.Context()) { status = "degraded" code = http.StatusServiceUnavailable } w.Header().Set("Content-Type", "application/json") w.WriteHeader(code) json.NewEncoder(w).Encode(map[string]string{"status": status}) }