From 9a1aefe0dab94b9487e3ff95b553fd9c04053a71 Mon Sep 17 00:00:00 2001 From: Alejandro Menocal Date: Tue, 5 Nov 2024 18:15:20 -0600 Subject: [PATCH] remove auth user if not part of member --- internal/team/team.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/internal/team/team.go b/internal/team/team.go index 17495e9..d8d4918 100644 --- a/internal/team/team.go +++ b/internal/team/team.go @@ -125,9 +125,28 @@ func (t Team) CreateTeam() { userSync := viper.GetString("USER_SYNC") if userSync != "disable" { + authenticatedUser, err := api.GetAuthenticatedUser() + if err != nil { + log.Println("Unable to get authenticated user - ", err) + } + + authUserLogin := authenticatedUser.GetLogin() + + memberMap := make(map[string]bool) for _, member := range t.Members { + memberMap[member.Login] = true api.AddTeamMember(t.Slug, member.Login, member.Role) } + + //If authenticated user is not part of the members, remove them from the team + if authUserLogin != "" && !memberMap[authUserLogin] { + err := api.RemoveTeamMember(t.Slug, authenticatedUser.GetLogin()) + if err != nil { + log.Println("Unable to remove authenticated user from team - ", err) + } else { + log.Println(authenticatedUser.GetLogin(), "removed from team as they are not part of the members list") + } + } } } }