35 lines
899 B
Go
35 lines
899 B
Go
|
|
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)
|
||
|
|
}
|