@@ -518,50 +518,58 @@ func DeleteProtectedBranch(ctx context.Context, repo *repo_model.Repository, id
518
518
return nil
519
519
}
520
520
521
- // RemoveUserIDFromProtectedBranch remove all user ids from protected branch options
522
- func RemoveUserIDFromProtectedBranch (ctx context.Context , p * ProtectedBranch , userID int64 ) error {
523
- lenIDs , lenForcePushIDs , lenApprovalIDs , lenMergeIDs := len (p .WhitelistUserIDs ), len (p .ForcePushWhitelistUserIDs ), len (p .ApprovalsWhitelistUserIDs ), len (p .MergeWhitelistUserIDs )
524
- p .WhitelistUserIDs = util .SliceRemoveAll (p .WhitelistUserIDs , userID )
525
- p .ForcePushWhitelistUserIDs = util .SliceRemoveAll (p .ForcePushWhitelistUserIDs , userID )
526
- p .ApprovalsWhitelistUserIDs = util .SliceRemoveAll (p .ApprovalsWhitelistUserIDs , userID )
527
- p .MergeWhitelistUserIDs = util .SliceRemoveAll (p .MergeWhitelistUserIDs , userID )
521
+ // removeIDsFromProtectedBranch is a helper function to remove IDs from protected branch options
522
+ func removeIDsFromProtectedBranch (ctx context.Context , p * ProtectedBranch , userID , teamID int64 , columnNames []string ) error {
523
+ lenUserIDs , lenForcePushIDs , lenApprovalIDs , lenMergeIDs := len (p .WhitelistUserIDs ), len (p .ForcePushWhitelistUserIDs ), len (p .ApprovalsWhitelistUserIDs ), len (p .MergeWhitelistUserIDs )
524
+ lenTeamIDs , lenForcePushTeamIDs , lenApprovalTeamIDs , lenMergeTeamIDs := len (p .WhitelistTeamIDs ), len (p .ForcePushWhitelistTeamIDs ), len (p .ApprovalsWhitelistTeamIDs ), len (p .MergeWhitelistTeamIDs )
525
+
526
+ if userID > 0 {
527
+ p .WhitelistUserIDs = util .SliceRemoveAll (p .WhitelistUserIDs , userID )
528
+ p .ForcePushWhitelistUserIDs = util .SliceRemoveAll (p .ForcePushWhitelistUserIDs , userID )
529
+ p .ApprovalsWhitelistUserIDs = util .SliceRemoveAll (p .ApprovalsWhitelistUserIDs , userID )
530
+ p .MergeWhitelistUserIDs = util .SliceRemoveAll (p .MergeWhitelistUserIDs , userID )
531
+ }
528
532
529
- if lenIDs != len (p .WhitelistUserIDs ) ||
533
+ if teamID > 0 {
534
+ p .WhitelistTeamIDs = util .SliceRemoveAll (p .WhitelistTeamIDs , teamID )
535
+ p .ForcePushWhitelistTeamIDs = util .SliceRemoveAll (p .ForcePushWhitelistTeamIDs , teamID )
536
+ p .ApprovalsWhitelistTeamIDs = util .SliceRemoveAll (p .ApprovalsWhitelistTeamIDs , teamID )
537
+ p .MergeWhitelistTeamIDs = util .SliceRemoveAll (p .MergeWhitelistTeamIDs , teamID )
538
+ }
539
+
540
+ if (lenUserIDs != len (p .WhitelistUserIDs ) ||
530
541
lenForcePushIDs != len (p .ForcePushWhitelistUserIDs ) ||
531
542
lenApprovalIDs != len (p .ApprovalsWhitelistUserIDs ) ||
532
- lenMergeIDs != len (p .MergeWhitelistUserIDs ) {
533
- if _ , err := db .GetEngine (ctx ).ID (p .ID ).Cols (
534
- "whitelist_user_i_ds" ,
535
- "force_push_whitelist_user_i_ds" ,
536
- "merge_whitelist_user_i_ds" ,
537
- "approvals_whitelist_user_i_ds" ,
538
- ).Update (p ); err != nil {
543
+ lenMergeIDs != len (p .MergeWhitelistUserIDs )) ||
544
+ (lenTeamIDs != len (p .WhitelistTeamIDs ) ||
545
+ lenForcePushTeamIDs != len (p .ForcePushWhitelistTeamIDs ) ||
546
+ lenApprovalTeamIDs != len (p .ApprovalsWhitelistTeamIDs ) ||
547
+ lenMergeTeamIDs != len (p .MergeWhitelistTeamIDs )) {
548
+ if _ , err := db .GetEngine (ctx ).ID (p .ID ).Cols (columnNames ... ).Update (p ); err != nil {
539
549
return fmt .Errorf ("updateProtectedBranches: %v" , err )
540
550
}
541
551
}
542
552
return nil
543
553
}
544
554
545
- // RemoveTeamIDFromProtectedBranch remove all team ids from protected branch options
555
+ // RemoveUserIDFromProtectedBranch removes all user ids from protected branch options
556
+ func RemoveUserIDFromProtectedBranch (ctx context.Context , p * ProtectedBranch , userID int64 ) error {
557
+ columnNames := []string {
558
+ "whitelist_user_i_ds" ,
559
+ "force_push_whitelist_user_i_ds" ,
560
+ "merge_whitelist_user_i_ds" ,
561
+ "approvals_whitelist_user_i_ds" ,
562
+ }
563
+ return removeIDsFromProtectedBranch (ctx , p , userID , 0 , columnNames )
564
+ }
565
+
566
+ // RemoveTeamIDFromProtectedBranch removes all team ids from protected branch options
546
567
func RemoveTeamIDFromProtectedBranch (ctx context.Context , p * ProtectedBranch , teamID int64 ) error {
547
- lenIDs , lenForcePushIDs , lenApprovalIDs , lenMergeIDs := len (p .WhitelistTeamIDs ), len (p .ForcePushWhitelistTeamIDs ), len (p .ApprovalsWhitelistTeamIDs ), len (p .MergeWhitelistTeamIDs )
548
- p .WhitelistTeamIDs = util .SliceRemoveAll (p .WhitelistTeamIDs , teamID )
549
- p .ForcePushWhitelistTeamIDs = util .SliceRemoveAll (p .ForcePushWhitelistTeamIDs , teamID )
550
- p .ApprovalsWhitelistTeamIDs = util .SliceRemoveAll (p .ApprovalsWhitelistTeamIDs , teamID )
551
- p .MergeWhitelistTeamIDs = util .SliceRemoveAll (p .MergeWhitelistTeamIDs , teamID )
552
-
553
- if lenIDs != len (p .WhitelistTeamIDs ) ||
554
- lenForcePushIDs != len (p .ForcePushWhitelistTeamIDs ) ||
555
- lenApprovalIDs != len (p .ApprovalsWhitelistTeamIDs ) ||
556
- lenMergeIDs != len (p .MergeWhitelistTeamIDs ) {
557
- if _ , err := db .GetEngine (ctx ).ID (p .ID ).Cols (
558
- "whitelist_team_i_ds" ,
559
- "force_push_whitelist_team_i_ds" ,
560
- "merge_whitelist_team_i_ds" ,
561
- "approvals_whitelist_team_i_ds" ,
562
- ).Update (p ); err != nil {
563
- return fmt .Errorf ("updateProtectedBranches: %v" , err )
564
- }
568
+ columnNames := []string {
569
+ "whitelist_team_i_ds" ,
570
+ "force_push_whitelist_team_i_ds" ,
571
+ "merge_whitelist_team_i_ds" ,
572
+ "approvals_whitelist_team_i_ds" ,
565
573
}
566
- return nil
574
+ return removeIDsFromProtectedBranch ( ctx , p , 0 , teamID , columnNames )
567
575
}
0 commit comments