From 8ef2704fe38338ef7a1c05d4f5398406a54a6b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Brod=C3=A9n?= Date: Sat, 15 Feb 2020 11:20:03 +0100 Subject: [PATCH] Retrieve all recipients available for notifications --- api/notifications.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/api/notifications.go b/api/notifications.go index 31d1229..827ce5b 100644 --- a/api/notifications.go +++ b/api/notifications.go @@ -58,6 +58,24 @@ func (api *API) ReadNotification(instance_id int, id string) (map[string]interfa return data, err } +func (api *API) ReadNotifications(instance_id int) ([]map[string]interface{}, error) { + var data []map[string]interface{} + failed := make(map[string]interface{}) + log.Printf("[DEBUG] go-api::ReadNotifications::read instance id: %v", instance_id) + path := fmt.Sprintf("/api/instances/%d/alarms/recipients", instance_id) + response, err := api.sling.New().Path(path).Receive(&data, &failed) + log.Printf("[DEBUG] go-api::ReadNotifications::read data: %v", data) + + if err != nil { + return nil, err + } + if response.StatusCode != 200 { + return nil, errors.New(fmt.Sprintf("ReadNotifications failed, status: %v, message: %s", response.StatusCode, failed)) + } + + return data, err +} + func (api *API) UpdateNotification(instance_id int, params map[string]interface{}) error { failed := make(map[string]interface{}) log.Printf("[DEBUG] go-api::notification::update instance id: %v, params: %v", instance_id, params)