aboutsummaryrefslogtreecommitdiffstats
path: root/modules/util
diff options
context:
space:
mode:
authorNorwin <noerw@users.noreply.github.com>2022-03-22 02:09:45 +0100
committerGitHub <noreply@github.com>2022-03-22 09:09:45 +0800
commit77d1c7bf2fbdc217cef564417c8fd82612834f6e (patch)
tree527fb67941d21e1a41bb2670940a6df8f0a75602 /modules/util
parentbfe2e3d562307eb8b6659d71d2c10bf3c1284e77 (diff)
downloadgitea-77d1c7bf2fbdc217cef564417c8fd82612834f6e.tar.gz
gitea-77d1c7bf2fbdc217cef564417c8fd82612834f6e.zip
Cleanup protected branches when deleting users & teams (#19158)
* Clean up protected_branches when deleting user fixes #19094 * Clean up protected_branches when deleting teams * fix issue Co-authored-by: Lauris BH <lauris@nix.lv>
Diffstat (limited to 'modules/util')
-rw-r--r--modules/util/slice.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/modules/util/slice.go b/modules/util/slice.go
new file mode 100644
index 0000000000..552f5b866a
--- /dev/null
+++ b/modules/util/slice.go
@@ -0,0 +1,18 @@
+// Copyright 2022 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package util
+
+// RemoveIDFromList removes the given ID from the slice, if found.
+// It does not preserve order, and assumes the ID is unique.
+func RemoveIDFromList(list []int64, id int64) ([]int64, bool) {
+ n := len(list) - 1
+ for i, item := range list {
+ if item == id {
+ list[i] = list[n]
+ return list[:n], true
+ }
+ }
+ return list, false
+}