diff options
Diffstat (limited to 'bridge/core/interfaces.go')
-rw-r--r-- | bridge/core/interfaces.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/bridge/core/interfaces.go b/bridge/core/interfaces.go new file mode 100644 index 00000000..5336e7a8 --- /dev/null +++ b/bridge/core/interfaces.go @@ -0,0 +1,29 @@ +package core + +import ( + "github.com/MichaelMure/git-bug/cache" + "github.com/MichaelMure/git-bug/repository" +) + +type Configuration map[string]string + +type Importer interface { + ImportAll(repo *cache.RepoCache, conf Configuration) error + Import(repo *cache.RepoCache, conf Configuration, id string) error +} + +type Exporter interface { + ExportAll(repo *cache.RepoCache, conf Configuration) error + Export(repo *cache.RepoCache, conf Configuration, id string) error +} + +type BridgeImpl interface { + Name() string + + // Configure handle the user interaction and return a key/value configuration + // for future use + Configure(repo repository.RepoCommon) (Configuration, error) + + Importer() Importer + Exporter() Exporter +} |