favourites.go
author Mikael Berthe <mikael@lilotux.net>
Wed, 12 Apr 2017 23:22:42 +0200
changeset 93 d427d8aa75f9
child 98 5d803adfc57e
permissions -rw-r--r--
Add GetFavourites()
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
93
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     1
package gondole
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     2
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     3
import (
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     4
	"encoding/json"
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     5
	"fmt"
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     6
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     7
	"github.com/sendgrid/rest"
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     8
)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
     9
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    10
// GetFavourites returns the list of the user's favourites
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    11
func (g *Client) GetFavourites() ([]Status, error) {
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    12
	var faves []Status
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    13
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    14
	req := g.prepareRequest("favourites")
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    15
	r, err := rest.API(req)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    16
	if err != nil {
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    17
		return faves, fmt.Errorf("favourites API query: %s", err.Error())
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    18
	}
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    19
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    20
	println(r.Body)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    21
	err = json.Unmarshal([]byte(r.Body), &faves)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    22
	if err != nil {
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    23
		var res struct {
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    24
			Error string `json:"error"`
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    25
		}
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    26
		err2 := json.Unmarshal([]byte(r.Body), &res)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    27
		if err2 == nil {
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    28
			return faves, fmt.Errorf("%s", res.Error)
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    29
		}
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    30
		return faves, fmt.Errorf("favourites API: %s", err.Error())
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    31
	}
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    32
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    33
	return faves, nil
d427d8aa75f9 Add GetFavourites()
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
    34
}