diff options
Diffstat (limited to 'bridge/core/interfaces.go')
-rw-r--r-- | bridge/core/interfaces.go | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/bridge/core/interfaces.go b/bridge/core/interfaces.go index 5336e7a8..5ead3c8f 100644 --- a/bridge/core/interfaces.go +++ b/bridge/core/interfaces.go @@ -7,23 +7,27 @@ import ( 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 + // Target return the target of the bridge (e.g.: "github") + Target() string // Configure handle the user interaction and return a key/value configuration // for future use Configure(repo repository.RepoCommon) (Configuration, error) + // Importer return an Importer implementation if the import is supported Importer() Importer + + // Exporter return an Exporter implementation if the export is supported Exporter() Exporter } + +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 +} |