summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/matterbridge/slack/stars.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/matterbridge/slack/stars.go')
-rw-r--r--vendor/github.com/matterbridge/slack/stars.go160
1 files changed, 0 insertions, 160 deletions
diff --git a/vendor/github.com/matterbridge/slack/stars.go b/vendor/github.com/matterbridge/slack/stars.go
deleted file mode 100644
index cf4a4a11..00000000
--- a/vendor/github.com/matterbridge/slack/stars.go
+++ /dev/null
@@ -1,160 +0,0 @@
-package slack
-
-import (
- "context"
- "errors"
- "net/url"
- "strconv"
-)
-
-const (
- DEFAULT_STARS_USER = ""
- DEFAULT_STARS_COUNT = 100
- DEFAULT_STARS_PAGE = 1
-)
-
-type StarsParameters struct {
- User string
- Count int
- Page int
-}
-
-type StarredItem Item
-
-type listResponseFull struct {
- Items []Item `json:"items"`
- Paging `json:"paging"`
- SlackResponse
-}
-
-// NewStarsParameters initialises StarsParameters with default values
-func NewStarsParameters() StarsParameters {
- return StarsParameters{
- User: DEFAULT_STARS_USER,
- Count: DEFAULT_STARS_COUNT,
- Page: DEFAULT_STARS_PAGE,
- }
-}
-
-// 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},
- }
- if item.Timestamp != "" {
- values.Set("timestamp", string(item.Timestamp))
- }
- if item.File != "" {
- values.Set("file", string(item.File))
- }
- if item.Comment != "" {
- values.Set("file_comment", string(item.Comment))
- }
- response := &SlackResponse{}
- if err := post(ctx, "stars.add", values, response, api.debug); err != nil {
- return err
- }
- if !response.Ok {
- return errors.New(response.Error)
- }
- return nil
-}
-
-// 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},
- }
- if item.Timestamp != "" {
- values.Set("timestamp", string(item.Timestamp))
- }
- if item.File != "" {
- values.Set("file", string(item.File))
- }
- if item.Comment != "" {
- values.Set("file_comment", string(item.Comment))
- }
- response := &SlackResponse{}
- if err := post(ctx, "stars.remove", values, response, api.debug); err != nil {
- return err
- }
- if !response.Ok {
- return errors.New(response.Error)
- }
- return nil
-}
-
-// 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},
- }
- if params.User != DEFAULT_STARS_USER {
- values.Add("user", params.User)
- }
- if params.Count != DEFAULT_STARS_COUNT {
- values.Add("count", strconv.Itoa(params.Count))
- }
- if params.Page != DEFAULT_STARS_PAGE {
- values.Add("page", strconv.Itoa(params.Page))
- }
- response := &listResponseFull{}
- err := post(ctx, "stars.list", values, response, api.debug)
- if err != nil {
- return nil, nil, err
- }
- if !response.Ok {
- return nil, nil, errors.New(response.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
-// be looking at according to what is in the Type.
-// for _, item := range items {
-// switch c.Type {
-// case "file_comment":
-// log.Println(c.Comment)
-// case "file":
-// ...
-//
-// }
-// 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) {
- 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
- }
- starredItems := make([]StarredItem, len(items))
- for i, item := range items {
- starredItems[i] = StarredItem(item)
- }
- return starredItems, paging, nil
-}