diff options
author | Joram Wilander <jwawilander@gmail.com> | 2017-09-28 12:08:16 -0400 |
---|---|---|
committer | Corey Hulen <corey@hulen.com> | 2017-09-28 09:08:16 -0700 |
commit | f263d2b9510fb557fe075dee5097cb32e2b1e5e2 (patch) | |
tree | 5e7ca4a3b5e44a685b1e1f8761983dd57441a751 /model/outgoing_webhook.go | |
parent | 884cf494cbef36786cb035b14bbbccbb19c122c3 (diff) | |
download | chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.tar.gz chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.tar.bz2 chat-f263d2b9510fb557fe075dee5097cb32e2b1e5e2.zip |
PLT-7684 Add support to outgoing webhooks and slash commands to set post type and props (#7531)
* Add support to outgoing webhooks and slash commands to set post type and props
* Fix nil access
Diffstat (limited to 'model/outgoing_webhook.go')
-rw-r--r-- | model/outgoing_webhook.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/model/outgoing_webhook.go b/model/outgoing_webhook.go index 59408c24e..14c6f2269 100644 --- a/model/outgoing_webhook.go +++ b/model/outgoing_webhook.go @@ -45,6 +45,14 @@ type OutgoingWebhookPayload struct { FileIds string `json:"file_ids"` } +type OutgoingWebhookResponse struct { + Text *string `json:"text"` + Username string `json:"username"` + IconURL string `json:"icon_url"` + Props StringInterface `json:"props"` + Type string `json:"type"` +} + func (o *OutgoingWebhookPayload) ToJSON() string { b, err := json.Marshal(o) if err != nil { @@ -112,6 +120,26 @@ func OutgoingWebhookListFromJson(data io.Reader) []*OutgoingWebhook { } } +func (o *OutgoingWebhookResponse) ToJson() string { + b, err := json.Marshal(o) + if err != nil { + return "" + } else { + return string(b) + } +} + +func OutgoingWebhookResponseFromJson(data io.Reader) *OutgoingWebhookResponse { + decoder := json.NewDecoder(data) + var o OutgoingWebhookResponse + err := decoder.Decode(&o) + if err == nil { + return &o + } else { + return nil + } +} + func (o *OutgoingWebhook) IsValid() *AppError { if len(o.Id) != 26 { |