Translate Chinese comments, log/error messages, validator labels and Swagger annotations to English throughout the source code, generated Swagger docs, config files and CI workflows. Make the English README primary: README.md now holds the English docs and README_EN.md holds the Chinese version, with cross-language links updated accordingly. Note: the generated docs/ swagger files were translated in place; run `go generate ./...` (swag init) to regenerate them from the now-English annotations when a Go toolchain is available. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
82 lines
1.8 KiB
Go
82 lines
1.8 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
requstform "github.com/lejianwen/rustdesk-api/v2/http/request/api"
|
|
"github.com/lejianwen/rustdesk-api/v2/http/response"
|
|
"github.com/lejianwen/rustdesk-api/v2/model"
|
|
"github.com/lejianwen/rustdesk-api/v2/service"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
type Index struct {
|
|
}
|
|
|
|
// Index home
|
|
// @Tags home
|
|
// @Summary home
|
|
// @Description home
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {object} response.Response
|
|
// @Failure 500 {object} response.Response
|
|
// @Router / [get]
|
|
func (i *Index) Index(c *gin.Context) {
|
|
response.Success(
|
|
c,
|
|
"Hello Gwen",
|
|
)
|
|
}
|
|
|
|
// Heartbeat heartbeat
|
|
// @Tags home
|
|
// @Summary heartbeat
|
|
// @Description heartbeat
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {object} nil
|
|
// @Failure 500 {object} response.Response
|
|
// @Router /heartbeat [post]
|
|
func (i *Index) Heartbeat(c *gin.Context) {
|
|
info := &requstform.PeerInfoInHeartbeat{}
|
|
err := c.ShouldBindJSON(info)
|
|
if err != nil {
|
|
c.JSON(http.StatusOK, gin.H{})
|
|
return
|
|
}
|
|
if info.Uuid == "" {
|
|
c.JSON(http.StatusOK, gin.H{})
|
|
return
|
|
}
|
|
peer := service.AllService.PeerService.FindById(info.Id)
|
|
if peer == nil || peer.RowId == 0 {
|
|
c.JSON(http.StatusOK, gin.H{})
|
|
return
|
|
}
|
|
// do not update if within 40s
|
|
if time.Now().Unix()-peer.LastOnlineTime >= 30 {
|
|
upp := &model.Peer{RowId: peer.RowId, LastOnlineTime: time.Now().Unix(), LastOnlineIp: c.ClientIP()}
|
|
service.AllService.PeerService.Update(upp)
|
|
}
|
|
c.JSON(http.StatusOK, gin.H{})
|
|
}
|
|
|
|
// Version version
|
|
// @Tags home
|
|
// @Summary version
|
|
// @Description version
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Success 200 {object} response.Response
|
|
// @Failure 500 {object} response.Response
|
|
// @Router /version [get]
|
|
func (i *Index) Version(c *gin.Context) {
|
|
// read the resources/version file
|
|
v := service.AllService.AppService.GetAppVersion()
|
|
response.Success(
|
|
c,
|
|
v,
|
|
)
|
|
}
|