summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/stars.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/nlopes/slack/stars.go')
-rw-r--r--vendor/github.com/nlopes/slack/stars.go35
1 files changed, 30 insertions, 5 deletions
diff --git a/vendor/github.com/nlopes/slack/stars.go b/vendor/github.com/nlopes/slack/stars.go
index cc12e6ec..cf4a4a11 100644
--- a/vendor/github.com/nlopes/slack/stars.go
+++ b/vendor/github.com/nlopes/slack/stars.go
@@ -1,6 +1,7 @@
package slack
import (
+ "context"
"errors"
"net/url"
"strconv"
@@ -37,6 +38,11 @@ func NewStarsParameters() StarsParameters {
// AddStar stars an item in a channel
func (api *Client) AddStar(channel string, item ItemRef) error {
+ return api.AddStarContext(context.Background(), channel, item)
+}
+
+// AddStarContext stars an item in a channel with a custom context
+func (api *Client) AddStarContext(ctx context.Context, channel string, item ItemRef) error {
values := url.Values{
"channel": {channel},
"token": {api.config.token},
@@ -51,7 +57,7 @@ func (api *Client) AddStar(channel string, item ItemRef) error {
values.Set("file_comment", string(item.Comment))
}
response := &SlackResponse{}
- if err := post("stars.add", values, response, api.debug); err != nil {
+ if err := post(ctx, "stars.add", values, response, api.debug); err != nil {
return err
}
if !response.Ok {
@@ -62,6 +68,11 @@ func (api *Client) AddStar(channel string, item ItemRef) error {
// RemoveStar removes a starred item from a channel
func (api *Client) RemoveStar(channel string, item ItemRef) error {
+ return api.RemoveStarContext(context.Background(), channel, item)
+}
+
+// RemoveStarContext removes a starred item from a channel with a custom context
+func (api *Client) RemoveStarContext(ctx context.Context, channel string, item ItemRef) error {
values := url.Values{
"channel": {channel},
"token": {api.config.token},
@@ -76,7 +87,7 @@ func (api *Client) RemoveStar(channel string, item ItemRef) error {
values.Set("file_comment", string(item.Comment))
}
response := &SlackResponse{}
- if err := post("stars.remove", values, response, api.debug); err != nil {
+ if err := post(ctx, "stars.remove", values, response, api.debug); err != nil {
return err
}
if !response.Ok {
@@ -87,6 +98,11 @@ func (api *Client) RemoveStar(channel string, item ItemRef) error {
// ListStars returns information about the stars a user added
func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error) {
+ return api.ListStarsContext(context.Background(), params)
+}
+
+// ListStarsContext returns information about the stars a user added with a custom context
+func (api *Client) ListStarsContext(ctx context.Context, params StarsParameters) ([]Item, *Paging, error) {
values := url.Values{
"token": {api.config.token},
}
@@ -100,7 +116,7 @@ func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error) {
values.Add("page", strconv.Itoa(params.Page))
}
response := &listResponseFull{}
- err := post("stars.list", values, response, api.debug)
+ err := post(ctx, "stars.list", values, response, api.debug)
if err != nil {
return nil, nil, err
}
@@ -110,7 +126,9 @@ func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error) {
return response.Items, &response.Paging, nil
}
-// GetStarred returns a list of StarredItem items. The user then has to iterate over them and figure out what they should
+// GetStarred returns a list of StarredItem items.
+//
+// The user then has to iterate over them and figure out what they should
// be looking at according to what is in the Type.
// for _, item := range items {
// switch c.Type {
@@ -123,7 +141,14 @@ func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error) {
// This function still exists to maintain backwards compatibility.
// I exposed it as returning []StarredItem, so it shall stay as StarredItem
func (api *Client) GetStarred(params StarsParameters) ([]StarredItem, *Paging, error) {
- items, paging, err := api.ListStars(params)
+ return api.GetStarredContext(context.Background(), params)
+}
+
+// GetStarredContext returns a list of StarredItem items with a custom context
+//
+// For more details see GetStarred
+func (api *Client) GetStarredContext(ctx context.Context, params StarsParameters) ([]StarredItem, *Paging, error) {
+ items, paging, err := api.ListStarsContext(ctx, params)
if err != nil {
return nil, nil, err
}