Add new module for integration

This commit is contained in:
Zoltán Papp
2024-04-02 18:32:54 +02:00
parent d9ced1b9c0
commit b7ec8396f0
14 changed files with 180 additions and 80 deletions

View File

@@ -0,0 +1,18 @@
package validator
import (
"github.com/netbirdio/netbird/management/server/account"
"github.com/netbirdio/netbird/management/server/group"
"github.com/netbirdio/netbird/management/server/peer"
)
type IntegratedValidator interface {
ValidateExtraSettings(newExtraSettings *account.ExtraSettings, oldExtraSettings *account.ExtraSettings, peers map[string]*peer.Peer, userID string, accountID string) error
ValidatePeer(update *peer.Peer, peer *peer.Peer, userID string, accountID string, dnsDomain string, peersGroup []string, extraSettings *account.ExtraSettings) (*peer.Peer, error)
PreparePeer(accountID string, peer *peer.Peer, peersGroup []string, extraSettings *account.ExtraSettings) *peer.Peer
IsNotValidPeer(accountID string, peer *peer.Peer, peersGroup []string, extraSettings *account.ExtraSettings) (bool, bool)
GetValidatedPeers(accountID string, groups map[string]*group.Group, peers map[string]*peer.Peer, extraSettings *account.ExtraSettings) (map[string]struct{}, error)
PeerDeleted(accountID, peerID string) error
SetPeerInvalidationListener(fn func(accountID string))
Stop()
}