summaryrefslogtreecommitdiffstats
path: root/model/incoming_webhook.go
diff options
context:
space:
mode:
authorJoramWilander <jwawilander@gmail.com>2015-10-26 15:10:17 -0400
committerJoramWilander <jwawilander@gmail.com>2015-10-26 15:10:17 -0400
commitc94388042b684ae3c552f97505fdb67903db20ba (patch)
treedbf42978b7de9fa2db4f9c5c4058df024ecaebeb /model/incoming_webhook.go
parent2680b81568ca3f8eac1d5937f85085f1785eb84d (diff)
downloadchat-c94388042b684ae3c552f97505fdb67903db20ba.tar.gz
chat-c94388042b684ae3c552f97505fdb67903db20ba.tar.bz2
chat-c94388042b684ae3c552f97505fdb67903db20ba.zip
Parse incoming webhook requsets into model instead of string map
Diffstat (limited to 'model/incoming_webhook.go')
-rw-r--r--model/incoming_webhook.go19
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
+ }
+}