8f8b555ea5
Build / build (push) Successful in 48s
- Split IndexHandler into HealthHandler, VersionHandler, and CharacterHandler - Rename index.go to version.go in backend - Change VersionData.Changelog from string to []string - Add changelog entries for issues #16-#23 - Remove TestDB function and related code - Fix import ordering in several files Closes #21, #22 References #16, #17, #18, #19, #20, #23 Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
52 lines
1.3 KiB
Go
52 lines
1.3 KiB
Go
package server
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/labstack/echo/v5"
|
|
"music-server/internal/backend"
|
|
)
|
|
|
|
type VersionHandler struct {
|
|
}
|
|
|
|
func NewVersionHandler() *VersionHandler {
|
|
return &VersionHandler{}
|
|
}
|
|
|
|
// GetVersionHistory godoc
|
|
//
|
|
// @Summary Getting the version history of the backend
|
|
// @Description get version history
|
|
// @Tags version
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {array} backend.VersionData
|
|
// @Failure 404 {object} string
|
|
// @Router /version/history [get]
|
|
func (v *VersionHandler) GetVersionHistory(ctx *echo.Context) error {
|
|
versionHistory := backend.GetVersionHistory()
|
|
if len(versionHistory) == 0 {
|
|
return ctx.JSON(http.StatusNotFound, "version not found")
|
|
}
|
|
return ctx.JSON(http.StatusOK, versionHistory)
|
|
}
|
|
|
|
// GetLatestVersion godoc
|
|
//
|
|
// @Summary Getting the latest version of the backend
|
|
// @Description get latest version info
|
|
// @Tags version
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {object} backend.VersionData
|
|
// @Failure 404 {object} string
|
|
// @Router /version [get]
|
|
func (v *VersionHandler) GetLatestVersion(ctx *echo.Context) error {
|
|
latestVersion := backend.GetLatestVersion()
|
|
if latestVersion.Version == "" {
|
|
return ctx.JSON(http.StatusNotFound, "version not found")
|
|
}
|
|
return ctx.JSON(http.StatusOK, latestVersion)
|
|
}
|