correctly honor include_current_user config option

This commit is contained in:
Massaki Archambault 2021-03-23 22:18:48 -04:00
parent bfdb1f0946
commit 7afde6a9eb
3 changed files with 14 additions and 7 deletions

View File

@ -21,7 +21,8 @@ type Refresher interface {
} }
type GitlabClientParam struct { type GitlabClientParam struct {
PullMethod string PullMethod string
IncludeCurrentUser bool
} }
type gitlabClient struct { type gitlabClient struct {

View File

@ -1,6 +1,7 @@
package gitlab package gitlab
import ( import (
"errors"
"fmt" "fmt"
"sync" "sync"
@ -50,12 +51,16 @@ func (c *gitlabClient) FetchUser(uid int) (*User, error) {
} }
func (c *gitlabClient) FetchCurrentUser() (*User, error) { func (c *gitlabClient) FetchCurrentUser() (*User, error) {
gitlabUser, _, err := c.client.Users.CurrentUser() if c.IncludeCurrentUser {
if err != nil { gitlabUser, _, err := c.client.Users.CurrentUser()
return nil, fmt.Errorf("failed to fetch current user: %v", err) if err != nil {
return nil, fmt.Errorf("failed to fetch current user: %v", err)
}
user := NewUserFromGitlabUser(gitlabUser)
return &user, nil
} }
user := NewUserFromGitlabUser(gitlabUser) // no current user to fetch, return nil
return &user, nil return nil, errors.New("current user fetch is disabled")
} }
func (c *gitlabClient) FetchUserContent(user *User) (*UserContent, error) { func (c *gitlabClient) FetchUserContent(user *User) (*UserContent, error) {

View File

@ -99,7 +99,8 @@ func makeGitlabConfig(config *Config) (*gitlab.GitlabClientParam, error) {
} }
return &gitlab.GitlabClientParam{ return &gitlab.GitlabClientParam{
PullMethod: config.Git.PullMethod, PullMethod: config.Git.PullMethod,
IncludeCurrentUser: config.Gitlab.IncludeCurrentUser && config.Gitlab.Token != "",
}, nil }, nil
} }