feat: added /version endpoint

This commit is contained in:
2026-09-01 16:42:40 +02:00
parent b17c2b6670
commit 19ad59ac30
3 changed files with 35 additions and 4 deletions
+5 -2
View File
@@ -136,8 +136,11 @@ func setupLogging() {
func makeServer(db *sql.DB, cfg *config.Config) *http.Server { func makeServer(db *sql.DB, cfg *config.Config) *http.Server {
routerConfig := router.Config{ routerConfig := router.Config{
Database: db, Database: db,
JWTSecret: cfg.JWTSecret, JWTSecret: cfg.JWTSecret,
ServiceVersion: Version,
ServiceCommit: Commit,
ServiceBuildTime: BuildTime,
} }
mux := router.NewMux(routerConfig) mux := router.NewMux(routerConfig)
+23
View File
@@ -0,0 +1,23 @@
package handler
import (
"net/http"
"github.com/robindittmar/dttmr-api/internal/api/response"
)
type Version struct {
Version string `json:"version"`
Commit string `json:"commit"`
BuildTime string `json:"buildTime"`
}
func VersionHandler(version string, commit string, buildTime string) func(http.ResponseWriter, *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
response.JSON(r.Context(), w, http.StatusOK, Version{
Version: version,
Commit: commit,
BuildTime: buildTime,
})
}
}
+7 -2
View File
@@ -11,8 +11,11 @@ import (
) )
type Config struct { type Config struct {
Database *sql.DB Database *sql.DB
JWTSecret string JWTSecret string
ServiceVersion string
ServiceCommit string
ServiceBuildTime string
} }
func NewMux(cfg Config) http.Handler { func NewMux(cfg Config) http.Handler {
@@ -32,6 +35,8 @@ func NewMux(cfg Config) http.Handler {
protected := middleware.WithJWT(authService) protected := middleware.WithJWT(authService)
apiMux := http.NewServeMux() apiMux := http.NewServeMux()
apiMux.HandleFunc("GET /version", handler.VersionHandler(
cfg.ServiceVersion, cfg.ServiceCommit, cfg.ServiceBuildTime))
apiMux.HandleFunc("GET /health", handler.HealthHandler) apiMux.HandleFunc("GET /health", handler.HealthHandler)
// Auth // Auth