diff --git a/management/cmd/management.go b/management/cmd/management.go index ac9503401..cea8dfae9 100644 --- a/management/cmd/management.go +++ b/management/cmd/management.go @@ -171,10 +171,10 @@ var ( log.Infof("geo location service has been initialized from %s", config.Datadir) } - integratedPeerValidator := integrations.NewIntegratedApproval() + integratedPeerApproval := integrations.NewIntegratedApproval() accountManager, err := server.BuildManager(store, peersUpdateManager, idpManager, mgmtSingleAccModeDomain, - dnsDomain, eventStore, geo, userDeleteFromIDPEnabled, integratedPeerValidator) + dnsDomain, eventStore, geo, userDeleteFromIDPEnabled, integratedPeerApproval) if err != nil { return fmt.Errorf("failed to build default manager: %v", err) } @@ -247,7 +247,7 @@ var ( ctx, cancel := context.WithCancel(cmd.Context()) defer cancel() - httpAPIHandler, err := httpapi.APIHandler(ctx, accountManager, geo, *jwtValidator, appMetrics, httpAPIAuthCfg, integratedPeerValidator) + httpAPIHandler, err := httpapi.APIHandler(ctx, accountManager, geo, *jwtValidator, appMetrics, httpAPIAuthCfg) if err != nil { return fmt.Errorf("failed creating HTTP API handler: %v", err) } diff --git a/management/server/account.go b/management/server/account.go index 31b93df74..cfa94bead 100644 --- a/management/server/account.go +++ b/management/server/account.go @@ -384,7 +384,7 @@ func (a *Account) GetGroup(groupID string) *Group { } // GetPeerNetworkMap returns a group by ID if exists, nil otherwise -func (a *Account) GetPeerNetworkMap(peerID, dnsDomain string, integratedValidator integrated_approval.IntegratedApproval) *NetworkMap { +func (a *Account) GetPeerNetworkMap(peerID, dnsDomain string) *NetworkMap { peer := a.Peers[peerID] if peer == nil { return &NetworkMap{ diff --git a/management/server/account_test.go b/management/server/account_test.go index d02774cd4..1e698eb96 100644 --- a/management/server/account_test.go +++ b/management/server/account_test.go @@ -373,7 +373,7 @@ func TestAccount_GetPeerNetworkMap(t *testing.T) { account.Groups[all.ID].Peers = append(account.Groups[all.ID].Peers, peer.ID) } - networkMap := account.GetPeerNetworkMap(testCase.peerID, "netbird.io", MocIntegratedApproval{}) + networkMap := account.GetPeerNetworkMap(testCase.peerID, "netbird.io") assert.Len(t, networkMap.Peers, len(testCase.expectedPeers)) assert.Len(t, networkMap.OfflinePeers, len(testCase.expectedOfflinePeers)) } diff --git a/management/server/http/handler.go b/management/server/http/handler.go index 5e262916f..8549b55fe 100644 --- a/management/server/http/handler.go +++ b/management/server/http/handler.go @@ -12,7 +12,6 @@ import ( s "github.com/netbirdio/netbird/management/server" "github.com/netbirdio/netbird/management/server/geolocation" "github.com/netbirdio/netbird/management/server/http/middleware" - "github.com/netbirdio/netbird/management/server/integrated_approval" "github.com/netbirdio/netbird/management/server/jwtclaims" "github.com/netbirdio/netbird/management/server/telemetry" ) @@ -32,7 +31,6 @@ type apiHandler struct { AccountManager s.AccountManager geolocationManager *geolocation.Geolocation AuthCfg AuthCfg - integratedPeerValidator integrated_approval.IntegratedApproval } // EmptyObject is an empty struct used to return empty JSON object @@ -40,7 +38,7 @@ type emptyObject struct { } // APIHandler creates the Management service HTTP API handler registering all the available endpoints. -func APIHandler(ctx context.Context, accountManager s.AccountManager, LocationManager *geolocation.Geolocation, jwtValidator jwtclaims.JWTValidator, appMetrics telemetry.AppMetrics, authCfg AuthCfg, integratedPeerValidator integrated_approval.IntegratedApproval) (http.Handler, error) { +func APIHandler(ctx context.Context, accountManager s.AccountManager, LocationManager *geolocation.Geolocation, jwtValidator jwtclaims.JWTValidator, appMetrics telemetry.AppMetrics, authCfg AuthCfg) (http.Handler, error) { claimsExtractor := jwtclaims.NewClaimsExtractor( jwtclaims.WithAudience(authCfg.Audience), jwtclaims.WithUserIDClaim(authCfg.UserIDClaim), @@ -75,7 +73,6 @@ func APIHandler(ctx context.Context, accountManager s.AccountManager, LocationMa AccountManager: accountManager, geolocationManager: LocationManager, AuthCfg: authCfg, - integratedPeerValidator: integratedPeerValidator, } if _, err := integrations.RegisterHandlers(ctx, prefix, api.Router, accountManager, claimsExtractor); err != nil { @@ -129,7 +126,7 @@ func (apiHandler *apiHandler) addAccountsEndpoint() { } func (apiHandler *apiHandler) addPeersEndpoint() { - peersHandler := NewPeersHandler(apiHandler.AccountManager, apiHandler.AuthCfg, apiHandler.integratedPeerValidator) + peersHandler := NewPeersHandler(apiHandler.AccountManager, apiHandler.AuthCfg) apiHandler.Router.HandleFunc("/peers", peersHandler.GetAllPeers).Methods("GET", "OPTIONS") apiHandler.Router.HandleFunc("/peers/{peerId}", peersHandler.HandlePeer). Methods("GET", "PUT", "DELETE", "OPTIONS") diff --git a/management/server/http/peers_handler.go b/management/server/http/peers_handler.go index 31c6f392d..d4d2558e8 100644 --- a/management/server/http/peers_handler.go +++ b/management/server/http/peers_handler.go @@ -10,7 +10,6 @@ import ( "github.com/netbirdio/netbird/management/server" "github.com/netbirdio/netbird/management/server/http/api" "github.com/netbirdio/netbird/management/server/http/util" - "github.com/netbirdio/netbird/management/server/integrated_approval" "github.com/netbirdio/netbird/management/server/jwtclaims" nbpeer "github.com/netbirdio/netbird/management/server/peer" "github.com/netbirdio/netbird/management/server/status" @@ -20,18 +19,16 @@ import ( type PeersHandler struct { accountManager server.AccountManager claimsExtractor *jwtclaims.ClaimsExtractor - peerValidator integrated_approval.IntegratedApproval } // NewPeersHandler creates a new PeersHandler HTTP handler -func NewPeersHandler(accountManager server.AccountManager, authCfg AuthCfg, peerValidator integrated_approval.IntegratedApproval) *PeersHandler { +func NewPeersHandler(accountManager server.AccountManager, authCfg AuthCfg) *PeersHandler { return &PeersHandler{ accountManager: accountManager, claimsExtractor: jwtclaims.NewClaimsExtractor( jwtclaims.WithAudience(authCfg.Audience), jwtclaims.WithUserIDClaim(authCfg.UserIDClaim), ), - peerValidator: peerValidator, } } @@ -64,7 +61,7 @@ func (h *PeersHandler) getPeer(account *server.Account, peerID, userID string, w groupsInfo := toGroupsInfo(account.Groups, peer.ID) - netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain(), h.peerValidator) + netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain()) accessiblePeers := toAccessiblePeers(netMap, dnsDomain) util.WriteJSONObject(w, toSinglePeerResponse(peerToReturn, groupsInfo, dnsDomain, accessiblePeers)) @@ -94,7 +91,7 @@ func (h *PeersHandler) updatePeer(account *server.Account, user *server.User, pe groupMinimumInfo := toGroupsInfo(account.Groups, peer.ID) - netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain(), h.peerValidator) + netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain()) accessiblePeers := toAccessiblePeers(netMap, dnsDomain) util.WriteJSONObject(w, toSinglePeerResponse(peer, groupMinimumInfo, dnsDomain, accessiblePeers)) @@ -179,7 +176,7 @@ func (h *PeersHandler) GetAllPeers(w http.ResponseWriter, r *http.Request) { } func (h *PeersHandler) accessiblePeersNumber(account *server.Account, peerID string) int { - netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain(), h.peerValidator) + netMap := account.GetPeerNetworkMap(peerID, h.accountManager.GetDNSDomain()) return len(netMap.Peers) + len(netMap.OfflinePeers) } diff --git a/management/server/http/peers_handler_test.go b/management/server/http/peers_handler_test.go index 27193d8b4..27978c487 100644 --- a/management/server/http/peers_handler_test.go +++ b/management/server/http/peers_handler_test.go @@ -3,7 +3,6 @@ package http import ( "bytes" "encoding/json" - "github.com/netbirdio/management-integrations/integrations" "io" "net" "net/http" @@ -103,7 +102,6 @@ func initTestMetaData(peers ...*nbpeer.Peer) *PeersHandler { } }), ), - peerValidator: integrations.NewIntegratedApproval(), } } diff --git a/management/server/peer.go b/management/server/peer.go index c408046c7..4a5a9c53e 100644 --- a/management/server/peer.go +++ b/management/server/peer.go @@ -297,7 +297,7 @@ func (am *DefaultAccountManager) GetNetworkMap(peerID string) (*NetworkMap, erro return nil, status.Errorf(status.NotFound, "peer with ID %s not found", peerID) } - return account.GetPeerNetworkMap(peer.ID, am.dnsDomain, am.integratedPeerValidator), nil + return account.GetPeerNetworkMap(peer.ID, am.dnsDomain), nil } // GetPeerNetwork returns the Network for a given peer @@ -480,7 +480,7 @@ func (am *DefaultAccountManager) AddPeer(setupKey, userID string, peer *nbpeer.P am.updateAccountPeers(account) - networkMap := account.GetPeerNetworkMap(newPeer.ID, am.dnsDomain, am.integratedPeerValidator) + networkMap := account.GetPeerNetworkMap(newPeer.ID, am.dnsDomain) return newPeer, networkMap, nil } @@ -528,7 +528,7 @@ func (am *DefaultAccountManager) SyncPeer(sync PeerSync) (*nbpeer.Peer, *Network } } - return peer, account.GetPeerNetworkMap(peer.ID, am.dnsDomain, am.integratedPeerValidator), nil + return peer, account.GetPeerNetworkMap(peer.ID, am.dnsDomain), nil } // LoginPeer logs in or registers a peer. @@ -620,7 +620,7 @@ func (am *DefaultAccountManager) LoginPeer(login PeerLogin) (*nbpeer.Peer, *Netw am.updateAccountPeers(account) } - return peer, account.GetPeerNetworkMap(peer.ID, am.dnsDomain, am.integratedPeerValidator), nil + return peer, account.GetPeerNetworkMap(peer.ID, am.dnsDomain), nil } func checkIfPeerOwnerIsBlocked(peer *nbpeer.Peer, account *Account) error { @@ -791,7 +791,7 @@ func (am *DefaultAccountManager) updateAccountPeers(account *Account) { peers := account.GetPeers() for _, peer := range peers { - remotePeerNetworkMap := account.GetPeerNetworkMap(peer.ID, am.dnsDomain, am.integratedPeerValidator) + remotePeerNetworkMap := account.GetPeerNetworkMap(peer.ID, am.dnsDomain) update := toSyncResponse(nil, peer, nil, remotePeerNetworkMap, am.GetDNSDomain()) am.peersUpdateManager.SendUpdate(peer.ID, &UpdateMessage{Update: update}) }