mirror of
https://github.com/Li4n0/revsuit.git
synced 2026-09-25 08:01:54 +08:00
feat: support auto check upgrade (#53)
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/li4n0/revsuit/internal/recycler"
|
||||
"github.com/li4n0/revsuit/internal/update"
|
||||
log "unknwon.dev/clog/v2"
|
||||
)
|
||||
|
||||
@@ -88,3 +89,42 @@ func version(c *gin.Context) {
|
||||
"result": VERSION,
|
||||
})
|
||||
}
|
||||
|
||||
func (revsuit *Revsuit) getUpgrade(c *gin.Context) {
|
||||
if !revsuit.config.CheckUpgrade {
|
||||
c.JSON(200, gin.H{
|
||||
"status": "succeed",
|
||||
"error": nil,
|
||||
"result": gin.H{
|
||||
"upgradeable": false,
|
||||
"message": "config of check upgrade is false",
|
||||
},
|
||||
})
|
||||
return
|
||||
}
|
||||
if upgradeable, release, err := update.CheckUpgrade(VERSION); err == nil && upgradeable {
|
||||
c.JSON(200, gin.H{
|
||||
"status": "succeed",
|
||||
"error": nil,
|
||||
"result": gin.H{
|
||||
"upgradeable": true,
|
||||
"version": release.Version,
|
||||
"release": release.URL,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
message := VERSION + " is the latest"
|
||||
if err != nil {
|
||||
message = err.Error()
|
||||
}
|
||||
|
||||
c.JSON(200, gin.H{
|
||||
"status": "succeed",
|
||||
"error": nil,
|
||||
"result": gin.H{
|
||||
"upgradeable": false,
|
||||
"message": message,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user