diff options
Diffstat (limited to 'lib/agent/project-st.go')
-rw-r--r-- | lib/agent/project-st.go | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/lib/agent/project-st.go b/lib/agent/project-st.go index c4e8fce..d5939e6 100644 --- a/lib/agent/project-st.go +++ b/lib/agent/project-st.go @@ -3,8 +3,9 @@ package agent import ( "fmt" - "github.com/iotbzh/xds-agent/lib/apiv1" st "github.com/iotbzh/xds-agent/lib/syncthing" + "github.com/iotbzh/xds-agent/lib/xaapiv1" + "github.com/iotbzh/xds-server/lib/xsapiv1" ) // IPROJECT interface implementation for syncthing projects @@ -13,7 +14,7 @@ import ( type STProject struct { *Context server *XdsServer - folder *XdsFolderConfig + folder *xsapiv1.FolderConfig eventIDs []int } @@ -22,13 +23,13 @@ func NewProjectST(ctx *Context, svr *XdsServer) *STProject { p := STProject{ Context: ctx, server: svr, - folder: &XdsFolderConfig{}, + folder: &xsapiv1.FolderConfig{}, } return &p } // Add a new project -func (p *STProject) Add(cfg apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) { +func (p *STProject) Add(cfg xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) { var err error // Add project/folder into XDS Server @@ -51,7 +52,7 @@ func (p *STProject) Add(cfg apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) { locPrj, err := p.SThg.FolderConfigGet(id) if err != nil { - svrPrj.Status = apiv1.StatusErrorConfig + svrPrj.Status = xaapiv1.StatusErrorConfig return nil, err } if svrPrj.ID != locPrj.ID { @@ -73,14 +74,14 @@ func (p *STProject) Delete() error { } // GetProject Get public part of project config -func (p *STProject) GetProject() *apiv1.ProjectConfig { +func (p *STProject) GetProject() *xaapiv1.ProjectConfig { prj := p.server.FolderToProject(*p.folder) prj.ServerID = p.server.ID return &prj } // Setup Setup local project config -func (p *STProject) Setup(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) { +func (p *STProject) Setup(prj xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) { // Update folder p.folder = p.server.ProjectToFolder(prj) svrPrj := p.GetProject() @@ -106,7 +107,7 @@ func (p *STProject) Setup(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) } // Update Update some field of a project -func (p *STProject) Update(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) { +func (p *STProject) Update(prj xaapiv1.ProjectConfig) (*xaapiv1.ProjectConfig, error) { if p.folder.ID != prj.ID { return nil, fmt.Errorf("Invalid id") @@ -146,7 +147,7 @@ func (p *STProject) IsInSync() (bool, error) { // callback use to update (XDS Server) folder IsInSync status func (p *STProject) _cbServerFolderChanged(pData interface{}, data interface{}) error { - evt := data.(XdsEventFolderChange) + evt := data.(xsapiv1.EventMsg) // Only process event that concerns this project/folder ID if p.folder.ID != evt.Folder.ID { @@ -159,7 +160,7 @@ func (p *STProject) _cbServerFolderChanged(pData interface{}, data interface{}) p.folder.DataCloudSync.STSvrIsInSync = evt.Folder.IsInSync p.folder.DataCloudSync.STSvrStatus = evt.Folder.Status - if err := p.events.Emit(apiv1.EVTProjectChange, p.server.FolderToProject(*p.folder), ""); err != nil { + if err := p.events.Emit(xaapiv1.EVTProjectChange, p.server.FolderToProject(*p.folder), ""); err != nil { p.Log.Warningf("Cannot notify project change (from server): %v", err) } } @@ -180,15 +181,15 @@ func (p *STProject) _cbLocalSTEvents(ev st.Event, data *st.EventsCBData) { to := ev.Data["to"] switch to { case "scanning", "syncing": - sts = apiv1.StatusSyncing + sts = xaapiv1.StatusSyncing case "idle": - sts = apiv1.StatusEnable + sts = xaapiv1.StatusEnable } inSync = (to == "idle") case st.EventFolderPaused: - if sts == apiv1.StatusEnable { - sts = apiv1.StatusPause + if sts == xaapiv1.StatusEnable { + sts = xaapiv1.StatusPause } inSync = false } @@ -198,7 +199,7 @@ func (p *STProject) _cbLocalSTEvents(ev st.Event, data *st.EventsCBData) { p.folder.DataCloudSync.STLocIsInSync = inSync p.folder.DataCloudSync.STLocStatus = sts - if err := p.events.Emit(apiv1.EVTProjectChange, p.server.FolderToProject(*p.folder), ""); err != nil { + if err := p.events.Emit(xaapiv1.EVTProjectChange, p.server.FolderToProject(*p.folder), ""); err != nil { p.Log.Warningf("Cannot notify project change (local): %v", err) } } |