interfaces.go

 1package core
 2
 3import (
 4	"github.com/MichaelMure/git-bug/cache"
 5	"github.com/MichaelMure/git-bug/repository"
 6)
 7
 8type Configuration map[string]string
 9
10type Importer interface {
11	ImportAll(repo *cache.RepoCache, conf Configuration) error
12	Import(repo *cache.RepoCache, conf Configuration, id string) error
13}
14
15type Exporter interface {
16	ExportAll(repo *cache.RepoCache, conf Configuration) error
17	Export(repo *cache.RepoCache, conf Configuration, id string) error
18}
19
20type BridgeImpl interface {
21	Name() string
22
23	// Configure handle the user interaction and return a key/value configuration
24	// for future use
25	Configure(repo repository.RepoCommon) (Configuration, error)
26
27	Importer() Importer
28	Exporter() Exporter
29}