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

Reply via email to