Renamed apiv1 lib to xaapiv1.
[src/xds/xds-agent.git] / lib / xaapiv1 / projects.go
diff --git a/lib/xaapiv1/projects.go b/lib/xaapiv1/projects.go
new file mode 100644 (file)
index 0000000..51c5837
--- /dev/null
@@ -0,0 +1,38 @@
+package xaapiv1
+
+// 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"
+)
+
+// 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"`
+       ClientData string      `json:"clientData"` // free form field that can used by client
+}
+
+// ProjectConfigUpdatableFields List fields that can be updated using Update function
+var ProjectConfigUpdatableFields = []string{
+       "Label", "DefaultSdk", "ClientData",
+}