1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-05 05:45:22 +02:00

refactor(teams): migrate teams to react [EE-2273] (#6691)

closes [EE-2273]
This commit is contained in:
Chaim Lev-Ari 2022-09-02 18:30:34 +03:00 committed by GitHub
parent 9b02f575ef
commit f9427c8fb2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
97 changed files with 1929 additions and 938 deletions

View file

@ -27,17 +27,22 @@ func FilterUserTeams(teams []portainer.Team, context *RestrictedRequestContext)
// FilterLeaderTeams filters teams based on user role.
// Team leaders only have access to team they lead.
func FilterLeaderTeams(teams []portainer.Team, context *RestrictedRequestContext) []portainer.Team {
filteredTeams := teams
filteredTeams := []portainer.Team{}
if context.IsTeamLeader {
filteredTeams = make([]portainer.Team, 0)
for _, membership := range context.UserMemberships {
for _, team := range teams {
if team.ID == membership.TeamID && membership.Role == portainer.TeamLeader {
filteredTeams = append(filteredTeams, team)
break
}
}
if !context.IsTeamLeader {
return filteredTeams
}
leaderSet := map[portainer.TeamID]bool{}
for _, membership := range context.UserMemberships {
if membership.Role == portainer.TeamLeader && membership.UserID == context.UserID {
leaderSet[membership.TeamID] = true
}
}
for _, team := range teams {
if leaderSet[team.ID] {
filteredTeams = append(filteredTeams, team)
}
}