summaryrefslogtreecommitdiffstats
path: root/model/outgoing_webhook.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-09-28 12:08:16 -0400
committerCorey Hulen <corey@hulen.com>2017-09-28 09:08:16 -0700
commitf263d2b9510fb557fe075dee5097cb32e2b1e5e2 (patch)
tree5e7ca4a3b5e44a685b1e1f8761983dd57441a751 /model/outgoing_webhook.go
parent884cf494cbef36786cb035b14bbbccbb19c122c3 (diff)
downloadchat-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.go28
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 {