mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 00:02:59 -04:00 
			
		
		
		
	Fix convert.ToTeams on empty input (#28426)
				
					
				
			Fixes #28420 Don't return `nil` if the input was empty.
This commit is contained in:
		
							parent
							
								
									abfdaef5bd
								
							
						
					
					
						commit
						595a9291b6
					
				| @ -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 | ||||
| } | ||||
|  | ||||
| @ -21,15 +21,9 @@ func ToPullReview(ctx context.Context, r *issues_model.Review, doer *user_model. | ||||
| 		r.Reviewer = user_model.NewGhostUser() | ||||
| 	} | ||||
| 
 | ||||
| 	apiTeam, err := ToTeam(ctx, r.ReviewerTeam) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	result := &api.PullReview{ | ||||
| 		ID:                r.ID, | ||||
| 		Reviewer:          ToUser(ctx, r.Reviewer, doer), | ||||
| 		ReviewerTeam:      apiTeam, | ||||
| 		State:             api.ReviewStateUnknown, | ||||
| 		Body:              r.Content, | ||||
| 		CommitID:          r.CommitID, | ||||
| @ -43,6 +37,14 @@ func ToPullReview(ctx context.Context, r *issues_model.Review, doer *user_model. | ||||
| 		HTMLPullURL:       r.Issue.HTMLURL(), | ||||
| 	} | ||||
| 
 | ||||
| 	if r.ReviewerTeam != nil { | ||||
| 		var err error | ||||
| 		result.ReviewerTeam, err = ToTeam(ctx, r.ReviewerTeam) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	switch r.Type { | ||||
| 	case issues_model.ReviewTypeApprove: | ||||
| 		result.State = api.ReviewStateApproved | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user