Exemple #1
0
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
}
Exemple #2
0
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()
	}
}
Exemple #3
0
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()
	}
}
Exemple #4
0
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
}