summaryrefslogtreecommitdiffstats
path: root/lib/apiv1/events.go
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-11-29 11:19:00 +0100
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-11-29 15:17:45 +0100
commit7c7d90a781082c6bd22d12a5e2451ca61a5198af (patch)
tree980c4ebea211b1a757343296debc39b3aa6b4859 /lib/apiv1/events.go
parentb9239d295a7fb7e3f5c595887b3bf77d50c8b216 (diff)
Renamed apiv1 lib to xaapiv1.
xa prefix (for Xds Agent) is safest to avoid confusion with xs prefix (for Xds Server) Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'lib/apiv1/events.go')
-rw-r--r--lib/apiv1/events.go77
1 files changed, 0 insertions, 77 deletions
diff --git a/lib/apiv1/events.go b/lib/apiv1/events.go
deleted file mode 100644
index b2fda62..0000000
--- a/lib/apiv1/events.go
+++ /dev/null
@@ -1,77 +0,0 @@
-package apiv1
-
-import (
- "encoding/json"
- "fmt"
-)
-
-// EventRegisterArgs is the parameters (json format) of /events/register command
-type EventRegisterArgs struct {
- Name string `json:"name"`
- ProjectID string `json:"filterProjectID"`
-}
-
-// EventUnRegisterArgs is the parameters (json format) of /events/unregister command
-type EventUnRegisterArgs struct {
- Name string `json:"name"`
- ID int `json:"id"`
-}
-
-// Events Type definitions
-const (
- // EventTypePrefix Used as event prefix
- EventTypePrefix = "event:" // following by event type
-
- // Supported Events type
- EVTAll = EventTypePrefix + "all"
- EVTServerConfig = EventTypePrefix + "server-config" // type EventMsg with Data type apiv1.ServerCfg
- EVTProjectAdd = EventTypePrefix + "project-add" // type EventMsg with Data type apiv1.ProjectConfig
- EVTProjectDelete = EventTypePrefix + "project-delete" // type EventMsg with Data type apiv1.ProjectConfig
- EVTProjectChange = EventTypePrefix + "project-state-change" // type EventMsg with Data type apiv1.ProjectConfig
-)
-
-// EVTAllList List of all supported events
-var EVTAllList = []string{
- EVTServerConfig,
- EVTProjectAdd,
- EVTProjectDelete,
- EVTProjectChange,
-}
-
-// EventMsg Event message send over Websocket, data format depend to Type (see DecodeXXX function)
-type EventMsg struct {
- Time string `json:"time"` // Timestamp
- FromSessionID string `json:"sessionID"` // Session ID of client that emits this event
- Type string `json:"type"` // Data type
- Data interface{} `json:"data"` // Data
-}
-
-// DecodeServerCfg Helper to decode Data field type ServerCfg
-func (e *EventMsg) DecodeServerCfg() (ServerCfg, error) {
- p := ServerCfg{}
- if e.Type != EVTServerConfig {
- return p, fmt.Errorf("Invalid type")
- }
- d, err := json.Marshal(e.Data)
- if err == nil {
- err = json.Unmarshal(d, &p)
- }
- return p, err
-}
-
-// DecodeProjectConfig Helper to decode Data field type ProjectConfig
-func (e *EventMsg) DecodeProjectConfig() (ProjectConfig, error) {
- var err error
- p := ProjectConfig{}
- switch e.Type {
- case EVTProjectAdd, EVTProjectChange, EVTProjectDelete:
- d := []byte{}
- d, err = json.Marshal(e.Data)
- if err == nil {
- err = json.Unmarshal(d, &p)
- }
- default:
- err = fmt.Errorf("Invalid type")
- }
- return p, err
-}