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
15	metaKeyGitlabId      = "gitlab-id"
16	metaKeyGitlabUrl     = "gitlab-url"
17	metaKeyGitlabLogin   = "gitlab-login"
18	metaKeyGitlabProject = "gitlab-project-id"
19
20	keyProjectID = "project-id"
21	keyToken     = "token"
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 string) *gitlab.Client {
41	client := &http.Client{
42		Timeout: defaultTimeout,
43	}
44
45	return gitlab.NewClient(client, token)
46}