func (c Application) authorize() revel.Result { if login, ok := c.Session["Login"]; ok { c.loginUser = models.FindUserBy(map[string]string{"Login": login}) c.RenderArgs["loginUser"] = c.loginUser } return nil }
func (c Users) getRepositories(login string) { user := models.FindUserBy(map[string]string{"Login": login}) if user == nil { return } githubRepositories := c.allGithubRepositories(login) for _, githubRepository := range githubRepositories { owner := githubRepository.Owner url := *githubRepository.HTMLURL stargazersCount := *githubRepository.StargazersCount if *githubRepository.Fork == true { githubRepositoryWithParent, _, err := c.loginUser.Github().Repositories.Get(*owner.Login, *githubRepository.Name) if err != nil { panic(err) } owner = githubRepositoryWithParent.Parent.Owner url = *githubRepositoryWithParent.Parent.HTMLURL stargazersCount = *githubRepositoryWithParent.Parent.StargazersCount } repository := models.FindOrCreateRepositoryBy(map[string]string{ "UserId": strconv.Itoa(user.Id), "Name": *githubRepository.Name, "Owner": *owner.Login, }) repository.Url = url repository.StargazersCount = stargazersCount repository.Save() } }
func (c Users) getPullRequests(login string) { user := models.FindUserBy(map[string]string{"Login": login}) if user == nil { return } for _, repository := range user.Repositories() { githubPullRequests := c.allGithubPullRequests(repository) if len(githubPullRequests) > 0 { c.createPullRequests(login, repository, githubPullRequests) repository.Contributed = true } else { repository.Contributed = false } repository.Save() } }
func (c Sessions) authorizeUserByAccessToken(accessToken string) { user := &models.User{AccessToken: accessToken} githubUser, _, err := user.Github().Users.Get("") if err != nil { panic(err) } login := *githubUser.Login c.Session["Login"] = login c.loginUser = models.FindUserBy(map[string]string{"Login": login}) if c.loginUser == nil { c.loginUser = models.CreateUser(map[string]string{ "Login": login, }) } if c.loginUser != nil { c.loginUser.AccessToken = accessToken c.loginUser.Save() } c.RenderArgs["loginUser"] = c.loginUser }