diff --git a/task/sync.go b/task/sync.go index 25c3c01..4494e23 100644 --- a/task/sync.go +++ b/task/sync.go @@ -154,21 +154,8 @@ func SyncOrgMembers(token string, org *db.Org) (err error) { saveResponseMeta(token, resp) for _, user := range users { - var name, avatarURL string - if user.Name != nil { - name = *user.Name - } - if user.AvatarURL != nil { - avatarURL = *user.AvatarURL - } - u := &db.User{ - ID: uint64(*user.ID), - Login: *user.Login, - Name: name, - AvatarURL: avatarURL, - } - u.Save() - ids = append(ids, u.ID) + ids = append(ids, uint64(*user.ID)) + go SyncUserInfo(token, *user.Login) } if opt.Page >= resp.LastPage { break diff --git a/task/user.go b/task/user.go index c86ef1e..390b196 100644 --- a/task/user.go +++ b/task/user.go @@ -37,3 +37,12 @@ func FetchUserInfo(token, login string) (u *db.User, err error) { return } + +func SyncUserInfo(token, login string) (err error) { + defer report("SyncUserInfo", time.Now()) + var u *db.User + if u, err = FetchUserInfo(token, login); err == nil { + u.Save() + } + return +}