Documentation
¶
Index ¶
- func AddInnerAdminUser() error
- func AddInnerAdminUserGroup() error
- func AutoMigrate() error
- func FixClusterAuthorizationTypeName() error
- func FixClusterName() error
- func FixRoleName() error
- func InitConditionTable() error
- func InitConfigTable() error
- type ClusterUserRole
- func (c *ClusterUserRole) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *ClusterUserRole) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*ClusterUserRole, error)
- func (c *ClusterUserRole) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*ClusterUserRole, int64, error)
- func (c *ClusterUserRole) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type ConditionReverse
- func (c *ConditionReverse) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *ConditionReverse) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*ConditionReverse, error)
- func (c *ConditionReverse) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*ConditionReverse, int64, error)
- func (c *ConditionReverse) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type Config
- func (c *Config) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *Config) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*Config, error)
- func (c *Config) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*Config, int64, error)
- func (c *Config) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type CustomTemplate
- func (c *CustomTemplate) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *CustomTemplate) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*CustomTemplate, error)
- func (c *CustomTemplate) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*CustomTemplate, int64, error)
- func (c *CustomTemplate) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type KubeConfig
- func (c *KubeConfig) AfterFind(tx *gorm.DB) error
- func (c *KubeConfig) BeforeSave(tx *gorm.DB) error
- func (c *KubeConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *KubeConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*KubeConfig, error)
- func (c *KubeConfig) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*KubeConfig, int64, error)
- func (c *KubeConfig) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type LDAPConfig
- func (l *LDAPConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (l *LDAPConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*LDAPConfig, error)
- func (l *LDAPConfig) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*LDAPConfig, int64, error)
- func (l *LDAPConfig) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type Menu
- func (m *Menu) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (m *Menu) DeleteByID(id int) error
- func (m *Menu) GetLatest(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*Menu, error)
- func (m *Menu) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*Menu, error)
- func (m *Menu) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*Menu, int64, error)
- func (m *Menu) MarshalJSON() ([]byte, error)
- func (c *Menu) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (m *Menu) UnmarshalJSON(data []byte) error
- type MenuDataJSON
- type OperationLog
- func (c *OperationLog) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *OperationLog) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*OperationLog, error)
- func (c *OperationLog) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*OperationLog, int64, error)
- func (c *OperationLog) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type PluginConfig
- func (p *PluginConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (p *PluginConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*PluginConfig, error)
- func (p *PluginConfig) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*PluginConfig, int64, error)
- func (p *PluginConfig) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (p *PluginConfig) SaveByName(params *dao.Params) error
- type SSOConfig
- func (s *SSOConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (s *SSOConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*SSOConfig, error)
- func (s *SSOConfig) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*SSOConfig, int64, error)
- func (s *SSOConfig) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type ShellLog
- func (c *ShellLog) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *ShellLog) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*ShellLog, error)
- func (c *ShellLog) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*ShellLog, int64, error)
- func (c *ShellLog) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- type User
- func (c *User) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *User) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*User, error)
- func (c *User) IsDisabled(username string) (bool, error)
- func (c *User) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*User, int64, error)
- func (c *User) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *User) UpdateColumn(columnName string, value any) error
- type UserGroup
- func (c *UserGroup) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
- func (c *UserGroup) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*UserGroup, error)
- func (c *UserGroup) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*UserGroup, int64, error)
- func (c *UserGroup) Save(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddInnerAdminUser ¶ added in v0.0.97
func AddInnerAdminUser() error
AddInnerAdminUser 添加内置管理员账户
func AddInnerAdminUserGroup ¶ added in v0.0.97
func AddInnerAdminUserGroup() error
AddInnerAdminUserGroup 添加内置管理员账户组
func AutoMigrate ¶
func AutoMigrate() error
func FixClusterAuthorizationTypeName ¶ added in v0.0.87
func FixClusterAuthorizationTypeName() error
func FixClusterName ¶ added in v0.0.48
func FixClusterName() error
func FixRoleName ¶ added in v0.0.69
func FixRoleName() error
func InitConditionTable ¶ added in v0.0.86
func InitConditionTable() error
func InitConfigTable ¶ added in v0.0.74
func InitConfigTable() error
Types ¶
type ClusterUserRole ¶ added in v0.0.69
type ClusterUserRole struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
Cluster string `gorm:"index" json:"cluster,omitempty"` // 集群名称
Username string `gorm:"index" json:"username,omitempty"` // 用户名
Role string `gorm:"index" json:"role,omitempty"` // 角色类型:只读、读写、Exec
Namespaces string `json:"namespaces,omitempty"` // Namespaces列表,逗号分割 ,该用户可以访问的Ns
BlacklistNamespaces string `json:"blacklist_namespaces,omitempty"` // 黑名单Namespaces列表,逗号分割,禁止访问的Ns
AuthorizationType constants.ClusterAuthorizationType `json:"authorization_type,omitempty"` // 用户类型。User\Group两种,默认为User,空为User。Group指用户组
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
ClusterUserRole 集群用户权限表 AuthorizationType有两种类型(user、user_group),如果是用户,那么代表这个人有哪些权限 如果是Group,那么代表这个组有哪些权限,这个组可能会有多个用户,那么这多个用户都有相关的权限
func (*ClusterUserRole) GetOne ¶ added in v0.0.69
func (c *ClusterUserRole) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*ClusterUserRole, error)
type ConditionReverse ¶ added in v0.0.86
type ConditionReverse struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
Name string `gorm:"type:text" json:"name,omitempty"` // 指标名称,使用包含方式查找。如Pressure、Unavailable等
Enabled bool `json:"enabled,omitempty"` // 指标描述
Description string `gorm:"type:text" json:"description,omitempty"` // 指标描述
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // 更新时间
}
ConditionReverse 用于记录需要反转解释的K8s状态指标
func (*ConditionReverse) Delete ¶ added in v0.0.86
func (c *ConditionReverse) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
Delete 删除记录
func (*ConditionReverse) GetOne ¶ added in v0.0.86
func (c *ConditionReverse) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*ConditionReverse, error)
GetOne 获取单条记录
type Config ¶ added in v0.0.74
type Config struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
ProductName string `json:"product_name,omitempty"` // 产品名称
LoginType string `json:"login_type,omitempty"`
JwtTokenSecret string `json:"jwt_token_secret,omitempty"`
NodeShellImage string `json:"node_shell_image,omitempty"`
KubectlShellImage string `json:"kubectl_shell_image,omitempty"`
ImagePullTimeout int `gorm:"default:30" json:"image_pull_timeout,omitempty"` // 镜像拉取超时时间(秒)
PrintConfig bool `json:"print_config"`
ResourceCacheTimeout int `gorm:"default:60" json:"resource_cache_timeout,omitempty"` // 资源缓存时间(秒)
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
}
type CustomTemplate ¶
type CustomTemplate struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"` // 模板 ID,主键,自增
Name string `gorm:"index" json:"name,omitempty"` // 模板名称,非空,最大长度 255
Content string `gorm:"type:text" json:"content,omitempty"` // 模板内容,支持大文本存储
Kind string `gorm:"index" json:"kind,omitempty"` // 模板类型,最大长度 100
Cluster string `gorm:"index" json:"cluster,omitempty"` // 模板类型,最大长度 100
IsGlobal bool `gorm:"index" json:"is_global,omitempty"` // 模板类型,最大长度 100
CreatedBy string `gorm:"index" json:"created_by,omitempty"` // 创建者
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
}
CustomTemplate 表示用户自定义模板表的结构体
func (*CustomTemplate) GetOne ¶
func (c *CustomTemplate) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*CustomTemplate, error)
type KubeConfig ¶
type KubeConfig struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"` // 模板 ID,主键,自增
Content string `gorm:"type:text" json:"content,omitempty"` // 模板内容,支持大文本存储
Server string `json:"server,omitempty"`
User string `json:"user,omitempty"`
Cluster string `json:"cluster,omitempty"` // 类型,最大长度 100
Namespace string `json:"namespace,omitempty"`
DisplayName string `json:"display_name,omitempty"`
// aws 集群相关
AccessKey string `json:"-"` // AWS Access Key ID
SecretAccessKey string `json:"-"` // AWS Secret Access Key
ClusterName string `json:"cluster_name"` // AWS EKS 集群名称
Region string `json:"region"` // AWS 区域
IsAWSEKS bool `json:"is_aws_eks,omitempty"` // 标识是否为AWS EKS集群
// token 纳管相关 server\token\cadata
Token string `gorm:"type:text" json:"token,omitempty"` // token 内容,支持大文本存储
CACert string `gorm:"type:text" json:"ca_data,omitempty"` // ca 证书内容,支持大文本存储
// kom 集群注册配置项
// ProxyURL 设置 HTTP 代理,例如 http://127.0.0.1:7890
ProxyURL string `gorm:"type:varchar(255)" json:"proxy_url,omitempty"`
// Timeout 设置请求超时时间,单位为秒,默认为 30 秒
Timeout int `gorm:"default:30" json:"timeout,omitempty"`
// QPS 设置每秒查询数限制,默认为 200
QPS float32 `gorm:"default:200" json:"qps,omitempty"`
// Burst 设置突发请求数限制,默认为 2000
Burst int `gorm:"default:2000" json:"burst,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
}
KubeConfig 用户导入kubeconfig
func (*KubeConfig) AfterFind ¶ added in v0.0.153
func (c *KubeConfig) AfterFind(tx *gorm.DB) error
AfterFind 在查询后解密敏感字段
func (*KubeConfig) BeforeSave ¶ added in v0.0.153
func (c *KubeConfig) BeforeSave(tx *gorm.DB) error
BeforeSave 在保存前加密敏感字段
func (*KubeConfig) GetOne ¶
func (c *KubeConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*KubeConfig, error)
type LDAPConfig ¶ added in v0.0.148
type LDAPConfig struct {
ID uint `gorm:"primaryKey" json:"id"`
Name string `gorm:"size:50;not null" json:"name"` // 配置名称
Host string `gorm:"size:100;not null" json:"host"` // 服务器地址
Port int `gorm:"not null" json:"port"` // 端口
BindDN string `gorm:"size:100;not null" json:"bind_dn"` // 管理员DN
BindPassword string `gorm:"not null" json:"bind_password,omitempty"` // 管理员密码(加密存储)
BaseDN string `gorm:"size:100;not null" json:"base_dn"` // 基础DN
UserFilter string `gorm:"size:255" json:"user_filter"` // 用户过滤器
LOGIN2AUTHCLOSE bool `gorm:"default:true" json:"login2_auth_close"` // 登录后开启认证
DefaultGroup string `gorm:"size:50" json:"default_group"` // 默认用户组
Enabled bool `gorm:"default:true" json:"enabled"` // 启用状态
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at"`
}
func (*LDAPConfig) Delete ¶ added in v0.0.148
func (l *LDAPConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
Delete 删除记录
func (*LDAPConfig) GetOne ¶ added in v0.0.148
func (l *LDAPConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*LDAPConfig, error)
GetOne 获取单条记录
type Menu ¶ added in v0.0.149
type Menu struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
MenuData string `gorm:"type:text" json:"-"`
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
Menu represents a versioned menu structure. Each save operation creates a new record with an incremented version.
func (*Menu) DeleteByID ¶ added in v0.0.149
DeleteByID removes a single menu record by its ID.
func (*Menu) List ¶ added in v0.0.149
func (m *Menu) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*Menu, int64, error)
List retrieves a list of menu versions based on parameters.
func (*Menu) MarshalJSON ¶ added in v0.0.149
MarshalJSON 自定义JSON序列化方法 将存储在数据库中的字符串转换为JSON对象
func (*Menu) UnmarshalJSON ¶ added in v0.0.149
UnmarshalJSON 自定义JSON反序列化方法 将接收到的JSON数据转换为字符串存储
type MenuDataJSON ¶ added in v0.0.149
type MenuDataJSON struct {
ID uint `json:"id,omitempty"`
MenuData any `json:"menu_data,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}
MenuDataJSON 用于处理JSON序列化和反序列化
type OperationLog ¶
type OperationLog struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"` // 模板 ID,主键,自增
UserName string `json:"username,omitempty"`
Role string `json:"role,omitempty"`
Cluster string `gorm:"index" json:"cluster,omitempty"`
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
Group string `json:"group,omitempty"` // 资源group
Kind string `json:"kind,omitempty"` // 资源kind
Action string `json:"action,omitempty"` // 操作类型
Params string `gorm:"type:text" json:"params,omitempty"` // 操作参数
ActionResult string `json:"action_result,omitempty"` // 操作结果
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"` // Automatically managed by GORM for creation time
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
}
OperationLog 用户导入OperationLog
func (*OperationLog) GetOne ¶
func (c *OperationLog) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*OperationLog, error)
type PluginConfig ¶ added in v0.26.1
type PluginConfig struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
Name string `gorm:"uniqueIndex;not null" json:"name,omitempty"` // 插件名称,唯一
Status string `gorm:"type:varchar(32);not null" json:"status,omitempty"` // 状态:discovered/installed/enabled/disabled
Version string `gorm:"type:varchar(64)" json:"version,omitempty"` // 当前数据库记录的插件版本
Description string `json:"description,omitempty"` // 描述信息
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
CreatedBy string `json:"created_by,omitempty"`
}
PluginConfig 插件状态持久化模型 用于记录插件的配置状态(已发现/已安装/已启用/已禁用),启动时根据该表动态应用
func (*PluginConfig) Delete ¶ added in v0.26.1
func (p *PluginConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
Delete 删除记录 支持批量删除
func (*PluginConfig) GetOne ¶ added in v0.26.1
func (p *PluginConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*PluginConfig, error)
GetOne 获取单条记录 支持自定义查询函数
func (*PluginConfig) List ¶ added in v0.26.1
func (p *PluginConfig) List(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) ([]*PluginConfig, int64, error)
List 列出所有记录 支持动态查询与分页
func (*PluginConfig) SaveByName ¶ added in v0.26.1
func (p *PluginConfig) SaveByName(params *dao.Params) error
SaveByName 根据名称进行保存或更新 若名称已存在则更新该记录,否则创建新记录
type SSOConfig ¶ added in v0.0.92
type SSOConfig struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
Name string `json:"name,omitempty"` // 配置名称
Type string `gorm:"default:oidc" json:"type,omitempty"` // 配置类型
ClientID string `gorm:"type:text;" json:"client_id,omitempty"` // OAuth2客户端ID
ClientSecret string `gorm:"type:text;" json:"client_secret,omitempty"` // OAuth2客户端密钥
Issuer string `gorm:"type:text;" json:"issuer,omitempty"` // 认证服务器地址
Enabled bool `gorm:"default:false" json:"enabled,omitempty"` // 是否启用SSO
PreferUserNameKeys string `gorm:"type:text;" json:"prefer_user_name_keys,omitempty"` // 用户自定义获取用户名的字段顺序,适用于如果用户名字段不在默认字段中情况
Scopes string `gorm:"type:text;" json:"scopes,omitempty"` // 授权范围
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // 更新时间
}
SSOConfig SSO配置表
func (*SSOConfig) Delete ¶ added in v0.0.92
func (s *SSOConfig) Delete(params *dao.Params, ids string, queryFuncs ...func(*gorm.DB) *gorm.DB) error
Delete 删除记录
func (*SSOConfig) GetOne ¶ added in v0.0.92
func (s *SSOConfig) GetOne(params *dao.Params, queryFuncs ...func(*gorm.DB) *gorm.DB) (*SSOConfig, error)
GetOne 获取单条记录
type ShellLog ¶
type ShellLog struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"` // 模板 ID,主键,自增
UserName string `json:"username,omitempty"`
Cluster string `json:"cluster,omitempty"`
Namespace string `json:"namespace,omitempty"`
PodName string `json:"pod_name,omitempty"`
ContainerName string `json:"container_name,omitempty"`
Command string `json:"command,omitempty"` // shell 执行命令
Role string `json:"role,omitempty"`
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
}
ShellLog 用户导入ShellLog
type User ¶
type User struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
Username string `gorm:"type:varchar(255);uniqueIndex;not null" json:"username,omitempty"`
Salt string `gorm:"not null" json:"salt,omitempty"`
Password string `gorm:"not null" json:"password,omitempty"`
GroupNames string `json:"group_names,omitempty"`
Source string `json:"source,omitempty"` // 来源,如:db, ldap_config.json, oauth
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"` // Automatically managed by GORM for update time
TwoFAEnabled bool `gorm:"default:false" json:"two_fa_enabled,omitempty"` // 是否启用2FA
TwoFAType string `gorm:"size:20" json:"two_fa_type,omitempty"` // 2FA类型:如 'totp', 'sms', 'email'
TwoFASecret string `gorm:"size:100" json:"two_fa_secret,omitempty"` // 2FA密钥
TwoFABackupCodes string `gorm:"size:500" json:"two_fa_backup_codes,omitempty"` // 备用恢复码,逗号分隔
TwoFAAppName string `gorm:"size:100" json:"two_fa_app_name,omitempty"` // 2FA应用名称,用于提醒用户使用的是哪个软件
Disabled bool `gorm:"default:false" json:"disabled,omitempty"` // 是否启用
}
User 用户导入User
func (*User) IsDisabled ¶ added in v0.0.132
type UserGroup ¶ added in v0.0.55
type UserGroup struct {
ID uint `gorm:"primaryKey;autoIncrement" json:"id,omitempty"`
GroupName string `gorm:"index" json:"group_name,omitempty"`
Description string `json:"description,omitempty"`
Role string `gorm:"index" json:"role,omitempty"` // 管理员/只读
MenuData string `gorm:"type:text" json:"menu_data"`
CreatedAt time.Time `json:"created_at,omitempty" gorm:"<-:create"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
}