package model

// SysLoginSource 系统第三方认证源 sys_login_source
type SysLoginSource struct {
	Id         int64  `gorm:"column:id;primaryKey;autoIncrement" json:"id"`                      // ID
	UID        string `gorm:"column:uid" json:"uid"`                                             // UID 16位长度字符串
	Type       string `gorm:"column:type" json:"type" binding:"required,oneof=LDAP SMTP OAuth2"` // 认证类型 LDAP SMTP OAuth2
	Name       string `gorm:"column:name" json:"name" binding:"required"`                        // 认证名称
	Icon       string `gorm:"column:icon" json:"icon"`                                           // 图标
	ActiveFlag string `gorm:"column:active_flag" json:"activeFlag"`                              // 激活标记（0未激活 1激活）
	SyncFlag   string `gorm:"column:sync_flag" json:"syncFlag"`                                  // 同步标记（0未同步 1同步）
	Config     string `gorm:"column:config" json:"config" binding:"required"`                    // 配置JSON字符串
	CreateBy   string `gorm:"column:create_by" json:"createBy"`                                  // 创建者
	CreateTime int64  `gorm:"column:create_time" json:"createTime"`                              // 创建时间
	UpdateBy   string `gorm:"column:update_by" json:"updateBy"`                                  // 更新者
	UpdateTime int64  `gorm:"column:update_time" json:"updateTime"`                              // 更新时间
	Remark     string `gorm:"column:remark" json:"remark"`                                       // 备注
}

func (*SysLoginSource) TableName() string {
	return "sys_login_source"
}
