summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorPoornima <mpoornima@users.noreply.github.com>2017-03-12 04:10:56 +0530
committerenahum <nahumhbl@gmail.com>2017-03-11 19:40:56 -0300
commit482a0fb5fc248b1ec61db35299dc3e6d963ad5ab (patch)
tree1f957f78b3a053366ca20fbcff8b274ea5eac4a0 /model
parent11f1859de12be22726a93bb0fd201f3d692022a0 (diff)
downloadchat-482a0fb5fc248b1ec61db35299dc3e6d963ad5ab.tar.gz
chat-482a0fb5fc248b1ec61db35299dc3e6d963ad5ab.tar.bz2
chat-482a0fb5fc248b1ec61db35299dc3e6d963ad5ab.zip
Adding functionality to get & delete incoming webhooks (#5648)
Diffstat (limited to 'model')
-rw-r--r--model/client4.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/model/client4.go b/model/client4.go
index 9b0cce294..71d37341d 100644
--- a/model/client4.go
+++ b/model/client4.go
@@ -142,6 +142,10 @@ func (c *Client4) GetIncomingWebhooksRoute() string {
return fmt.Sprintf("/hooks/incoming")
}
+func (c *Client4) GetIncomingWebhookRoute(hookID string) string {
+ return fmt.Sprintf(c.GetIncomingWebhooksRoute()+"/%v", hookID)
+}
+
func (c *Client4) GetPreferencesRoute(userId string) string {
return fmt.Sprintf(c.GetUserRoute(userId) + "/preferences")
}
@@ -968,6 +972,26 @@ func (c *Client4) GetIncomingWebhooksForTeam(teamId string, page int, perPage in
}
}
+// GetIncomingWebhook returns an Incoming webhook given the hook ID
+func (c *Client4) GetIncomingWebhook(hookID string, etag string) (*IncomingWebhook, *Response) {
+ if r, err := c.DoApiGet(c.GetIncomingWebhookRoute(hookID), etag); err != nil {
+ return nil, &Response{StatusCode: r.StatusCode, Error: err}
+ } else {
+ defer closeBody(r)
+ return IncomingWebhookFromJson(r.Body), BuildResponse(r)
+ }
+}
+
+// DeleteIncomingWebhook deletes and Incoming Webhook given the hook ID
+func (c *Client4) DeleteIncomingWebhook(hookID string) (bool, *Response) {
+ if r, err := c.DoApiDelete(c.GetIncomingWebhookRoute(hookID)); err != nil {
+ return false, &Response{StatusCode: r.StatusCode, Error: err}
+ } else {
+ defer closeBody(r)
+ return CheckStatusOK(r), BuildResponse(r)
+ }
+}
+
// Preferences Section
// GetPreferences returns the user's preferences