diff options
author | Corey Hulen <corey@hulen.com> | 2015-10-26 22:06:49 -0700 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2015-10-26 22:06:49 -0700 |
commit | 28847c6b4b864d747bbfdf5c53354dcb24e5f895 (patch) | |
tree | a429200e3ddde63e7ba6fd90c49303c58a204ce9 /model | |
parent | 2b198a8cfc6733049d26bcb73c3f443afcea9e82 (diff) | |
parent | 12399dd43c0ba57a879e4383f13a0fd4ed3350ae (diff) | |
download | chat-28847c6b4b864d747bbfdf5c53354dcb24e5f895.tar.gz chat-28847c6b4b864d747bbfdf5c53354dcb24e5f895.tar.bz2 chat-28847c6b4b864d747bbfdf5c53354dcb24e5f895.zip |
Merge pull request #1194 from mattermost/webhook-request
Parse incoming webhook requests into model instead of string map
Diffstat (limited to 'model')
-rw-r--r-- | model/incoming_webhook.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/model/incoming_webhook.go b/model/incoming_webhook.go index 9b9969b96..be1984244 100644 --- a/model/incoming_webhook.go +++ b/model/incoming_webhook.go @@ -23,6 +23,13 @@ type IncomingWebhook struct { TeamId string `json:"team_id"` } +type IncomingWebhookRequest struct { + Text string `json:"text"` + Username string `json:"username"` + IconURL string `json:"icon_url"` + ChannelName string `json:"channel"` +} + func (o *IncomingWebhook) ToJson() string { b, err := json.Marshal(o) if err != nil { @@ -104,3 +111,14 @@ func (o *IncomingWebhook) PreSave() { func (o *IncomingWebhook) PreUpdate() { o.UpdateAt = GetMillis() } + +func IncomingWebhookRequestFromJson(data io.Reader) *IncomingWebhookRequest { + decoder := json.NewDecoder(data) + var o IncomingWebhookRequest + err := decoder.Decode(&o) + if err == nil { + return &o + } else { + return nil + } +} |