From f263d2b9510fb557fe075dee5097cb32e2b1e5e2 Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Thu, 28 Sep 2017 12:08:16 -0400 Subject: 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 --- model/outgoing_webhook.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'model/outgoing_webhook.go') 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 { -- cgit v1.2.3-1-g7c22