summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/nlopes/slack/team.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/nlopes/slack/team.go')
-rw-r--r--vendor/github.com/nlopes/slack/team.go46
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/github.com/nlopes/slack/team.go b/vendor/github.com/nlopes/slack/team.go
new file mode 100644
index 00000000..41507f68
--- /dev/null
+++ b/vendor/github.com/nlopes/slack/team.go
@@ -0,0 +1,46 @@
+package slack
+
+import (
+ "errors"
+ "net/url"
+)
+
+type TeamResponse struct {
+ Team TeamInfo `json:"team"`
+ SlackResponse
+}
+
+type TeamInfo struct {
+ ID string `json:"id"`
+ Name string `json:"name"`
+ Domain string `json:"domain"`
+ EmailDomain string `json:"email_domain"`
+ Icon map[string]interface{} `json:"icon"`
+}
+
+func teamRequest(path string, values url.Values, debug bool) (*TeamResponse, error) {
+ response := &TeamResponse{}
+ err := post(path, values, response, debug)
+ if err != nil {
+ return nil, err
+ }
+
+ if !response.Ok {
+ return nil, errors.New(response.Error)
+ }
+
+ return response, nil
+}
+
+// GetTeamInfo gets the Team Information of the user
+func (api *Client) GetTeamInfo() (*TeamInfo, error) {
+ values := url.Values{
+ "token": {api.config.token},
+ }
+
+ response, err := teamRequest("team.info", values, api.debug)
+ if err != nil {
+ return nil, err
+ }
+ return &response.Team, nil
+}