|
|
|
@ -308,40 +308,38 @@ func ToTeam(ctx context.Context, team *organization.Team, loadOrg ...bool) (*api
|
|
|
|
|
|
|
|
|
|
// ToTeams convert models.Team list to api.Team list
|
|
|
|
|
func ToTeams(ctx context.Context, teams []*organization.Team, loadOrgs bool) ([]*api.Team, error) {
|
|
|
|
|
if len(teams) == 0 || teams[0] == nil {
|
|
|
|
|
return nil, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cache := make(map[int64]*api.Organization)
|
|
|
|
|
apiTeams := make([]*api.Team, len(teams))
|
|
|
|
|
for i := range teams {
|
|
|
|
|
if err := teams[i].LoadUnits(ctx); err != nil {
|
|
|
|
|
apiTeams := make([]*api.Team, 0, len(teams))
|
|
|
|
|
for _, t := range teams {
|
|
|
|
|
if err := t.LoadUnits(ctx); err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiTeams[i] = &api.Team{
|
|
|
|
|
ID: teams[i].ID,
|
|
|
|
|
Name: teams[i].Name,
|
|
|
|
|
Description: teams[i].Description,
|
|
|
|
|
IncludesAllRepositories: teams[i].IncludesAllRepositories,
|
|
|
|
|
CanCreateOrgRepo: teams[i].CanCreateOrgRepo,
|
|
|
|
|
Permission: teams[i].AccessMode.String(),
|
|
|
|
|
Units: teams[i].GetUnitNames(),
|
|
|
|
|
UnitsMap: teams[i].GetUnitsMap(),
|
|
|
|
|
apiTeam := &api.Team{
|
|
|
|
|
ID: t.ID,
|
|
|
|
|
Name: t.Name,
|
|
|
|
|
Description: t.Description,
|
|
|
|
|
IncludesAllRepositories: t.IncludesAllRepositories,
|
|
|
|
|
CanCreateOrgRepo: t.CanCreateOrgRepo,
|
|
|
|
|
Permission: t.AccessMode.String(),
|
|
|
|
|
Units: t.GetUnitNames(),
|
|
|
|
|
UnitsMap: t.GetUnitsMap(),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if loadOrgs {
|
|
|
|
|
apiOrg, ok := cache[teams[i].OrgID]
|
|
|
|
|
apiOrg, ok := cache[t.OrgID]
|
|
|
|
|
if !ok {
|
|
|
|
|
org, err := organization.GetOrgByID(ctx, teams[i].OrgID)
|
|
|
|
|
org, err := organization.GetOrgByID(ctx, t.OrgID)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
apiOrg = ToOrganization(ctx, org)
|
|
|
|
|
cache[teams[i].OrgID] = apiOrg
|
|
|
|
|
cache[t.OrgID] = apiOrg
|
|
|
|
|
}
|
|
|
|
|
apiTeams[i].Organization = apiOrg
|
|
|
|
|
apiTeam.Organization = apiOrg
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
apiTeams = append(apiTeams, apiTeam)
|
|
|
|
|
}
|
|
|
|
|
return apiTeams, nil
|
|
|
|
|
}
|
|
|
|
|