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
This commit is contained in:
Ludovic Courtès 2025-10-16 15:26:49 +02:00
parent 633ed510fa
commit 9687a9fb66
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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