Files

47 lines
1.6 KiB
Go
Raw Permalink Normal View History

package models
import (
"platform/web/core"
)
// Client 客户端表
type Client struct {
core.Model
2025-12-15 14:48:30 +08:00
ClientID string `json:"client_id" gorm:"column:client_id"` // OAuth2客户端标识符
2026-04-11 09:51:25 +08:00
ClientSecret string `json:"-" gorm:"column:client_secret"` // OAuth2客户端密钥
2025-12-15 14:48:30 +08:00
RedirectURI *string `json:"redirect_uri,omitempty" gorm:"column:redirect_uri"` // OAuth2 重定向URI
Spec ClientSpec `json:"spec" gorm:"column:spec"` // 安全规范1-native2-browser3-web4-api
Name string `json:"name" gorm:"column:name"` // 名称
Icon *string `json:"icon,omitempty" gorm:"column:icon"` // 图标URL
Status ClientStatus `json:"status" gorm:"column:status"` // 状态0-禁用1-正常
Type ClientType `json:"type" gorm:"column:type"` // 类型0-普通1-官方
2026-03-18 18:09:32 +08:00
Permissions []*Permission `json:"permissions" gorm:"many2many:link_client_permission"`
}
// ClientSpec 客户端安全规范枚举
type ClientSpec int
const (
ClientSpecNative ClientSpec = 1 // native
ClientSpecBrowser ClientSpec = 2 // browser
ClientSpecWeb ClientSpec = 3 // web
ClientSpecAPI ClientSpec = 4 // api
)
// ClientStatus 客户端状态枚举
type ClientStatus int
const (
ClientStatusDisabled ClientStatus = 0 // 禁用
ClientStatusEnabled ClientStatus = 1 // 正常
)
// ClientType 客户端类型枚举
type ClientType int
const (
ClientTypeNormal ClientType = 0 // 普通
ClientTypeOfficial ClientType = 1 // 官方
)