guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 9687a9fb6661b18f199dccd4b7b4c8340ff98a56
Author: Ludovic Courtès <[email protected]>
AuthorDate: Thu Oct 16 15:26:49 2025 +0200
teams: ‘sync-codeberg-teams’ actually removes team members when needed.
This fixes a pretty fun omission.
* etc/teams.scm (remove-team-member): New Forgejo request.
(update-team): Use it.
Change-Id: Id3e4d3d2290fe6e030b38fae621f2db4e67cc6e6
---
etc/teams.scm | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/etc/teams.scm b/etc/teams.scm
index e0abba37d1..e4e6ead84c 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -326,6 +326,12 @@ PARAMETERS."
"members" user)
=> 204)
+(define-forgejo-request (remove-team-member team user)
+ "Remove USER (a string) from TEAM, a Forgejo team."
+ (DELETE "teams" (number->string (forgejo-team-id team))
+ "members" user)
+ => 204)
+
(define-forgejo-request (repository-teams owner repository)
"Return the list of teams assigned to REPOSITORY of OWNER."
(GET "repos" owner repository "teams"
@@ -372,7 +378,8 @@ PARAMETERS."
to-add)
(for-each (lambda (user)
(format log-port "removing '~a' from team '~a'~%"
- user (forgejo-team-name forgejo-team)))
+ user (forgejo-team-name forgejo-team))
+ (remove-team-member token forgejo-team user))
to-remove)))
(define* (synchronize-team token team