X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fmodel%2Ffolder.go;h=fa9440999b68ec04ce0b2ab1906b2ccab32edd0b;hb=330cffa06c3efea42a42ca8e908b8b24db6bba3f;hp=be1bc333c0e489e43970389ddee7bfc0776fffa0;hpb=2c9ae6a5a27ae2f2e23495c613e7a53aed8e786c;p=src%2Fxds%2Fxds-server.git diff --git a/lib/model/folder.go b/lib/model/folder.go index be1bc33..fa94409 100644 --- a/lib/model/folder.go +++ b/lib/model/folder.go @@ -3,6 +3,7 @@ package model import ( "fmt" + "github.com/iotbzh/xds-server/lib/common" "github.com/iotbzh/xds-server/lib/syncthing" "github.com/iotbzh/xds-server/lib/xdsconfig" ) @@ -69,8 +70,13 @@ func (c *Folder) UpdateFolder(newFolder xdsconfig.FolderConfig) (xdsconfig.Folde return xdsconfig.FolderConfig{}, err } + // Normalize path (needed for Windows path including bashlashes) + newFolder.RelativePath = common.PathNormalize(newFolder.RelativePath) + + // Update config folder c.Conf.Folders = c.Conf.Folders.Update(xdsconfig.FoldersConfig{newFolder}) + // Update Syncthing folder err := c.SThg.FolderChange(newFolder) newFolder.BuilderSThgID = c.Conf.Builder.SyncThingID // FIXME - should be removed after local ST config rework @@ -92,3 +98,13 @@ func (c *Folder) DeleteFolder(id string) (xdsconfig.FolderConfig, error) { return fld, err } + +// ForceSync Force the synchronization of a folder +func (c *Folder) ForceSync(id string) error { + return c.SThg.FolderScan(id, "") +} + +// IsFolderInSync Returns true when folder is in sync +func (c *Folder) IsFolderInSync(id string) (bool, error) { + return c.SThg.IsFolderInSync(id) +}