add example setup for management refactor

This commit is contained in:
Pascal Fischer
2024-03-13 23:07:00 +01:00
parent 9d213e0b54
commit f31b06fc92
19 changed files with 1560 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
package policies
import "github.com/netbirdio/netbird/management/refactor/peers"
type Manager interface {
GetAccessiblePeersAndFirewallRules(peerID string) (peers []peers.Peer, firewallRules []*FirewallRule)
}
type DefaultManager struct {
repository repository
peerManager peers.Manager
}
func NewDefaultManager(repository repository, peerManager peers.Manager) *DefaultManager {
return &DefaultManager{
repository: repository,
peerManager: peerManager,
}
}
func (dm *DefaultManager) GetAccessiblePeersAndFirewallRules(peerID string) (peers []peers.Peer, firewallRules []*FirewallRule) {
peer, err := dm.peerManager.GetPeerByID(peerID)
if err != nil {
return nil, nil
}
peers, err = dm.peerManager.GetNetworkPeersInAccount(peer.GetAccountID())
return peers, nil
}

View File

@@ -0,0 +1,7 @@
package policies
type Policy interface {
}
type DefaultPolicy struct {
}

View File

@@ -0,0 +1,4 @@
package policies
type repository interface {
}