Files
2026-07-09 14:16:56 +08:00

43 lines
1.7 KiB
Go

package model
import "time"
// RDPSession RDP 图形会话记录,独立于 SSH 终端审计表便于后续录屏扩展 // Logan.Li
type RDPSession struct {
ID uint `gorm:"primarykey" json:"id"`
UserID *uint `json:"user_id"`
Username string `gorm:"size:64" json:"username"`
ServerID uint `json:"server_id"`
ServerName string `gorm:"size:128" json:"server_name"`
ServerIP string `gorm:"size:64" json:"server_ip"`
ServerPort int `json:"server_port"`
ClientIP string `gorm:"size:64" json:"client_ip"`
Width int `gorm:"default:1280" json:"width"`
Height int `gorm:"default:800" json:"height"`
Status string `gorm:"size:32" json:"status"` // active, closed, failed // Logan.Li
Duration int `json:"duration"`
Error string `gorm:"size:500" json:"error,omitempty"`
RecordData string `gorm:"type:mediumtext" json:"-"` // 图形帧录制 JSON,回放接口单独返回 // Logan.Li
RecordSize int `json:"record_size"` // 录制字节数 // Logan.Li
StartTime time.Time `json:"start_time"`
EndTime *time.Time `json:"end_time"`
CreatedAt time.Time `json:"created_at"`
}
func (RDPSession) TableName() string {
return "audit_rdp_sessions"
}
// RDPSessionQuery Windows RDP 图形会话查询 // Logan.Li
type RDPSessionQuery struct {
ServerID uint `form:"server_id"`
Username string `form:"username"`
Status string `form:"status"`
Keyword string `form:"keyword"`
StartDate string `form:"start_date"`
EndDate string `form:"end_date"`
HasRecord string `form:"has_record"`
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
}