"strings"
"github.com/iotbzh/xds-server/lib/folder"
- "github.com/syncthing/syncthing/lib/config"
+ stconfig "github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/protocol"
)
}
for _, stFld := range stCfg.Folders {
- cliPath := strings.TrimPrefix(stFld.RawPath, s.conf.FileConf.ShareRootDir)
+ cliPath := strings.TrimPrefix(stFld.Path, s.conf.FileConf.ShareRootDir)
if cliPath == "" {
- cliPath = stFld.RawPath
+ cliPath = stFld.Path
}
*f = append(*f, folder.FolderConfig{
ID: stFld.ID,
return "", err
}
- newDevice := config.DeviceConfiguration{
+ newDevice := stconfig.DeviceConfiguration{
DeviceID: devID,
Name: stClientID,
Addresses: []string{"dynamic"},
id = stClientID[0:15] + "_" + label
}
- folder := config.FolderConfiguration{
- ID: id,
- Label: label,
- RawPath: filepath.Join(s.conf.FileConf.ShareRootDir, f.ClientPath),
+ folder := stconfig.FolderConfiguration{
+ ID: id,
+ Label: label,
+ Path: filepath.Join(s.conf.FileConf.ShareRootDir, f.ClientPath),
}
if s.conf.FileConf.SThgConf.RescanIntervalS > 0 {
folder.RescanIntervalS = s.conf.FileConf.SThgConf.RescanIntervalS
}
- folder.Devices = append(folder.Devices, config.FolderDeviceConfiguration{
+ folder.Devices = append(folder.Devices, stconfig.FolderDeviceConfiguration{
DeviceID: newDevice.DeviceID,
})
found = false
- var fld config.FolderConfiguration
+ var fld stconfig.FolderConfiguration
for _, fld = range stCfg.Folders {
if folder.ID == fld.ID {
fld = folder
}
// FolderConfigGet Returns the configuration of a specific folder
-func (s *SyncThing) FolderConfigGet(folderID string) (config.FolderConfiguration, error) {
- fc := config.FolderConfiguration{}
+func (s *SyncThing) FolderConfigGet(folderID string) (stconfig.FolderConfiguration, error) {
+ fc := stconfig.FolderConfiguration{}
if folderID == "" {
return fc, fmt.Errorf("folderID not set")
}
// IsFolderInSync Returns true when folder is in sync
func (s *SyncThing) IsFolderInSync(folderID string) (bool, error) {
- // FIXME better to detected FolderCompletion event (/rest/events)
- // See https://docs.syncthing.net/dev/events.html
sts, err := s.FolderStatus(folderID)
if err != nil {
return false, err
}
- return sts.NeedBytes == 0, nil
+ return sts.NeedBytes == 0 && sts.State == "idle", nil
}
// FolderScan Request immediate folder scan.