diff --git a/management/server/account.go b/management/server/account.go index 0b741797c..ab79a6789 100644 --- a/management/server/account.go +++ b/management/server/account.go @@ -62,12 +62,9 @@ type AccountManager interface { GetAccountFromPAT(pat string) (*Account, *User, *PersonalAccessToken, error) MarkPATUsed(tokenID string) error GetUser(claims jwtclaims.AuthorizationClaims) (*User, error) - AccountExists(accountId string) (*bool, error) - GetPeerByKey(peerKey string) (*Peer, error) GetPeers(accountID, userID string) ([]*Peer, error) MarkPeerConnected(peerKey string, connected bool) error DeletePeer(accountID, peerID, userID string) error - GetPeerByIP(accountId string, peerIP string) (*Peer, error) UpdatePeer(accountID, userID string, peer *Peer) (*Peer, error) GetNetworkMap(peerID string) (*NetworkMap, error) GetPeerNetwork(peerID string) (*Network, error) @@ -84,7 +81,6 @@ type AccountManager interface { ListGroups(accountId string) ([]*Group, error) GroupAddPeer(accountId, groupID, peerID string) error GroupDeletePeer(accountId, groupID, peerID string) error - GroupListPeers(accountId, groupID string) ([]*Peer, error) GetPolicy(accountID, policyID, userID string) (*Policy, error) SavePolicy(accountID, userID string, policy *Policy) error DeletePolicy(accountID, policyID, userID string) error @@ -303,17 +299,6 @@ func (a *Account) GetRoutesByPrefix(prefix netip.Prefix) []*route.Route { return routes } -// GetPeerByIP returns peer by it's IP if exists under account or nil otherwise -func (a *Account) GetPeerByIP(peerIP string) *Peer { - for _, peer := range a.Peers { - if peerIP == peer.IP.String() { - return peer - } - } - - return nil -} - // GetGroup returns a group by ID if exists, nil otherwise func (a *Account) GetGroup(groupID string) *Group { return a.Groups[groupID] @@ -1602,26 +1587,6 @@ func isDomainValid(domain string) bool { return re.Match([]byte(domain)) } -// AccountExists checks whether account exists (returns true) or not (returns false) -func (am *DefaultAccountManager) AccountExists(accountID string) (*bool, error) { - unlock := am.Store.AcquireAccountLock(accountID) - defer unlock() - - var res bool - _, err := am.Store.GetAccount(accountID) - if err != nil { - if s, ok := status.FromError(err); ok && s.Type() == status.NotFound { - res = false - return &res, nil - } else { - return nil, err - } - } - - res = true - return &res, nil -} - // GetDNSDomain returns the configured dnsDomain func (am *DefaultAccountManager) GetDNSDomain() string { return am.dnsDomain diff --git a/management/server/account_test.go b/management/server/account_test.go index 5f711df80..d55734685 100644 --- a/management/server/account_test.go +++ b/management/server/account_test.go @@ -706,30 +706,6 @@ func createAccount(am *DefaultAccountManager, accountID, userID, domain string) return account, nil } -func TestAccountManager_AccountExists(t *testing.T) { - manager, err := createManager(t) - if err != nil { - t.Fatal(err) - return - } - - expectedId := "test_account" - userId := "account_creator" - _, err = createAccount(manager, expectedId, userId, "") - if err != nil { - t.Fatal(err) - } - - exists, err := manager.AccountExists(expectedId) - if err != nil { - t.Fatal(err) - } - - if !*exists { - t.Errorf("expected account to exist after creation, got false") - } -} - func TestAccountManager_GetAccount(t *testing.T) { manager, err := createManager(t) if err != nil { diff --git a/management/server/group.go b/management/server/group.go index 9e5ede3f4..a7502134a 100644 --- a/management/server/group.go +++ b/management/server/group.go @@ -314,29 +314,3 @@ func (am *DefaultAccountManager) GroupDeletePeer(accountID, groupID, peerID stri return nil } - -// GroupListPeers returns list of the peers from the group -func (am *DefaultAccountManager) GroupListPeers(accountID, groupID string) ([]*Peer, error) { - unlock := am.Store.AcquireAccountLock(accountID) - defer unlock() - - account, err := am.Store.GetAccount(accountID) - if err != nil { - return nil, status.Errorf(status.NotFound, "account not found") - } - - group, ok := account.Groups[groupID] - if !ok { - return nil, status.Errorf(status.NotFound, "group with ID %s not found", groupID) - } - - peers := make([]*Peer, 0, len(account.Groups)) - for _, peerID := range group.Peers { - p, ok := account.Peers[peerID] - if ok { - peers = append(peers, p) - } - } - - return peers, nil -} diff --git a/management/server/http/groups_handler_test.go b/management/server/http/groups_handler_test.go index ddb1233bf..aad03d50b 100644 --- a/management/server/http/groups_handler_test.go +++ b/management/server/http/groups_handler_test.go @@ -53,14 +53,6 @@ func initGroupTestData(user *server.User, groups ...*server.Group) *GroupsHandle Issued: server.GroupIssuedAPI, }, nil }, - GetPeerByIPFunc: func(_ string, peerIP string) (*server.Peer, error) { - for _, peer := range TestPeers { - if peer.IP.String() == peerIP { - return peer, nil - } - } - return nil, fmt.Errorf("peer not found") - }, GetAccountFromTokenFunc: func(claims jwtclaims.AuthorizationClaims) (*server.Account, *server.User, error) { return &server.Account{ Id: claims.AccountId, diff --git a/management/server/http/routes_handler_test.go b/management/server/http/routes_handler_test.go index 0f797c3b3..0bb4587e4 100644 --- a/management/server/http/routes_handler_test.go +++ b/management/server/http/routes_handler_test.go @@ -125,15 +125,6 @@ func initRoutesTestData() *RoutesHandler { } return nil }, - GetPeerByIPFunc: func(_ string, peerIP string) (*server.Peer, error) { - if peerIP != existingPeerID { - return nil, status.Errorf(status.NotFound, "Peer with ID %s not found", peerIP) - } - return &server.Peer{ - Key: existingPeerKey, - IP: netip.MustParseAddr(existingPeerID).AsSlice(), - }, nil - }, GetAccountFromTokenFunc: func(_ jwtclaims.AuthorizationClaims) (*server.Account, *server.User, error) { return testingAccount, testingAccount.Users["test_user"], nil }, diff --git a/management/server/mock_server/account_mock.go b/management/server/mock_server/account_mock.go index 889bbb221..5432b201b 100644 --- a/management/server/mock_server/account_mock.go +++ b/management/server/mock_server/account_mock.go @@ -20,12 +20,9 @@ type MockAccountManager struct { GetSetupKeyFunc func(accountID, userID, keyID string) (*server.SetupKey, error) GetAccountByUserOrAccountIdFunc func(userId, accountId, domain string) (*server.Account, error) GetUserFunc func(claims jwtclaims.AuthorizationClaims) (*server.User, error) - AccountExistsFunc func(accountId string) (*bool, error) - GetPeerByKeyFunc func(peerKey string) (*server.Peer, error) GetPeersFunc func(accountID, userID string) ([]*server.Peer, error) MarkPeerConnectedFunc func(peerKey string, connected bool) error DeletePeerFunc func(accountID, peerKey, userID string) error - GetPeerByIPFunc func(accountId string, peerIP string) (*server.Peer, error) GetNetworkMapFunc func(peerKey string) (*server.NetworkMap, error) GetPeerNetworkFunc func(peerKey string) (*server.Network, error) AddPeerFunc func(setupKey string, userId string, peer *server.Peer) (*server.Peer, *server.NetworkMap, error) @@ -35,7 +32,6 @@ type MockAccountManager struct { ListGroupsFunc func(accountID string) ([]*server.Group, error) GroupAddPeerFunc func(accountID, groupID, peerID string) error GroupDeletePeerFunc func(accountID, groupID, peerID string) error - GroupListPeersFunc func(accountID, groupID string) ([]*server.Peer, error) GetRuleFunc func(accountID, ruleID, userID string) (*server.Rule, error) SaveRuleFunc func(accountID, userID string, rule *server.Rule) error DeleteRuleFunc func(accountID, ruleID, userID string) error @@ -140,22 +136,6 @@ func (am *MockAccountManager) GetAccountByUserOrAccountID( ) } -// AccountExists mock implementation of AccountExists from server.AccountManager interface -func (am *MockAccountManager) AccountExists(accountId string) (*bool, error) { - if am.AccountExistsFunc != nil { - return am.AccountExistsFunc(accountId) - } - return nil, status.Errorf(codes.Unimplemented, "method AccountExists is not implemented") -} - -// GetPeerByKey mocks implementation of GetPeerByKey from server.AccountManager interface -func (am *MockAccountManager) GetPeerByKey(peerKey string) (*server.Peer, error) { - if am.GetPeerByKeyFunc != nil { - return am.GetPeerByKeyFunc(peerKey) - } - return nil, status.Errorf(codes.Unimplemented, "method GetPeerByKey is not implemented") -} - // MarkPeerConnected mock implementation of MarkPeerConnected from server.AccountManager interface func (am *MockAccountManager) MarkPeerConnected(peerKey string, connected bool) error { if am.MarkPeerConnectedFunc != nil { @@ -164,14 +144,6 @@ func (am *MockAccountManager) MarkPeerConnected(peerKey string, connected bool) return status.Errorf(codes.Unimplemented, "method MarkPeerConnected is not implemented") } -// GetPeerByIP mock implementation of GetPeerByIP from server.AccountManager interface -func (am *MockAccountManager) GetPeerByIP(accountId string, peerIP string) (*server.Peer, error) { - if am.GetPeerByIPFunc != nil { - return am.GetPeerByIPFunc(accountId, peerIP) - } - return nil, status.Errorf(codes.Unimplemented, "method GetPeerByIP is not implemented") -} - // GetAccountFromPAT mock implementation of GetAccountFromPAT from server.AccountManager interface func (am *MockAccountManager) GetAccountFromPAT(pat string) (*server.Account, *server.User, *server.PersonalAccessToken, error) { if am.GetAccountFromPATFunc != nil { @@ -296,14 +268,6 @@ func (am *MockAccountManager) GroupDeletePeer(accountID, groupID, peerID string) return status.Errorf(codes.Unimplemented, "method GroupDeletePeer is not implemented") } -// GroupListPeers mock implementation of GroupListPeers from server.AccountManager interface -func (am *MockAccountManager) GroupListPeers(accountID, groupID string) ([]*server.Peer, error) { - if am.GroupListPeersFunc != nil { - return am.GroupListPeersFunc(accountID, groupID) - } - return nil, status.Errorf(codes.Unimplemented, "method GroupListPeers is not implemented") -} - // GetRule mock implementation of GetRule from server.AccountManager interface func (am *MockAccountManager) GetRule(accountID, ruleID, userID string) (*server.Rule, error) { if am.GetRuleFunc != nil { diff --git a/management/server/peer.go b/management/server/peer.go index 8e4ad08e3..e5c6e39d6 100644 --- a/management/server/peer.go +++ b/management/server/peer.go @@ -195,16 +195,6 @@ func (p *PeerStatus) Copy() *PeerStatus { } } -// GetPeerByKey looks up peer by its public WireGuard key -func (am *DefaultAccountManager) GetPeerByKey(peerPubKey string) (*Peer, error) { - account, err := am.Store.GetAccountByPeerPubKey(peerPubKey) - if err != nil { - return nil, err - } - - return account.FindPeerByPubKey(peerPubKey) -} - // GetPeers returns a list of peers under the given account filtering out peers that do not belong to a user if // the current user is not an admin. func (am *DefaultAccountManager) GetPeers(accountID, userID string) ([]*Peer, error) { @@ -432,25 +422,6 @@ func (am *DefaultAccountManager) DeletePeer(accountID, peerID, userID string) er return nil } -// GetPeerByIP returns peer by its IP -func (am *DefaultAccountManager) GetPeerByIP(accountID string, peerIP string) (*Peer, error) { - unlock := am.Store.AcquireAccountLock(accountID) - defer unlock() - - account, err := am.Store.GetAccount(accountID) - if err != nil { - return nil, err - } - - for _, peer := range account.Peers { - if peerIP == peer.IP.String() { - return peer, nil - } - } - - return nil, status.Errorf(status.NotFound, "peer with IP %s not found", peerIP) -} - // GetNetworkMap returns Network map for a given peer (omits original peer from the Peers result) func (am *DefaultAccountManager) GetNetworkMap(peerID string) (*NetworkMap, error) { account, err := am.Store.GetAccountByPeerID(peerID)