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>
85 lines
2.3 KiB
Go
85 lines
2.3 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin/binding"
|
|
request "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"
|
|
"time"
|
|
)
|
|
|
|
type Audit struct {
|
|
}
|
|
|
|
// AuditConn
|
|
// @Tags audit
|
|
// @Summary audit connection
|
|
// @Description audit connection
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param body body request.AuditConnForm true "audit connection"
|
|
// @Success 200 {string} string ""
|
|
// @Failure 500 {object} response.Response
|
|
// @Router /audit/conn [post]
|
|
func (a *Audit) AuditConn(c *gin.Context) {
|
|
af := &request.AuditConnForm{}
|
|
err := c.ShouldBindBodyWith(af, binding.JSON)
|
|
if err != nil {
|
|
response.Error(c, response.TranslateMsg(c, "ParamsError")+err.Error())
|
|
return
|
|
}
|
|
/*ttt := &gin.H{}
|
|
c.ShouldBindBodyWith(ttt, binding.JSON)
|
|
fmt.Println(ttt)*/
|
|
ac := af.ToAuditConn()
|
|
if af.Action == model.AuditActionNew {
|
|
service.AllService.AuditService.CreateAuditConn(ac)
|
|
} else if af.Action == model.AuditActionClose {
|
|
ex := service.AllService.AuditService.InfoByPeerIdAndConnId(af.Id, af.ConnId)
|
|
if ex.Id != 0 {
|
|
ex.CloseTime = time.Now().Unix()
|
|
service.AllService.AuditService.UpdateAuditConn(ex)
|
|
}
|
|
} else if af.Action == "" {
|
|
ex := service.AllService.AuditService.InfoByPeerIdAndConnId(af.Id, af.ConnId)
|
|
if ex.Id != 0 {
|
|
up := &model.AuditConn{
|
|
IdModel: model.IdModel{Id: ex.Id},
|
|
FromPeer: ac.FromPeer,
|
|
FromName: ac.FromName,
|
|
SessionId: ac.SessionId,
|
|
Type: ac.Type,
|
|
}
|
|
service.AllService.AuditService.UpdateAuditConn(up)
|
|
}
|
|
}
|
|
response.Success(c, "")
|
|
}
|
|
|
|
// AuditFile
|
|
// @Tags audit
|
|
// @Summary audit file
|
|
// @Description audit file
|
|
// @Accept json
|
|
// @Produce json
|
|
// @Param body body request.AuditFileForm true "audit file"
|
|
// @Success 200 {string} string ""
|
|
// @Failure 500 {object} response.Response
|
|
// @Router /audit/file [post]
|
|
func (a *Audit) AuditFile(c *gin.Context) {
|
|
aff := &request.AuditFileForm{}
|
|
err := c.ShouldBindBodyWith(aff, binding.JSON)
|
|
if err != nil {
|
|
response.Error(c, response.TranslateMsg(c, "ParamsError")+err.Error())
|
|
return
|
|
}
|
|
//ttt := &gin.H{}
|
|
//c.ShouldBindBodyWith(ttt, binding.JSON)
|
|
//fmt.Println(ttt)
|
|
af := aff.ToAuditFile()
|
|
service.AllService.AuditService.CreateAuditFile(af)
|
|
response.Success(c, "")
|
|
}
|