New dashboard improvements.
[src/xds/xds-agent.git] / lib / agent / project-interface.go
1 package agent
2
3 import "github.com/iotbzh/xds-agent/lib/apiv1"
4
5 // IPROJECT Project interface
6 type IPROJECT interface {
7         Add(cfg apiv1.ProjectConfig) (*apiv1.ProjectConfig, error)          // Add a new project
8         Setup(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error) // Local setup of the project
9         Delete() error                                                      // Delete a project
10         GetProject() *apiv1.ProjectConfig                                   // Get project public configuration
11         Update(prj apiv1.ProjectConfig) (*apiv1.ProjectConfig, error)       // Update project configuration
12         GetServer() *XdsServer                                              // Get XdsServer that holds this project
13         Sync() error                                                        // Force project files synchronization
14         IsInSync() (bool, error)                                            // Check if project files are in-sync
15 }