diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2015-10-19 14:24:02 -0400 |
---|---|---|
committer | Harrison Healey <harrisonmhealey@gmail.com> | 2015-10-19 14:24:02 -0400 |
commit | d139c9e825d0149329d90684ebe2d6b31a728b16 (patch) | |
tree | 484dfe912010791e4eef9fa0152a4b1e3ba987e9 /model/client.go | |
parent | fd69910fab332642a7793e64064169e89eb0c3de (diff) | |
parent | c7d00de68291f5a53353c1391d4548d3f2ec7c0c (diff) | |
download | chat-d139c9e825d0149329d90684ebe2d6b31a728b16.tar.gz chat-d139c9e825d0149329d90684ebe2d6b31a728b16.tar.bz2 chat-d139c9e825d0149329d90684ebe2d6b31a728b16.zip |
Merge pull request #1108 from mattermost/plt-235
PLT-235 Implement outgoing webhooks.
Diffstat (limited to 'model/client.go')
-rw-r--r-- | model/client.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/model/client.go b/model/client.go index eea65c50e..9183dcacb 100644 --- a/model/client.go +++ b/model/client.go @@ -879,6 +879,42 @@ func (c *Client) GetPreferenceCategory(category string) (*Result, *AppError) { } } +func (c *Client) CreateOutgoingWebhook(hook *OutgoingWebhook) (*Result, *AppError) { + if r, err := c.DoApiPost("/hooks/outgoing/create", hook.ToJson()); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), OutgoingWebhookFromJson(r.Body)}, nil + } +} + +func (c *Client) DeleteOutgoingWebhook(data map[string]string) (*Result, *AppError) { + if r, err := c.DoApiPost("/hooks/outgoing/delete", MapToJson(data)); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil + } +} + +func (c *Client) ListOutgoingWebhooks() (*Result, *AppError) { + if r, err := c.DoApiGet("/hooks/outgoing/list", "", ""); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), OutgoingWebhookListFromJson(r.Body)}, nil + } +} + +func (c *Client) RegenOutgoingWebhookToken(data map[string]string) (*Result, *AppError) { + if r, err := c.DoApiPost("/hooks/outgoing/regen_token", MapToJson(data)); err != nil { + return nil, err + } else { + return &Result{r.Header.Get(HEADER_REQUEST_ID), + r.Header.Get(HEADER_ETAG_SERVER), OutgoingWebhookFromJson(r.Body)}, nil + } +} + func (c *Client) MockSession(sessionToken string) { c.AuthToken = sessionToken c.AuthType = HEADER_BEARER |