Skip to content

Commit b5419ef

Browse files
authored
[management] limit peers based on module read permission (#3757)
1 parent d5081ce commit b5419ef

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

management/server/peer.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,9 @@ func (am *DefaultAccountManager) GetPeers(ctx context.Context, accountID, userID
4949
return nil, err
5050
}
5151

52-
peers := make([]*nbpeer.Peer, 0)
53-
peersMap := make(map[string]*nbpeer.Peer)
54-
55-
for _, peer := range accountPeers {
56-
if user.IsRegularUser() && user.Id != peer.UserID {
57-
// only display peers that belong to the current user if the current user is not an admin
58-
continue
59-
}
60-
peers = append(peers, peer)
61-
peersMap[peer.ID] = peer
62-
}
63-
52+
// @note if the user has permission to read peers it shows all account peers
6453
if allowed {
65-
return peers, nil
54+
return accountPeers, nil
6655
}
6756

6857
settings, err := am.Store.GetAccountSettings(ctx, store.LockingStrengthShare, accountID)
@@ -74,6 +63,18 @@ func (am *DefaultAccountManager) GetPeers(ctx context.Context, accountID, userID
7463
return []*nbpeer.Peer{}, nil
7564
}
7665

66+
// @note if it does not have permission read peers then only display it's own peers
67+
peers := make([]*nbpeer.Peer, 0)
68+
peersMap := make(map[string]*nbpeer.Peer)
69+
70+
for _, peer := range accountPeers {
71+
if user.Id != peer.UserID {
72+
continue
73+
}
74+
peers = append(peers, peer)
75+
peersMap[peer.ID] = peer
76+
}
77+
7778
return am.getUserAccessiblePeers(ctx, accountID, peersMap, peers)
7879
}
7980

0 commit comments

Comments
 (0)