diff options
author | Wim <wim@42.be> | 2017-11-02 17:09:34 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2017-11-02 17:09:34 +0100 |
commit | b2a6777995c55233a47212743c781a27dde8dce6 (patch) | |
tree | be4a9ef00448f82c71ae47d42835347160b70900 /vendor/github.com/nlopes/slack/search.go | |
parent | b461fc5e404c6e0df7289477171cad629cddb3e6 (diff) | |
download | matterbridge-msglm-b2a6777995c55233a47212743c781a27dde8dce6.tar.gz matterbridge-msglm-b2a6777995c55233a47212743c781a27dde8dce6.tar.bz2 matterbridge-msglm-b2a6777995c55233a47212743c781a27dde8dce6.zip |
Use matterbridge vendored slack
Diffstat (limited to 'vendor/github.com/nlopes/slack/search.go')
-rw-r--r-- | vendor/github.com/nlopes/slack/search.go | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/vendor/github.com/nlopes/slack/search.go b/vendor/github.com/nlopes/slack/search.go deleted file mode 100644 index 0e8d65e2..00000000 --- a/vendor/github.com/nlopes/slack/search.go +++ /dev/null @@ -1,150 +0,0 @@ -package slack - -import ( - "context" - "errors" - "net/url" - "strconv" -) - -const ( - DEFAULT_SEARCH_SORT = "score" - DEFAULT_SEARCH_SORT_DIR = "desc" - DEFAULT_SEARCH_HIGHLIGHT = false - DEFAULT_SEARCH_COUNT = 100 - DEFAULT_SEARCH_PAGE = 1 -) - -type SearchParameters struct { - Sort string - SortDirection string - Highlight bool - Count int - Page int -} - -type CtxChannel struct { - ID string `json:"id"` - Name string `json:"name"` -} - -type CtxMessage struct { - User string `json:"user"` - Username string `json:"username"` - Text string `json:"text"` - Timestamp string `json:"ts"` - Type string `json:"type"` -} - -type SearchMessage struct { - Type string `json:"type"` - Channel CtxChannel `json:"channel"` - User string `json:"user"` - Username string `json:"username"` - Timestamp string `json:"ts"` - Text string `json:"text"` - Permalink string `json:"permalink"` - Previous CtxMessage `json:"previous"` - Previous2 CtxMessage `json:"previous_2"` - Next CtxMessage `json:"next"` - Next2 CtxMessage `json:"next_2"` -} - -type SearchMessages struct { - Matches []SearchMessage `json:"matches"` - Paging `json:"paging"` - Pagination `json:"pagination"` - Total int `json:"total"` -} - -type SearchFiles struct { - Matches []File `json:"matches"` - Paging `json:"paging"` - Pagination `json:"pagination"` - Total int `json:"total"` -} - -type searchResponseFull struct { - Query string `json:"query"` - SearchMessages `json:"messages"` - SearchFiles `json:"files"` - SlackResponse -} - -func NewSearchParameters() SearchParameters { - return SearchParameters{ - Sort: DEFAULT_SEARCH_SORT, - SortDirection: DEFAULT_SEARCH_SORT_DIR, - Highlight: DEFAULT_SEARCH_HIGHLIGHT, - Count: DEFAULT_SEARCH_COUNT, - Page: DEFAULT_SEARCH_PAGE, - } -} - -func (api *Client) _search(ctx context.Context, path, query string, params SearchParameters, files, messages bool) (response *searchResponseFull, error error) { - values := url.Values{ - "token": {api.config.token}, - "query": {query}, - } - if params.Sort != DEFAULT_SEARCH_SORT { - values.Add("sort", params.Sort) - } - if params.SortDirection != DEFAULT_SEARCH_SORT_DIR { - values.Add("sort_dir", params.SortDirection) - } - if params.Highlight != DEFAULT_SEARCH_HIGHLIGHT { - values.Add("highlight", strconv.Itoa(1)) - } - if params.Count != DEFAULT_SEARCH_COUNT { - values.Add("count", strconv.Itoa(params.Count)) - } - if params.Page != DEFAULT_SEARCH_PAGE { - values.Add("page", strconv.Itoa(params.Page)) - } - response = &searchResponseFull{} - err := post(ctx, path, values, response, api.debug) - if err != nil { - return nil, err - } - if !response.Ok { - return nil, errors.New(response.Error) - } - return response, nil - -} - -func (api *Client) Search(query string, params SearchParameters) (*SearchMessages, *SearchFiles, error) { - return api.SearchContext(context.Background(), query, params) -} - -func (api *Client) SearchContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, *SearchFiles, error) { - response, err := api._search(ctx, "search.all", query, params, true, true) - if err != nil { - return nil, nil, err - } - return &response.SearchMessages, &response.SearchFiles, nil -} - -func (api *Client) SearchFiles(query string, params SearchParameters) (*SearchFiles, error) { - return api.SearchFilesContext(context.Background(), query, params) -} - -func (api *Client) SearchFilesContext(ctx context.Context, query string, params SearchParameters) (*SearchFiles, error) { - response, err := api._search(ctx, "search.files", query, params, true, false) - if err != nil { - return nil, err - } - return &response.SearchFiles, nil -} - -func (api *Client) SearchMessages(query string, params SearchParameters) (*SearchMessages, error) { - return api.SearchMessagesContext(context.Background(), query, params) -} - -func (api *Client) SearchMessagesContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, error) { - response, err := api._search(ctx, "search.messages", query, params, false, true) - if err != nil { - return nil, err - } - return &response.SearchMessages, nil -} |