aboutsummaryrefslogtreecommitdiffstats
path: root/bridge/core/params.go
blob: e398b81a517cc77725f0c535cea4d1d840b62408 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package core

import "fmt"

// BridgeParams holds parameters to simplify the bridge configuration without
// having to make terminal prompts.
type BridgeParams struct {
	URL        string // complete URL of a repo               (Github, Gitlab,     , Launchpad)
	BaseURL    string // base URL for self-hosted instance    (        Gitlab, Jira,          )
	Login      string // username for the passed credential   (Github, Gitlab, Jira,          )
	CredPrefix string // ID prefix of the credential to use   (Github, Gitlab, Jira,          )
	TokenRaw   string // pre-existing token to use            (Github, Gitlab,     ,          )
	Owner      string // owner of the repo                    (Github,       ,     ,          )
	Project    string // name of the repo or project key      (Github,       , Jira, Launchpad)
}

func (BridgeParams) fieldWarning(field string, target string) string {
	switch field {
	case "URL":
		return fmt.Sprintf("warning: --url is ineffective for a %s bridge", target)
	case "BaseURL":
		return fmt.Sprintf("warning: --base-url is ineffective for a %s bridge", target)
	case "Login":
		return fmt.Sprintf("warning: --login is ineffective for a %s bridge", target)
	case "CredPrefix":
		return fmt.Sprintf("warning: --credential is ineffective for a %s bridge", target)
	case "TokenRaw":
		return fmt.Sprintf("warning: tokens are ineffective for a %s bridge", target)
	case "Owner":
		return fmt.Sprintf("warning: --owner is ineffective for a %s bridge", target)
	case "Project":
		return fmt.Sprintf("warning: --project is ineffective for a %s bridge", target)
	default:
		panic("unknown field")
	}
}