mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-21 01:36:46 +00:00
fix group save with removal of all peers
This commit is contained in:
@@ -480,8 +480,9 @@ func (s *SqlStore) SaveGroups(ctx context.Context, lockStrength LockingStrength,
|
||||
|
||||
for _, g := range groups {
|
||||
if len(g.GroupPeers) == 0 {
|
||||
if err := tx.Model(&g).Association("GroupPeers").Clear(); err != nil {
|
||||
return status.Errorf(status.Internal, "failed to clear group peers: %s", err)
|
||||
if err := tx.Where("group_id = ?", g.ID).Delete(&types.GroupPeer{}).Error; err != nil {
|
||||
log.WithContext(ctx).Errorf("failed to delete group peers for group %s: %s", g.ID, err)
|
||||
return status.Errorf(status.Internal, "failed to delete group peers")
|
||||
}
|
||||
} else {
|
||||
if err := tx.Model(&g).Association("GroupPeers").Replace(g.GroupPeers); err != nil {
|
||||
@@ -1838,8 +1839,9 @@ func (s *SqlStore) SaveGroup(ctx context.Context, lockStrength LockingStrength,
|
||||
}
|
||||
|
||||
if len(group.GroupPeers) == 0 {
|
||||
if err := s.db.Model(&group).Association("GroupPeers").Clear(); err != nil {
|
||||
return status.Errorf(status.Internal, "failed to clear group peers: %s", err)
|
||||
if err := s.db.Where("group_id = ?", group.ID).Delete(&types.GroupPeer{}).Error; err != nil {
|
||||
log.WithContext(ctx).Errorf("failed to delete group peers for group %s: %s", group.ID, err)
|
||||
return status.Errorf(status.Internal, "failed to delete group peers")
|
||||
}
|
||||
} else {
|
||||
if err := s.db.Model(&group).Association("GroupPeers").Replace(group.GroupPeers); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user