package upgrade import ( "net/http" "mengstack/internal/app/version" "github.com/gin-gonic/gin" ) // Handler exposes升级检查接口。 type Handler struct { checker Checker } func NewHandler() *Handler { return &Handler{} } // SetChecker sets the upgrade checker implementation. // Called when a concrete Checker is available. func (h *Handler) SetChecker(c Checker) { h.checker = c } // Check godoc // @Summary 升级检查 // @Description 检查是否有新版本可用(当前为预留接口,返回当前版本信息) // @Tags System // @Produce json // @Success 200 {object} UpgradeStatus // @Router /api/upgrade/check [get] func (h *Handler) Check(c *gin.Context) { status := &UpgradeStatus{ CurrentVersion: version.Version, Available: false, } if h.checker != nil { result, err := h.checker.Check(version.Version) if err == nil { status = result } } c.JSON(http.StatusOK, status) }