summaryrefslogtreecommitdiffstats
path: root/lib/xdsconfig
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-13 23:13:42 +0200
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-05-13 23:13:42 +0200
commit87f390b37d51a4c8777d27836389e86e78c690d1 (patch)
treebe1089fa33f118f9bdf9e762a5f88a94ee0759d1 /lib/xdsconfig
parent7ecaccbae9b7741d8a285b98885e786dc1d4c79c (diff)
Fix invalid rootPath when creating a new project.
Diffstat (limited to 'lib/xdsconfig')
-rw-r--r--lib/xdsconfig/config.go6
-rw-r--r--lib/xdsconfig/folderconfig.go4
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/xdsconfig/config.go b/lib/xdsconfig/config.go
index df98439..801891b 100644
--- a/lib/xdsconfig/config.go
+++ b/lib/xdsconfig/config.go
@@ -186,6 +186,12 @@ func (c *Config) UpdateAll(newCfg Config) error {
// UpdateFolder updates a specific folder into the current configuration
func (c *Config) UpdateFolder(newFolder FolderConfig) (FolderConfig, error) {
+ // rootPath should not be empty
+ if newFolder.rootPath == "" {
+ newFolder.rootPath = c.ShareRootDir
+ }
+
+ // Sanity check of folder settings
if err := FolderVerify(newFolder); err != nil {
return FolderConfig{}, err
}
diff --git a/lib/xdsconfig/folderconfig.go b/lib/xdsconfig/folderconfig.go
index e8bff4f..f22e76f 100644
--- a/lib/xdsconfig/folderconfig.go
+++ b/lib/xdsconfig/folderconfig.go
@@ -70,6 +70,10 @@ func FolderVerify(fCfg FolderConfig) error {
err = fmt.Errorf("device id not set (SyncThingID field)")
}
+ if fCfg.rootPath == "" {
+ err = fmt.Errorf("rootPath must not be empty")
+ }
+
if err != nil {
fCfg.Status = FolderStatusErrorConfig
log.Printf("ERROR FolderVerify: %v\n", err)