refactor(access): centralize configaccess.Register and remove redundant calls

- Added centralized `configaccess.Register` invocation in `server` initialization.
- Removed duplicate `Register` calls from `reconcile.go` and `builder.go`.
- Simplified logic by removing unnecessary `nil` checks in provider entry collection.
This commit is contained in:
Luis Pater
2025-09-27 16:24:15 +08:00
parent 6557d9b728
commit 1dbb930660
3 changed files with 7 additions and 11 deletions

View File

@@ -9,6 +9,7 @@ import (
"os" "os"
"path/filepath" "path/filepath"
configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access"
"github.com/router-for-me/CLIProxyAPI/v6/internal/cmd" "github.com/router-for-me/CLIProxyAPI/v6/internal/cmd"
"github.com/router-for-me/CLIProxyAPI/v6/internal/config" "github.com/router-for-me/CLIProxyAPI/v6/internal/config"
"github.com/router-for-me/CLIProxyAPI/v6/internal/logging" "github.com/router-for-me/CLIProxyAPI/v6/internal/logging"
@@ -66,7 +67,7 @@ func main() {
return return
} }
s := fmt.Sprintf(" -%s", f.Name) s := fmt.Sprintf(" -%s", f.Name)
name, usage := flag.UnquoteUsage(f) name, unquoteUsage := flag.UnquoteUsage(f)
if name != "" { if name != "" {
s += " " + name s += " " + name
} }
@@ -75,8 +76,8 @@ func main() {
} else { } else {
s += "\n " s += "\n "
} }
if usage != "" { if unquoteUsage != "" {
s += usage s += unquoteUsage
} }
if f.DefValue != "" && f.DefValue != "false" && f.DefValue != "0" { if f.DefValue != "" && f.DefValue != "false" && f.DefValue != "0" {
s += fmt.Sprintf(" (default %s)", f.DefValue) s += fmt.Sprintf(" (default %s)", f.DefValue)
@@ -136,6 +137,9 @@ func main() {
// Register the shared token store once so all components use the same persistence backend. // Register the shared token store once so all components use the same persistence backend.
sdkAuth.RegisterTokenStore(sdkAuth.NewFileTokenStore()) sdkAuth.RegisterTokenStore(sdkAuth.NewFileTokenStore())
// Register built-in access providers before constructing services.
configaccess.Register()
// Handle different command modes based on the provided flags. // Handle different command modes based on the provided flags.
if login { if login {

View File

@@ -6,7 +6,6 @@ import (
"sort" "sort"
"strings" "strings"
configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access"
"github.com/router-for-me/CLIProxyAPI/v6/internal/config" "github.com/router-for-me/CLIProxyAPI/v6/internal/config"
sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access" sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access"
sdkConfig "github.com/router-for-me/CLIProxyAPI/v6/sdk/config" sdkConfig "github.com/router-for-me/CLIProxyAPI/v6/sdk/config"
@@ -22,8 +21,6 @@ func ReconcileProviders(oldCfg, newCfg *config.Config, existing []sdkaccess.Prov
return nil, nil, nil, nil, nil return nil, nil, nil, nil, nil
} }
configaccess.Register()
existingMap := make(map[string]sdkaccess.Provider, len(existing)) existingMap := make(map[string]sdkaccess.Provider, len(existing))
for _, provider := range existing { for _, provider := range existing {
if provider == nil { if provider == nil {
@@ -206,9 +203,6 @@ func accessProviderMap(cfg *config.Config) map[string]*sdkConfig.AccessProvider
func collectProviderEntries(cfg *config.Config) []*sdkConfig.AccessProvider { func collectProviderEntries(cfg *config.Config) []*sdkConfig.AccessProvider {
entries := make([]*sdkConfig.AccessProvider, 0, len(cfg.Access.Providers)) entries := make([]*sdkConfig.AccessProvider, 0, len(cfg.Access.Providers))
if cfg == nil {
return entries
}
for i := range cfg.Access.Providers { for i := range cfg.Access.Providers {
providerCfg := &cfg.Access.Providers[i] providerCfg := &cfg.Access.Providers[i]
if providerCfg.Type == "" { if providerCfg.Type == "" {

View File

@@ -6,7 +6,6 @@ package cliproxy
import ( import (
"fmt" "fmt"
configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access"
"github.com/router-for-me/CLIProxyAPI/v6/internal/api" "github.com/router-for-me/CLIProxyAPI/v6/internal/api"
"github.com/router-for-me/CLIProxyAPI/v6/internal/config" "github.com/router-for-me/CLIProxyAPI/v6/internal/config"
sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access" sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access"
@@ -185,7 +184,6 @@ func (b *Builder) Build() (*Service, error) {
if accessManager == nil { if accessManager == nil {
accessManager = sdkaccess.NewManager() accessManager = sdkaccess.NewManager()
} }
configaccess.Register()
providers, err := sdkaccess.BuildProviders(&b.cfg.SDKConfig) providers, err := sdkaccess.BuildProviders(&b.cfg.SDKConfig)
if err != nil { if err != nil {