refactor(admin): inline nil-check helpers, remove redundant cached fields
cognitive committed
Mar 5, 2026 at 02:22 UTC
f09ef53fe8e6f8f4bd1c81b2aa2a5832dc5f96a2
3 files changed
+21
-35
cmd/relay-server/admin.go
+7
-15
@@ -13,21 +13,13 @@ import (
13
type Admin struct {
14
service *portaladmin.Service
15
handler *portaladmin.Handler
16
-
17
- // Kept for existing call sites in cmd package (for example lease row conversion).
18
- approveManager *policy.Approver
19
- bpsManager *policy.RateLimiter
20
- ipManager *policy.IPFilter
16
}
17
18
func NewAdmin(defaultLeaseBPS int64, frontend *Frontend, authManager *policy.Authenticator, portalURL string, trustProxy bool) *Admin {
19
service := portaladmin.NewService(defaultLeaseBPS, authManager)
20
normalizedPortalURL := strings.TrimSpace(portalURL)
21
admin := &Admin{
27
- service: service,
28
- approveManager: service.GetApproveManager(),
29
- bpsManager: service.GetBPSManager(),
30
- ipManager: service.GetIPManager(),
22
+ service: service,
23
}
24
25
serveStatic := func(w http.ResponseWriter, r *http.Request, appPath string, serv *portal.RelayServer) {
@@ -58,26 +50,26 @@ func NewAdmin(defaultLeaseBPS int64, frontend *Frontend, authManager *policy.Aut
50
51
// GetApproveManager exposes the approval manager.
52
func (a *Admin) GetApproveManager() *policy.Approver {
61
- if a == nil {
53
+ if a == nil || a.service == nil {
54
return nil
55
}
64
- return a.approveManager
56
+ return a.service.GetApproveManager()
57
}
58
59
// GetBPSManager exposes the BPS manager.
60
func (a *Admin) GetBPSManager() *policy.RateLimiter {
69
- if a == nil {
61
+ if a == nil || a.service == nil {
62
return nil
63
}
72
- return a.bpsManager
64
+ return a.service.GetBPSManager()
65
}
66
67
// GetIPManager exposes the IP manager.
68
func (a *Admin) GetIPManager() *policy.IPFilter {
77
- if a == nil {
69
+ if a == nil || a.service == nil {
70
return nil
71
}
80
- return a.ipManager
72
+ return a.service.GetIPManager()
73
}
74
75
func (a *Admin) SetSettingsPath(path string) {
cmd/relay-server/utils.go
+7
-5
@@ -215,13 +215,15 @@ func (r *leaseRow) fromLeaseEntry(entry *types.LeaseEntry, admin *Admin, portalU
215
r.BPS = bps
216
217
if admin != nil {
218
- r.IsApproved = admin.approveManager.GetApprovalMode() == policy.ModeAuto || admin.approveManager.IsLeaseApproved(identityID)
219
- r.IsDenied = admin.approveManager.IsLeaseDenied(identityID)
218
+ if approveMgr := admin.GetApproveManager(); approveMgr != nil {
219
+ r.IsApproved = approveMgr.GetApprovalMode() == policy.ModeAuto || approveMgr.IsLeaseApproved(identityID)
220
+ r.IsDenied = approveMgr.IsLeaseDenied(identityID)
221
+ }
222
221
- if admin.ipManager != nil {
222
- r.IP = admin.ipManager.GetLeaseIP(identityID)
223
+ if ipMgr := admin.GetIPManager(); ipMgr != nil {
224
+ r.IP = ipMgr.GetLeaseIP(identityID)
225
if r.IP != "" {
224
- r.IsIPBanned = admin.ipManager.IsIPBanned(r.IP)
226
+ r.IsIPBanned = ipMgr.IsIPBanned(r.IP)
227
}
228
}
229
}
portal/admin/service.go
+7
-15
@@ -50,48 +50,40 @@ func NewService(defaultLeaseBPS int64, authManager *policy.Authenticator) *Servi
50
}
51
}
52
53
-func (s *Service) isUnavailable() bool {
54
- return s == nil
55
-}
56
-
57
-func (s *Service) isUnavailableForServer(serv *portal.RelayServer) bool {
58
- return s == nil || serv == nil
59
-}
60
-
53
func (s *Service) authUnavailable() bool {
54
return s == nil || s.authManager == nil || !s.authManager.HasSecretKey()
55
}
56
57
func (s *Service) GetApproveManager() *policy.Approver {
66
- if s.isUnavailable() {
58
+ if s == nil {
59
return nil
60
}
61
return s.approveManager
62
}
63
64
func (s *Service) GetBPSManager() *policy.RateLimiter {
73
- if s.isUnavailable() {
65
+ if s == nil {
66
return nil
67
}
68
return s.bpsManager
69
}
70
71
func (s *Service) GetIPManager() *policy.IPFilter {
80
- if s.isUnavailable() {
72
+ if s == nil {
73
return nil
74
}
75
return s.ipManager
76
}
77
78
func (s *Service) GetAuthManager() *policy.Authenticator {
87
- if s.isUnavailable() {
79
+ if s == nil {
80
return nil
81
}
82
return s.authManager
83
}
84
85
func (s *Service) SetSettingsPath(path string) {
94
- if s.isUnavailable() {
86
+ if s == nil {
87
return
88
}
89
s.settingsMu.Lock()
@@ -100,7 +92,7 @@ func (s *Service) SetSettingsPath(path string) {
92
}
93
94
func (s *Service) SaveSettings(serv *portal.RelayServer) {
103
- if s.isUnavailableForServer(serv) {
95
+ if s == nil || serv == nil {
96
return
97
}
98
@@ -152,7 +144,7 @@ func (s *Service) SaveSettings(serv *portal.RelayServer) {
144
}
145
146
func (s *Service) LoadSettings(serv *portal.RelayServer) {
155
- if s.isUnavailableForServer(serv) {
147
+ if s == nil || serv == nil {
148
return
149
}
150