Files
platform/web/models/client.go
2026-04-11 10:19:43 +08:00

47 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 models
import (
"platform/web/core"
)
// Client 客户端表
type Client struct {
core.Model
ClientID string `json:"client_id" gorm:"column:client_id"` // OAuth2客户端标识符
ClientSecret string `json:"-" gorm:"column:client_secret"` // OAuth2客户端密钥
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-官方
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 // 官方
)