diff options
author | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-09-22 10:06:18 +0200 |
---|---|---|
committer | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-09-22 10:06:18 +0200 |
commit | f7901489d13c90c0f4d4273e93eacc990087e6b8 (patch) | |
tree | d7e0434494ca9802da8fa9e4f7fa7e9b4f0670d1 /lib/folder | |
parent | 1966f9e786dfb67543401d181a374bd7f3856f37 (diff) |
Allow to run xds-server without syncthing support.
To disable synchting support, just don't declare
"syncthing": {...} section in config.json file.
Diffstat (limited to 'lib/folder')
-rw-r--r-- | lib/folder/folder-st-disable.go | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/lib/folder/folder-st-disable.go b/lib/folder/folder-st-disable.go new file mode 100644 index 0000000..f90b776 --- /dev/null +++ b/lib/folder/folder-st-disable.go @@ -0,0 +1,82 @@ +package folder + +import ( + "github.com/iotbzh/xds-server/lib/xdsconfig" + uuid "github.com/satori/go.uuid" +) + +// IFOLDER interface implementation for disabled Syncthing folders +// It's a "fallback" interface used to keep syncthing folders config even +// when syncthing is not running. + +// STFolderDisable . +type STFolderDisable struct { + globalConfig *xdsconfig.Config + config FolderConfig +} + +// NewFolderSTDisable Create a new instance of STFolderDisable +func NewFolderSTDisable(gc *xdsconfig.Config) *STFolderDisable { + f := STFolderDisable{ + globalConfig: gc, + } + return &f +} + +// NewUID Get a UUID +func (f *STFolderDisable) NewUID(suffix string) string { + return uuid.NewV1().String() + "_" + suffix +} + +// Add a new folder +func (f *STFolderDisable) Add(cfg FolderConfig) (*FolderConfig, error) { + f.config = cfg + f.config.Status = StatusDisable + f.config.IsInSync = false + return &f.config, nil +} + +// GetConfig Get public part of folder config +func (f *STFolderDisable) GetConfig() FolderConfig { + return f.config +} + +// GetFullPath returns the full path of a directory (from server POV) +func (f *STFolderDisable) GetFullPath(dir string) string { + return "" +} + +// ConvPathCli2Svr Convert path from Client to Server +func (f *STFolderDisable) ConvPathCli2Svr(s string) string { + return "" +} + +// ConvPathSvr2Cli Convert path from Server to Client +func (f *STFolderDisable) ConvPathSvr2Cli(s string) string { + return "" +} + +// Remove a folder +func (f *STFolderDisable) Remove() error { + return nil +} + +// RegisterEventChange requests registration for folder change event +func (f *STFolderDisable) RegisterEventChange(cb *EventCB, data *EventCBData) error { + return nil +} + +// UnRegisterEventChange remove registered callback +func (f *STFolderDisable) UnRegisterEventChange() error { + return nil +} + +// Sync Force folder files synchronization +func (f *STFolderDisable) Sync() error { + return nil +} + +// IsInSync Check if folder files are in-sync +func (f *STFolderDisable) IsInSync() (bool, error) { + return false, nil +} |