config.go

 1package launchpad
 2
 3import (
 4	"bufio"
 5	"fmt"
 6	"os"
 7	"strings"
 8
 9	"github.com/MichaelMure/git-bug/bridge/core"
10	"github.com/MichaelMure/git-bug/repository"
11)
12
13const keyProject = "project"
14
15func (*Launchpad) Configure(repo repository.RepoCommon) (core.Configuration, error) {
16	conf := make(core.Configuration)
17
18	projectName, err := promptProjectName()
19	if err != nil {
20		return nil, err
21	}
22
23	conf[keyProject] = projectName
24
25	return conf, nil
26}
27
28func promptProjectName() (string, error) {
29	for {
30		fmt.Print("Launchpad project name: ")
31
32		line, err := bufio.NewReader(os.Stdin).ReadString('\n')
33		if err != nil {
34			return "", err
35		}
36
37		line = strings.TrimRight(line, "\n")
38
39		if line == "" {
40			fmt.Println("Project name is empty")
41			continue
42		}
43
44		return line, nil
45	}
46}
47
48func (*Launchpad) ValidateConfig(conf core.Configuration) error {
49	return nil
50}