MCPcopy Create free account
hub / github.com/zalando/postgres-operator / Load

Method Load

pkg/teams/postgres_team.go:103–128  ·  view source on GitHub ↗

Load function to import data from PostgresTeam CRD

(pgTeams *acidv1.PostgresTeamList)

Source from the content-addressed store, hash-verified

101
102// Load function to import data from PostgresTeam CRD
103func (ptm *PostgresTeamMap) Load(pgTeams *acidv1.PostgresTeamList) {
104 // reset the team map
105 *ptm = make(PostgresTeamMap, 0)
106
107 superuserTeamSet := teamHashSet{}
108 teamSet := teamHashSet{}
109 teamMemberSet := teamHashSet{}
110 teamIDs := make(map[string]struct{})
111
112 for _, pgTeam := range pgTeams.Items {
113 superuserTeamSet.mergeCrdMap(pgTeam.Spec.AdditionalSuperuserTeams)
114 teamSet.mergeCrdMap(pgTeam.Spec.AdditionalTeams)
115 teamMemberSet.mergeCrdMap(pgTeam.Spec.AdditionalMembers)
116 }
117 fetchTeams(&teamIDs, superuserTeamSet)
118 fetchTeams(&teamIDs, teamSet)
119 fetchTeams(&teamIDs, teamMemberSet)
120
121 for teamID := range teamIDs {
122 (*ptm)[teamID] = postgresTeamMembership{
123 AdditionalSuperuserTeams: util.CoalesceStrArr(superuserTeamSet.toMap()[teamID], []string{}),
124 AdditionalTeams: util.CoalesceStrArr(teamSet.toMap()[teamID], []string{}),
125 AdditionalMembers: util.CoalesceStrArr(teamMemberSet.toMap()[teamID], []string{}),
126 }
127 }
128}

Callers 5

TestGetAdditionalTeamsFunction · 0.95
loadPostgresTeamsMethod · 0.80
WorkerStatusMethod · 0.80

Calls 4

mergeCrdMapMethod · 0.95
toMapMethod · 0.95
CoalesceStrArrFunction · 0.92
fetchTeamsFunction · 0.85

Tested by 3

TestGetAdditionalTeamsFunction · 0.76