0794474c04
- 新增 BaseModel 结构体,包含统一主键和时间字段 - 定义 JanusProvider、JanusModel、Channel、APIKey 四个业务模型结构 - 引入 Status 枚举表示启用/禁用状态 - 完成对应数据库建表 SQL 迁移脚本 - 新增 router 包及 API 健康检查路由注册实现 - 优化 main.go,使用 router 包统一路由注册管理 - 补充模型中字段的 GORM 和 JSON 标签规范
24 lines
629 B
Go
24 lines
629 B
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"synoth.com/janus/internal/core"
|
|
"synoth.com/janus/internal/enum"
|
|
)
|
|
|
|
// APIKey 调用方认证密钥
|
|
type APIKey struct {
|
|
core.BaseModel
|
|
// Key API密钥字符串
|
|
Key string `gorm:"uniqueIndex;size:64;not null" json:"key"`
|
|
// Name 密钥名称/用途描述
|
|
Name string `gorm:"size:100;not null" json:"name"`
|
|
// RateLimit 每分钟请求数上限
|
|
RateLimit int `gorm:"default:60;not null" json:"rate_limit"`
|
|
// Status 密钥状态
|
|
Status enum.Status `gorm:"default:1;not null" json:"status"`
|
|
// ExpiredAt 过期时间(NULL=永不过期)
|
|
ExpiredAt *time.Time `json:"expired_at"`
|
|
}
|