diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-10-26 15:10:17 -0400 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-10-26 15:10:17 -0400 |
commit | c94388042b684ae3c552f97505fdb67903db20ba (patch) | |
tree | dbf42978b7de9fa2db4f9c5c4058df024ecaebeb /model | |
parent | 2680b81568ca3f8eac1d5937f85085f1785eb84d (diff) | |
download | chat-c94388042b684ae3c552f97505fdb67903db20ba.tar.gz chat-c94388042b684ae3c552f97505fdb67903db20ba.tar.bz2 chat-c94388042b684ae3c552f97505fdb67903db20ba.zip |
Parse incoming webhook requsets into model instead of string map
Diffstat (limited to 'model')
-rw-r--r-- | model/incoming_webhook.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/model/incoming_webhook.go b/model/incoming_webhook.go index 9b9969b96..35861c0e0 100644 --- a/model/incoming_webhook.go +++ b/model/incoming_webhook.go @@ -23,6 +23,14 @@ type IncomingWebhook struct { TeamId string `json:"team_id"` } +type IncomingWebhookRequest struct { + Text string `json:"text"` + Username string `json:"username"` + IconURL string `json:"icon_url"` + IconEmoji string `json:"icon_emoji"` + ChannelName string `json:"channel"` +} + func (o *IncomingWebhook) ToJson() string { b, err := json.Marshal(o) if err != nil { @@ -104,3 +112,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 + } +} |