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)
11
12const (
13	target         = "gitlab"
14	keyProjectID   = "project-id"
15	keyGitlabId    = "gitlab-id"
16	keyGitlabUrl   = "gitlab-url"
17	keyGitlabLogin = "gitlab-login"
18	keyToken       = "token"
19	keyTarget      = "target"
20	keyOrigin      = "origin"
21
22	defaultTimeout = 60 * time.Second
23)
24
25func init() {
26	core.Register(&Gitlab{})
27}
28
29type Gitlab struct{}
30
31func (*Gitlab) Target() string {
32	return target
33}
34
35func (*Gitlab) NewImporter() core.Importer {
36	return &gitlabImporter{}
37}
38
39func (*Gitlab) NewExporter() core.Exporter {
40	return &gitlabExporter{}
41}
42
43func buildClient(token string) *gitlab.Client {
44	client := &http.Client{
45		Timeout: defaultTimeout,
46	}
47
48	return gitlab.NewClient(client, token)
49}