Moved all structs exposed by API into apiv1 package
[src/xds/xds-agent.git] / lib / agent / project-interface.go
index 0a4a17e..c9e9ec5 100644 (file)
@@ -1,43 +1,14 @@
 package agent
 
-// ProjectType definition
-type ProjectType string
-
-const (
-       TypePathMap   = "PathMap"
-       TypeCloudSync = "CloudSync"
-       TypeCifsSmb   = "CIFS"
-)
-
-// Project Status definition
-const (
-       StatusErrorConfig = "ErrorConfig"
-       StatusDisable     = "Disable"
-       StatusEnable      = "Enable"
-       StatusPause       = "Pause"
-       StatusSyncing     = "Syncing"
-)
+import "github.com/iotbzh/xds-agent/lib/apiv1"
 
 // IPROJECT Project interface
 type IPROJECT interface {
-       Add(cfg ProjectConfig) (*ProjectConfig, error)           // Add a new project
-       Delete() error                                           // Delete a project
-       GetProject() *ProjectConfig                              // Get project public configuration
-       UpdateProject(prj ProjectConfig) (*ProjectConfig, error) // Update project configuration
-       GetServer() *XdsServer                                   // Get XdsServer that holds this project
-       Sync() error                                             // Force project files synchronization
-       IsInSync() (bool, error)                                 // Check if project files are in-sync
-}
-
-// ProjectConfig is the config for one project
-type ProjectConfig struct {
-       ID         string      `json:"id"`
-       ServerID   string      `json:"serverId"`
-       Label      string      `json:"label"`
-       ClientPath string      `json:"clientPath"`
-       ServerPath string      `json:"serverPath"`
-       Type       ProjectType `json:"type"`
-       Status     string      `json:"status"`
-       IsInSync   bool        `json:"isInSync"`
-       DefaultSdk string      `json:"defaultSdk"`
+       Add(cfg apiv1.ProjectConfig) (*apiv1.ProjectConfig, error)           // Add a new project
+       Delete() error                                                             // Delete a project
+       GetProject() *apiv1.ProjectConfig                                       // Get project public configuration
+       UpdateProject(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) // Update project configuration
+       GetServer() *XdsServer                                                     // Get XdsServer that holds this project
+       Sync() error                                                               // Force project files synchronization
+       IsInSync() (bool, error)                                                   // Check if project files are in-sync
 }