Files
aiops/backend/model/session_command.go
2026-07-09 14:16:56 +08:00

35 lines
1.4 KiB
Go

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"`
}