43 lines
1.7 KiB
Go
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"`
|
|
}
|