mirror of
https://github.com/lejianwen/rustdesk-api.git
synced 2025-11-29 08:33:21 +00:00
79 lines
1.6 KiB
Go
79 lines
1.6 KiB
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/lejianwen/rustdesk-api/global"
|
|
"github.com/lejianwen/rustdesk-api/model"
|
|
"strconv"
|
|
)
|
|
|
|
type AuditConnForm struct {
|
|
Action string `json:"action"`
|
|
ConnId int64 `json:"conn_id"`
|
|
Id string `json:"id"`
|
|
Peer []string `json:"peer"`
|
|
Ip string `json:"ip"`
|
|
SessionId float64 `json:"session_id"`
|
|
Type int `json:"type"`
|
|
Uuid string `json:"uuid"`
|
|
}
|
|
|
|
func (a *AuditConnForm) ToAuditConn() *model.AuditConn {
|
|
fp := ""
|
|
fn := ""
|
|
if len(a.Peer) >= 1 {
|
|
fp = a.Peer[0]
|
|
if len(a.Peer) == 2 {
|
|
fn = a.Peer[1]
|
|
}
|
|
}
|
|
ssid := strconv.FormatFloat(a.SessionId, 'f', -1, 64)
|
|
return &model.AuditConn{
|
|
Action: a.Action,
|
|
ConnId: a.ConnId,
|
|
PeerId: a.Id,
|
|
FromPeer: fp,
|
|
FromName: fn,
|
|
Ip: a.Ip,
|
|
SessionId: ssid,
|
|
Type: a.Type,
|
|
Uuid: a.Uuid,
|
|
}
|
|
}
|
|
|
|
type AuditFileForm struct {
|
|
Id string `json:"id"`
|
|
Info string `json:"info"`
|
|
IsFile bool `json:"is_file"`
|
|
Path string `json:"path"`
|
|
PeerId string `json:"peer_id"`
|
|
Type int `json:"type"`
|
|
Uuid string `json:"uuid"`
|
|
}
|
|
type AuditFileInfo struct {
|
|
Ip string `json:"ip"`
|
|
Name string `json:"name"`
|
|
Num int `json:"num"`
|
|
}
|
|
|
|
func (a *AuditFileForm) ToAuditFile() *model.AuditFile {
|
|
fi := &AuditFileInfo{}
|
|
err := json.Unmarshal([]byte(a.Info), fi)
|
|
if err != nil {
|
|
global.Logger.Warn("ToAuditFile", err)
|
|
}
|
|
|
|
return &model.AuditFile{
|
|
PeerId: a.Id,
|
|
Info: a.Info,
|
|
IsFile: a.IsFile,
|
|
FromPeer: a.PeerId,
|
|
Path: a.Path,
|
|
Type: a.Type,
|
|
Uuid: a.Uuid,
|
|
FromName: fi.Name,
|
|
Ip: fi.Ip,
|
|
Num: fi.Num,
|
|
}
|
|
}
|