gitlab.go

 1package gitlab
 2
 3import (
 4	"net/http"
 5	"time"
 6
 7	"github.com/xanzy/go-gitlab"
 8
 9	"github.com/MichaelMure/git-bug/bridge/core"
10	"github.com/MichaelMure/git-bug/bridge/core/auth"
11)
12
13const (
14	target = "gitlab"
15
16	metaKeyGitlabId      = "gitlab-id"
17	metaKeyGitlabUrl     = "gitlab-url"
18	metaKeyGitlabLogin   = "gitlab-login"
19	metaKeyGitlabProject = "gitlab-project-id"
20
21	keyProjectID = "project-id"
22
23	defaultTimeout = 60 * time.Second
24)
25
26type Gitlab struct{}
27
28func (*Gitlab) Target() string {
29	return target
30}
31
32func (*Gitlab) NewImporter() core.Importer {
33	return &gitlabImporter{}
34}
35
36func (*Gitlab) NewExporter() core.Exporter {
37	return &gitlabExporter{}
38}
39
40func buildClient(token *auth.Token) *gitlab.Client {
41	client := &http.Client{
42		Timeout: defaultTimeout,
43	}
44
45	return gitlab.NewClient(client, token.Value)
46}