package model import "time" // SessionCommand 会话命令记录(JumpServer 式命令审计) // Logan.Li type SessionCommand struct { ID uint `gorm:"primarykey" json:"id"` SessionID uint `gorm:"index" json:"session_id"` // 关联终端会话 SessionType string `gorm:"size:32;default:terminal" json:"session_type"` // terminal/rdp,用于区分回放入口 // Logan.Li 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"` Command string `gorm:"type:text" json:"command"` // 执行的原始命令 OutputSize *int `json:"output_size"` // 下一条命令前累计的终端输出字节数,nil=历史未统计 // Logan.Li Timestamp time.Time `json:"timestamp"` // 命令执行时间 CreatedAt time.Time `json:"created_at"` } func (SessionCommand) TableName() string { return "audit_session_commands" } // SessionCommandQuery 会话命令查询 // Logan.Li type SessionCommandQuery struct { SessionID uint `form:"session_id"` Username string `form:"username"` ServerID uint `form:"server_id"` Command string `form:"command"` StartDate string `form:"start_date"` // YYYY-MM-DD EndDate string `form:"end_date"` Page int `form:"page,default=1"` PageSize int `form:"page_size,default=20"` }