mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
feat(api): add ManagementTokenRequester interface for management token request endpoints
This commit is contained in:
@@ -59,6 +59,11 @@ func NewHandler(cfg *config.Config, configFilePath string, manager *coreauth.Man
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewHandler creates a new management handler instance.
|
||||||
|
func NewHandlerWithoutConfigFilePath(cfg *config.Config, manager *coreauth.Manager) *Handler {
|
||||||
|
return NewHandler(cfg, "", manager)
|
||||||
|
}
|
||||||
|
|
||||||
// SetConfig updates the in-memory config reference when the server hot-reloads.
|
// SetConfig updates the in-memory config reference when the server hot-reloads.
|
||||||
func (h *Handler) SetConfig(cfg *config.Config) { h.cfg = cfg }
|
func (h *Handler) SetConfig(cfg *config.Config) { h.cfg = cfg }
|
||||||
|
|
||||||
|
|||||||
62
sdk/api/management.go
Normal file
62
sdk/api/management.go
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
// Package api exposes helpers for embedding CLIProxyAPI.
|
||||||
|
//
|
||||||
|
// It wraps internal management handler types so external projects can integrate
|
||||||
|
// management endpoints without importing internal packages.
|
||||||
|
package api
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
internalmanagement "github.com/router-for-me/CLIProxyAPI/v6/internal/api/handlers/management"
|
||||||
|
coreauth "github.com/router-for-me/CLIProxyAPI/v6/sdk/cliproxy/auth"
|
||||||
|
"github.com/router-for-me/CLIProxyAPI/v6/sdk/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ManagementTokenRequester exposes a limited subset of management endpoints for requesting tokens.
|
||||||
|
type ManagementTokenRequester interface {
|
||||||
|
RequestAnthropicToken(*gin.Context)
|
||||||
|
RequestGeminiCLIToken(*gin.Context)
|
||||||
|
RequestCodexToken(*gin.Context)
|
||||||
|
RequestAntigravityToken(*gin.Context)
|
||||||
|
RequestQwenToken(*gin.Context)
|
||||||
|
RequestIFlowToken(*gin.Context)
|
||||||
|
RequestIFlowCookieToken(*gin.Context)
|
||||||
|
}
|
||||||
|
|
||||||
|
type managementTokenRequester struct {
|
||||||
|
handler *internalmanagement.Handler
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewManagementTokenRequester creates a limited management handler exposing only token request endpoints.
|
||||||
|
func NewManagementTokenRequester(cfg *config.Config, manager *coreauth.Manager) ManagementTokenRequester {
|
||||||
|
return &managementTokenRequester{
|
||||||
|
handler: internalmanagement.NewHandlerWithoutConfigFilePath(cfg, manager),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestAnthropicToken(c *gin.Context) {
|
||||||
|
m.handler.RequestAnthropicToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestGeminiCLIToken(c *gin.Context) {
|
||||||
|
m.handler.RequestGeminiCLIToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestCodexToken(c *gin.Context) {
|
||||||
|
m.handler.RequestCodexToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestAntigravityToken(c *gin.Context) {
|
||||||
|
m.handler.RequestAntigravityToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestQwenToken(c *gin.Context) {
|
||||||
|
m.handler.RequestQwenToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestIFlowToken(c *gin.Context) {
|
||||||
|
m.handler.RequestIFlowToken(c)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *managementTokenRequester) RequestIFlowCookieToken(c *gin.Context) {
|
||||||
|
m.handler.RequestIFlowCookieToken(c)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user