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