Skip to content

Commit 7fd14bf

Browse files
authored
optimization for team get repos (#953)
1 parent 46320f9 commit 7fd14bf

File tree

1 file changed

+2
-16
lines changed

1 file changed

+2
-16
lines changed

models/org_team.go

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -37,22 +37,8 @@ func (t *Team) IsMember(userID int64) bool {
3737
}
3838

3939
func (t *Team) getRepositories(e Engine) (err error) {
40-
teamRepos := make([]*TeamRepo, 0, t.NumRepos)
41-
if err = x.
42-
Where("team_id=?", t.ID).
43-
Find(&teamRepos); err != nil {
44-
return fmt.Errorf("get team-repos: %v", err)
45-
}
46-
47-
t.Repos = make([]*Repository, 0, len(teamRepos))
48-
for i := range teamRepos {
49-
repo, err := getRepositoryByID(e, teamRepos[i].RepoID)
50-
if err != nil {
51-
return fmt.Errorf("getRepositoryById(%d): %v", teamRepos[i].RepoID, err)
52-
}
53-
t.Repos = append(t.Repos, repo)
54-
}
55-
return nil
40+
return e.Join("INNER", "team_repo", "repository.id = team_repo.repo_id").
41+
Where("team_repo.team_id=?", t.ID).Find(&t.Repos)
5642
}
5743

5844
// GetRepositories returns all repositories in team of organization.

0 commit comments

Comments
 (0)