package handler

import (
	"encoding/json"
	"net/http"

	"github.com/prometheus/client_golang/prometheus/promhttp"

	"github.com/tidbcloud/billing-reporter/metrics"
	"github.com/tidbcloud/billing-reporter/pkg/version"
)

func RegisterHandlers() {
	metrics.RegisterMetrics()
	http.Handle("/metrics", promhttp.Handler())
	http.HandleFunc("/version", Version)
}

func Version(w http.ResponseWriter, _ *http.Request) {
	data, _ := json.Marshal(&struct {
		Hash string `json:"hash"`
	}{Hash: version.GitHash})
	_, _ = w.Write(data)
}
