feat: support auto check upgrade (#53)

This commit is contained in:
Li4n0
2022-01-09 23:51:46 +08:00
committed by GitHub
parent 30f9069e45
commit f6afe0fa12
16 changed files with 216 additions and 32 deletions
+40
View File
@@ -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,
},
})
}
}