feat: 接口管理代理密钥
This commit is contained in:
@@ -211,6 +211,7 @@ func (s *Server) CreateGroup(c *gin.Context) {
|
||||
ValidationEndpoint: validationEndpoint,
|
||||
ParamOverrides: req.ParamOverrides,
|
||||
Config: cleanedConfig,
|
||||
ProxyKeys: strings.TrimSpace(req.ProxyKeys),
|
||||
}
|
||||
|
||||
if err := s.DB.Create(&group).Error; err != nil {
|
||||
@@ -253,6 +254,7 @@ type GroupUpdateRequest struct {
|
||||
ValidationEndpoint *string `json:"validation_endpoint,omitempty"`
|
||||
ParamOverrides map[string]any `json:"param_overrides"`
|
||||
Config map[string]any `json:"config"`
|
||||
ProxyKeys *string `json:"proxy_keys,omitempty"`
|
||||
}
|
||||
|
||||
// UpdateGroup handles updating an existing group.
|
||||
@@ -351,6 +353,10 @@ func (s *Server) UpdateGroup(c *gin.Context) {
|
||||
group.Config = cleanedConfig
|
||||
}
|
||||
|
||||
if req.ProxyKeys != nil {
|
||||
group.ProxyKeys = strings.TrimSpace(*req.ProxyKeys)
|
||||
}
|
||||
|
||||
// Save the updated group object
|
||||
if err := tx.Save(&group).Error; err != nil {
|
||||
response.Error(c, app_errors.ParseDBError(err))
|
||||
@@ -382,6 +388,7 @@ type GroupResponse struct {
|
||||
ValidationEndpoint string `json:"validation_endpoint"`
|
||||
ParamOverrides datatypes.JSONMap `json:"param_overrides"`
|
||||
Config datatypes.JSONMap `json:"config"`
|
||||
ProxyKeys string `json:"proxy_keys"`
|
||||
LastValidatedAt *time.Time `json:"last_validated_at"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
@@ -412,6 +419,7 @@ func (s *Server) newGroupResponse(group *models.Group) *GroupResponse {
|
||||
ValidationEndpoint: group.ValidationEndpoint,
|
||||
ParamOverrides: group.ParamOverrides,
|
||||
Config: group.Config,
|
||||
ProxyKeys: group.ProxyKeys,
|
||||
LastValidatedAt: group.LastValidatedAt,
|
||||
CreatedAt: group.CreatedAt,
|
||||
UpdatedAt: group.UpdatedAt,
|
||||
|
@@ -21,7 +21,7 @@ type SystemSettings struct {
|
||||
AppUrl string `json:"app_url" default:"http://localhost:3001" name:"项目地址" category:"基础参数" desc:"项目的基础 URL,用于拼接分组终端节点地址。系统配置优先于环境变量 APP_URL。"`
|
||||
RequestLogRetentionDays int `json:"request_log_retention_days" default:"7" name:"日志保留时长(天)" category:"基础参数" desc:"请求日志在数据库中的保留天数,0为不清理日志。" validate:"min=0"`
|
||||
RequestLogWriteIntervalMinutes int `json:"request_log_write_interval_minutes" default:"1" name:"日志延迟写入周期(分钟)" category:"基础参数" desc:"请求日志从缓存写入数据库的周期(分钟),0为实时写入数据。" validate:"min=0"`
|
||||
ProxyKeys string `json:"proxy_keys" name:"全局代理密钥" category:"基础参数" desc:"全局代理密钥,用于访问所有代理端点。多个密钥请用逗号分隔。"`
|
||||
ProxyKeys string `json:"proxy_keys" name:"全局代理密钥" category:"基础参数" desc:"全局代理密钥,用于访问所有分组的代理端点。多个密钥请用逗号分隔。"`
|
||||
|
||||
// 请求设置
|
||||
RequestTimeout int `json:"request_timeout" default:"600" name:"请求超时(秒)" category:"请求设置" desc:"转发请求的完整生命周期超时(秒)等。" validate:"min=1"`
|
||||
|
Reference in New Issue
Block a user