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}