From 9687a9fb6661b18f199dccd4b7b4c8340ff98a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 16 Oct 2025 15:26:49 +0200 Subject: [PATCH] =?UTF-8?q?teams:=20=E2=80=98sync-codeberg-teams=E2=80=99?= =?UTF-8?q?=20actually=20removes=20team=20members=20when=20needed.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 e0abba37d1e1d05b8b42bcfd3b2cf392648ded0b..e4e6ead84c710e887f8d28d6cede10f6dcb5c975 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