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

41 lines
1.6 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package model
import "time"
// TerminalSession SSH终端会话记录(JumpServer 式终端审计) // Logan.Li
type TerminalSession 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"`
Status string `gorm:"size:32" json:"status"` // active, closed, failed
Duration int `json:"duration"` // seconds
RecordData string `gorm:"type:mediumtext" json:"-"` // 终端录制原始输出(asciicast v2 格式,max 16MB)
RecordSize int `json:"record_size"` // 录制字节数
StartTime time.Time `json:"start_time"`
EndTime *time.Time `json:"end_time"`
CreatedAt time.Time `json:"created_at"`
}
// TableName 表名
func (TerminalSession) TableName() string {
return "audit_terminal_sessions"
}
// TerminalSessionQuery 终端会话查询 // Logan.Li
type TerminalSessionQuery struct {
ServerID uint `form:"server_id"`
Username string `form:"username"`
Status string `form:"status"`
Keyword string `form:"keyword"` // 模糊匹配用户/主机名/IP/客户端IP
StartDate string `form:"start_date"` // YYYY-MM-DD
EndDate string `form:"end_date"` // YYYY-MM-DD
HasRecord string `form:"has_record"` // 1/true 仅含录制
Page int `form:"page,default=1"`
PageSize int `form:"page_size,default=20"`
}