2024-03-13 17:04:23 +01:00
|
|
|
package integrations
|
|
|
|
|
|
|
|
|
|
import (
|
2024-07-02 21:58:08 +02:00
|
|
|
"context"
|
|
|
|
|
|
2025-12-02 12:44:14 +01:00
|
|
|
"github.com/netbirdio/netbird/management/internals/modules/peers"
|
2024-03-13 17:04:23 +01:00
|
|
|
"github.com/netbirdio/netbird/management/server/activity"
|
|
|
|
|
nbpeer "github.com/netbirdio/netbird/management/server/peer"
|
2025-09-06 12:52:04 +03:00
|
|
|
"github.com/netbirdio/netbird/management/server/settings"
|
2025-01-15 11:12:14 +03:00
|
|
|
"github.com/netbirdio/netbird/management/server/types"
|
2025-09-04 21:48:51 +03:00
|
|
|
"github.com/netbirdio/netbird/shared/management/proto"
|
2024-03-13 17:04:23 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
type IntegratedValidatorImpl struct {
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-06 12:52:04 +03:00
|
|
|
func NewIntegratedValidator(_ context.Context, peersManager peers.Manager, settingsManager settings.Manager, store activity.Store) (*IntegratedValidatorImpl, error) {
|
2024-03-13 17:04:23 +01:00
|
|
|
return &IntegratedValidatorImpl{}, nil
|
|
|
|
|
}
|
|
|
|
|
|
2025-12-12 14:46:55 +03:00
|
|
|
func (v *IntegratedValidatorImpl) ValidateExtraSettings(context.Context, *types.ExtraSettings, *types.ExtraSettings, string, string) error {
|
2024-03-13 17:04:23 +01:00
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-26 17:51:06 +01:00
|
|
|
func (v *IntegratedValidatorImpl) ValidatePeer(_ context.Context, update *nbpeer.Peer, _ *nbpeer.Peer, _ string, _ string, _ string, _ []string, _ *types.ExtraSettings) (*nbpeer.Peer, bool, error) {
|
2024-11-06 16:32:33 +01:00
|
|
|
return update, false, nil
|
2024-03-13 17:04:23 +01:00
|
|
|
}
|
|
|
|
|
|
2025-10-10 15:48:43 +02:00
|
|
|
func (v *IntegratedValidatorImpl) PreparePeer(_ context.Context, _ string, peer *nbpeer.Peer, _ []string, _ *types.ExtraSettings, _ bool) *nbpeer.Peer {
|
2024-03-13 17:04:23 +01:00
|
|
|
return peer.Copy()
|
|
|
|
|
}
|
|
|
|
|
|
2025-02-26 17:51:06 +01:00
|
|
|
func (v *IntegratedValidatorImpl) IsNotValidPeer(_ context.Context, _ string, _ *nbpeer.Peer, _ []string, _ *types.ExtraSettings) (bool, bool, error) {
|
2024-05-24 10:57:50 +02:00
|
|
|
return false, false, nil
|
2024-03-13 17:04:23 +01:00
|
|
|
}
|
|
|
|
|
|
2025-07-11 11:24:13 +01:00
|
|
|
func (v *IntegratedValidatorImpl) GetValidatedPeers(_ context.Context, _ string, _ []*types.Group, peers []*nbpeer.Peer, _ *types.ExtraSettings) (map[string]struct{}, error) {
|
2024-03-13 17:04:23 +01:00
|
|
|
validatedPeers := make(map[string]struct{})
|
2025-01-15 11:12:14 +03:00
|
|
|
for _, p := range peers {
|
|
|
|
|
validatedPeers[p.ID] = struct{}{}
|
2024-03-13 17:04:23 +01:00
|
|
|
}
|
|
|
|
|
return validatedPeers, nil
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-22 11:01:46 +03:00
|
|
|
func (v *IntegratedValidatorImpl) GetInvalidPeers(ctx context.Context, accountID string, extraSettings *types.ExtraSettings) (map[string]string, error) {
|
|
|
|
|
return make(map[string]string), nil
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-11 11:24:13 +01:00
|
|
|
func (v *IntegratedValidatorImpl) PeerDeleted(ctx context.Context, _, _ string, extraSettings *types.ExtraSettings) error {
|
2024-03-21 14:39:27 +01:00
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
2025-08-04 16:10:10 +02:00
|
|
|
func (v *IntegratedValidatorImpl) SetPeerInvalidationListener(_ func(accountID string, peerIDs []string)) {
|
2024-03-22 19:16:56 +01:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-02 21:58:08 +02:00
|
|
|
func (v *IntegratedValidatorImpl) Stop(ctx context.Context) {
|
2024-03-13 17:04:23 +01:00
|
|
|
}
|
2025-07-18 09:17:30 +02:00
|
|
|
|
|
|
|
|
func (v *IntegratedValidatorImpl) ValidateFlowResponse(ctx context.Context, peerKey string, flowResponse *proto.PKCEAuthorizationFlow) *proto.PKCEAuthorizationFlow {
|
|
|
|
|
return flowResponse
|
|
|
|
|
}
|