-
Notifications
You must be signed in to change notification settings - Fork 17
/
foundries_events.go
42 lines (36 loc) · 977 Bytes
/
foundries_events.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package client
import (
"encoding/json"
)
type EventQueue struct {
Label string `json:"label"`
Type string `json:"type"`
PushUrl string `json:"push-url,omitempty"`
}
func (a *Api) EventQueuesList(factory string) ([]EventQueue, error) {
url := a.serverUrl + "/ota/factories/" + factory + "/event-queues/"
body, err := a.Get(url)
if err != nil {
return nil, err
}
var queues []EventQueue
err = json.Unmarshal(*body, &queues)
return queues, err
}
func (a *Api) EventQueuesDelete(factory, label string) error {
url := a.serverUrl + "/ota/factories/" + factory + "/event-queues/" + label + "/"
_, err := a.Delete(url, []byte{})
return err
}
func (a *Api) EventQueuesCreate(factory string, queue EventQueue) ([]byte, error) {
url := a.serverUrl + "/ota/factories/" + factory + "/event-queues/"
body, err := json.Marshal(queue)
if err != nil {
return nil, err
}
key, err := a.Post(url, body)
if err != nil {
return nil, err
}
return *key, err
}