mirror of
https://github.com/netbirdio/netbird.git
synced 2025-03-12 22:02:43 +01:00
add getPeerByIp store method
This commit is contained in:
parent
8276236dfa
commit
6838f53f40
@ -2177,3 +2177,17 @@ func (s *SqlStore) DeletePAT(ctx context.Context, lockStrength LockingStrength,
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *SqlStore) GetPeerByIP(ctx context.Context, lockStrength LockingStrength, accountID string, ip net.IP) (*nbpeer.Peer, error) {
|
||||||
|
jsonValue := fmt.Sprintf(`"%s"`, ip.String())
|
||||||
|
|
||||||
|
var peer nbpeer.Peer
|
||||||
|
result := s.db.Clauses(clause.Locking{Strength: string(lockStrength)}).
|
||||||
|
First(&peer, "account_id = ? AND ip = ?", accountID, jsonValue)
|
||||||
|
if result.Error != nil {
|
||||||
|
log.WithContext(ctx).Errorf("failed to get peer from the store: %s", result.Error)
|
||||||
|
return nil, status.Errorf(status.Internal, "failed to get peer from store")
|
||||||
|
}
|
||||||
|
|
||||||
|
return &peer, nil
|
||||||
|
}
|
||||||
|
@ -23,10 +23,9 @@ import (
|
|||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
|
||||||
"github.com/netbirdio/netbird/dns"
|
"github.com/netbirdio/netbird/dns"
|
||||||
|
"github.com/netbirdio/netbird/management/server/telemetry"
|
||||||
"github.com/netbirdio/netbird/management/server/testutil"
|
"github.com/netbirdio/netbird/management/server/testutil"
|
||||||
"github.com/netbirdio/netbird/management/server/types"
|
"github.com/netbirdio/netbird/management/server/types"
|
||||||
|
|
||||||
"github.com/netbirdio/netbird/management/server/telemetry"
|
|
||||||
"github.com/netbirdio/netbird/util"
|
"github.com/netbirdio/netbird/util"
|
||||||
|
|
||||||
"github.com/netbirdio/netbird/management/server/migration"
|
"github.com/netbirdio/netbird/management/server/migration"
|
||||||
@ -185,6 +184,7 @@ type Store interface {
|
|||||||
GetNetworkResourceByName(ctx context.Context, lockStrength LockingStrength, accountID, resourceName string) (*resourceTypes.NetworkResource, error)
|
GetNetworkResourceByName(ctx context.Context, lockStrength LockingStrength, accountID, resourceName string) (*resourceTypes.NetworkResource, error)
|
||||||
SaveNetworkResource(ctx context.Context, lockStrength LockingStrength, resource *resourceTypes.NetworkResource) error
|
SaveNetworkResource(ctx context.Context, lockStrength LockingStrength, resource *resourceTypes.NetworkResource) error
|
||||||
DeleteNetworkResource(ctx context.Context, lockStrength LockingStrength, accountID, resourceID string) error
|
DeleteNetworkResource(ctx context.Context, lockStrength LockingStrength, accountID, resourceID string) error
|
||||||
|
GetPeerByIP(ctx context.Context, lockStrength LockingStrength, accountID string, ip net.IP) (*nbpeer.Peer, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type Engine string
|
type Engine string
|
||||||
@ -353,12 +353,11 @@ func NewTestStoreFromSQL(ctx context.Context, filename string, dataDir string) (
|
|||||||
return nil, nil, fmt.Errorf("failed to create test store: %v", err)
|
return nil, nil, fmt.Errorf("failed to create test store: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = addAllGroupToAccount(ctx, store)
|
err = addAllGroupToAccount(ctx, store)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("failed to add all group to account: %v", err)
|
return nil, nil, fmt.Errorf("failed to add all group to account: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
maxRetries := 2
|
maxRetries := 2
|
||||||
for i := 0; i < maxRetries; i++ {
|
for i := 0; i < maxRetries; i++ {
|
||||||
sqlStore, cleanUp, err := getSqlStoreEngine(ctx, store, kind)
|
sqlStore, cleanUp, err := getSqlStoreEngine(ctx, store, kind)
|
||||||
|
Loading…
Reference in New Issue
Block a user