Allow to run xds-server without syncthing support.
[src/xds/xds-server.git] / lib / folder / folder-st-disable.go
1 package folder
2
3 import (
4         "github.com/iotbzh/xds-server/lib/xdsconfig"
5         uuid "github.com/satori/go.uuid"
6 )
7
8 // IFOLDER interface implementation for disabled Syncthing folders
9 // It's a "fallback" interface used to keep syncthing folders config even
10 // when syncthing is not running.
11
12 // STFolderDisable .
13 type STFolderDisable struct {
14         globalConfig *xdsconfig.Config
15         config       FolderConfig
16 }
17
18 // NewFolderSTDisable Create a new instance of STFolderDisable
19 func NewFolderSTDisable(gc *xdsconfig.Config) *STFolderDisable {
20         f := STFolderDisable{
21                 globalConfig: gc,
22         }
23         return &f
24 }
25
26 // NewUID Get a UUID
27 func (f *STFolderDisable) NewUID(suffix string) string {
28         return uuid.NewV1().String() + "_" + suffix
29 }
30
31 // Add a new folder
32 func (f *STFolderDisable) Add(cfg FolderConfig) (*FolderConfig, error) {
33         f.config = cfg
34         f.config.Status = StatusDisable
35         f.config.IsInSync = false
36         return &f.config, nil
37 }
38
39 // GetConfig Get public part of folder config
40 func (f *STFolderDisable) GetConfig() FolderConfig {
41         return f.config
42 }
43
44 // GetFullPath returns the full path of a directory (from server POV)
45 func (f *STFolderDisable) GetFullPath(dir string) string {
46         return ""
47 }
48
49 // ConvPathCli2Svr Convert path from Client to Server
50 func (f *STFolderDisable) ConvPathCli2Svr(s string) string {
51         return ""
52 }
53
54 // ConvPathSvr2Cli Convert path from Server to Client
55 func (f *STFolderDisable) ConvPathSvr2Cli(s string) string {
56         return ""
57 }
58
59 // Remove a folder
60 func (f *STFolderDisable) Remove() error {
61         return nil
62 }
63
64 // RegisterEventChange requests registration for folder change event
65 func (f *STFolderDisable) RegisterEventChange(cb *EventCB, data *EventCBData) error {
66         return nil
67 }
68
69 // UnRegisterEventChange remove registered callback
70 func (f *STFolderDisable) UnRegisterEventChange() error {
71         return nil
72 }
73
74 // Sync Force folder files synchronization
75 func (f *STFolderDisable) Sync() error {
76         return nil
77 }
78
79 // IsInSync Check if folder files are in-sync
80 func (f *STFolderDisable) IsInSync() (bool, error) {
81         return false, nil
82 }