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:
parent
9b02f575ef
commit
f9427c8fb2
97 changed files with 1929 additions and 938 deletions
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue