From c99e7e1a62788b7bfdda1d3189a2b8c2254efa96 Mon Sep 17 00:00:00 2001 From: Ethan Koenig Date: Sat, 11 Mar 2017 03:50:12 -0500 Subject: [PATCH] Simplify RepositoryList.loadAttributes() (#1211) --- models/repo_list.go | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/models/repo_list.go b/models/repo_list.go index a1a309f9c..b7e314e70 100644 --- a/models/repo_list.go +++ b/models/repo_list.go @@ -21,26 +21,19 @@ func (repos RepositoryList) loadAttributes(e Engine) error { } // Load owners. - set := make(map[int64]*User) + set := make(map[int64]struct{}) for i := range repos { - set[repos[i].OwnerID] = nil + set[repos[i].OwnerID] = struct{}{} } - userIDs := make([]int64, 0, len(set)) - for userID := range set { - userIDs = append(userIDs, userID) - } - users := make([]*User, 0, len(userIDs)) + users := make(map[int64]*User, len(set)) if err := e. Where("id > 0"). - In("id", userIDs). + In("id", keysInt64(set)). Find(&users); err != nil { return fmt.Errorf("find users: %v", err) } - for i := range users { - set[users[i].ID] = users[i] - } for i := range repos { - repos[i].Owner = set[repos[i].OwnerID] + repos[i].Owner = users[repos[i].OwnerID] } return nil }