package model import ( "next-terminal/server/common" ) type Session struct { ID string `gorm:"primary_key,type:varchar(36)" json:"id"` Protocol string `gorm:"type:varchar(20)" json:"protocol"` IP string `gorm:"type:varchar(200)" json:"ip"` Port int `json:"port"` ConnectionId string `gorm:"type:varchar(50)" json:"connectionId"` AssetId string `gorm:"index,type:varchar(36)" json:"assetId"` Username string `gorm:"type:varchar(200)" json:"username"` Password string `gorm:"type:varchar(500)" json:"password"` Creator string `gorm:"index,type:varchar(36)" json:"creator"` ClientIP string `gorm:"type:varchar(200)" json:"clientIp"` Width int `json:"width"` Height int `json:"height"` Status string `gorm:"index,type:varchar(20)" json:"status"` Recording string `gorm:"type:varchar(1000)" json:"recording"` PrivateKey string `gorm:"type:text" json:"privateKey"` Passphrase string `gorm:"type:varchar(500)" json:"passphrase"` Code int `json:"code"` Message string `json:"message"` ConnectedTime common.JsonTime `json:"connectedTime"` DisconnectedTime common.JsonTime `json:"disconnectedTime"` Mode string `gorm:"type:varchar(10)" json:"mode"` FileSystem string `gorm:"type:varchar(1)" json:"fileSystem"` // 1 = true, 0 = false Upload string `gorm:"type:varchar(1)" json:"upload"` Download string `gorm:"type:varchar(1)" json:"download"` Delete string `gorm:"type:varchar(1)" json:"delete"` Rename string `gorm:"type:varchar(1)" json:"rename"` Edit string `gorm:"type:varchar(1)" json:"edit"` CreateDir string `gorm:"type:varchar(1)" json:"createDir"` Copy string `gorm:"type:varchar(1)" json:"copy"` Paste string `gorm:"type:varchar(1)" json:"paste"` StorageId string `gorm:"type:varchar(36)" json:"storageId"` AccessGatewayId string `gorm:"type:varchar(36)" json:"accessGatewayId"` Reviewed bool `gorm:"type:tinyint(1)" json:"reviewed"` CommandCount int64 `json:"commandCount"` } func (r *Session) TableName() string { return "sessions" } type SessionForPage struct { ID string `json:"id" gorm:"column:id"` Protocol string `json:"protocol" gorm:"column:protocol"` IP string `json:"ip" gorm:"column:ip"` Port int `json:"port" gorm:"column:port"` Username string `json:"username" gorm:"column:username"` ConnectionId string `json:"connectionId" gorm:"column:connection_id"` AssetId string `json:"assetId" gorm:"column:asset_id"` Creator string `json:"userId" gorm:"column:creator"` ClientIP string `json:"clientIp" gorm:"column:client_ip"` Width int `json:"width" gorm:"column:width"` Height int `json:"height" gorm:"column:height"` Status string `json:"status" gorm:"column:status"` Recording string `json:"recording" gorm:"column:recording"` ConnectedTime common.JsonTime `json:"connectedAt" gorm:"column:connected_time"` DisconnectedTime common.JsonTime `json:"disconnectedAt" gorm:"column:disconnected_time"` AssetName string `json:"assetName" gorm:"column:asset_name"` CreatorName string `json:"userAccount" gorm:"column:creator_name"` Code int `json:"code" gorm:"column:code"` Message string `json:"message" gorm:"column:message"` Mode string `json:"mode" gorm:"column:mode"` Reviewed bool `json:"reviewed" gorm:"column:reviewed"` CommandCount int64 `json:"commandCount" gorm:"column:command_count"` ConnectionDuration string `json:"connectionDuration" gorm:"-"` } type SessionForAccess struct { AssetId string `json:"assetId"` Protocol string `json:"protocol"` IP string `json:"ip"` Port int `json:"port"` Username string `json:"username"` AccessCount int64 `json:"accessCount"` }