summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2016-03-30 10:56:20 -0400
committerHarrison Healey <harrisonmhealey@gmail.com>2016-04-04 09:45:02 -0400
commit441156b91e9f9bac6b5592616551e2920c4cb33b (patch)
tree64e0c2e8a1329a0b761883fd47c3b588d11a69af /model
parent785553384fe96027b0e9274b6ccc8623092eda70 (diff)
downloadchat-441156b91e9f9bac6b5592616551e2920c4cb33b.tar.gz
chat-441156b91e9f9bac6b5592616551e2920c4cb33b.tar.bz2
chat-441156b91e9f9bac6b5592616551e2920c4cb33b.zip
Added DisplayName and Description fields to both types of webhooks and slash commands
Diffstat (limited to 'model')
-rw-r--r--model/command.go9
-rw-r--r--model/command_test.go20
-rw-r--r--model/incoming_webhook.go24
-rw-r--r--model/incoming_webhook_test.go20
-rw-r--r--model/outgoing_webhook.go10
-rw-r--r--model/outgoing_webhook_test.go20
6 files changed, 96 insertions, 7 deletions
diff --git a/model/command.go b/model/command.go
index 56d88f13c..ca3038122 100644
--- a/model/command.go
+++ b/model/command.go
@@ -29,6 +29,7 @@ type Command struct {
AutoCompleteDesc string `json:"auto_complete_desc"`
AutoCompleteHint string `json:"auto_complete_hint"`
DisplayName string `json:"display_name"`
+ Description string `json:"description"`
URL string `json:"url"`
}
@@ -114,6 +115,14 @@ func (o *Command) IsValid() *AppError {
return NewLocAppError("Command.IsValid", "model.command.is_valid.method.app_error", nil, "")
}
+ if len(o.DisplayName) > 64 {
+ return NewLocAppError("Command.IsValid", "model.command.is_valid.display_name.app_error", nil, "")
+ }
+
+ if len(o.Description) > 128 {
+ return NewLocAppError("Command.IsValid", "model.command.is_valid.description.app_error", nil, "")
+ }
+
return nil
}
diff --git a/model/command_test.go b/model/command_test.go
index 0581625d9..d362d8f2c 100644
--- a/model/command_test.go
+++ b/model/command_test.go
@@ -84,6 +84,26 @@ func TestCommandIsValid(t *testing.T) {
if err := o.IsValid(); err != nil {
t.Fatal(err)
}
+
+ o.DisplayName = strings.Repeat("1", 65)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.DisplayName = strings.Repeat("1", 64)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
+
+ o.Description = strings.Repeat("1", 129)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.Description = strings.Repeat("1", 128)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
}
func TestCommandPreSave(t *testing.T) {
diff --git a/model/incoming_webhook.go b/model/incoming_webhook.go
index 8432f5fea..0763b443e 100644
--- a/model/incoming_webhook.go
+++ b/model/incoming_webhook.go
@@ -14,13 +14,15 @@ const (
)
type IncomingWebhook struct {
- Id string `json:"id"`
- CreateAt int64 `json:"create_at"`
- UpdateAt int64 `json:"update_at"`
- DeleteAt int64 `json:"delete_at"`
- UserId string `json:"user_id"`
- ChannelId string `json:"channel_id"`
- TeamId string `json:"team_id"`
+ Id string `json:"id"`
+ CreateAt int64 `json:"create_at"`
+ UpdateAt int64 `json:"update_at"`
+ DeleteAt int64 `json:"delete_at"`
+ UserId string `json:"user_id"`
+ ChannelId string `json:"channel_id"`
+ TeamId string `json:"team_id"`
+ DisplayName string `json:"display_name"`
+ Description string `json:"description"`
}
type IncomingWebhookRequest struct {
@@ -99,6 +101,14 @@ func (o *IncomingWebhook) IsValid() *AppError {
return NewLocAppError("IncomingWebhook.IsValid", "model.incoming_hook.team_id.app_error", nil, "")
}
+ if len(o.DisplayName) > 64 {
+ return NewLocAppError("IncomingWebhook.IsValid", "model.incoming_hook.display_name.app_error", nil, "")
+ }
+
+ if len(o.Description) > 128 {
+ return NewLocAppError("IncomingWebhook.IsValid", "model.incoming_hook.description.app_error", nil, "")
+ }
+
return nil
}
diff --git a/model/incoming_webhook_test.go b/model/incoming_webhook_test.go
index 5297d7d90..3f1754244 100644
--- a/model/incoming_webhook_test.go
+++ b/model/incoming_webhook_test.go
@@ -69,6 +69,26 @@ func TestIncomingWebhookIsValid(t *testing.T) {
if err := o.IsValid(); err != nil {
t.Fatal(err)
}
+
+ o.DisplayName = strings.Repeat("1", 65)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.DisplayName = strings.Repeat("1", 64)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
+
+ o.Description = strings.Repeat("1", 129)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.Description = strings.Repeat("1", 128)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
}
func TestIncomingWebhookPreSave(t *testing.T) {
diff --git a/model/outgoing_webhook.go b/model/outgoing_webhook.go
index 70de4d26e..e13de9080 100644
--- a/model/outgoing_webhook.go
+++ b/model/outgoing_webhook.go
@@ -20,6 +20,8 @@ type OutgoingWebhook struct {
TeamId string `json:"team_id"`
TriggerWords StringArray `json:"trigger_words"`
CallbackURLs StringArray `json:"callback_urls"`
+ DisplayName string `json:"display_name"`
+ Description string `json:"description"`
}
func (o *OutgoingWebhook) ToJson() string {
@@ -106,6 +108,14 @@ func (o *OutgoingWebhook) IsValid() *AppError {
}
}
+ if len(o.DisplayName) > 64 {
+ return NewLocAppError("OutgoingWebhook.IsValid", "model.outgoing_hook.is_valid.display_name.app_error", nil, "")
+ }
+
+ if len(o.Description) > 128 {
+ return NewLocAppError("OutgoingWebhook.IsValid", "model.outgoing_hook.is_valid.description.app_error", nil, "")
+ }
+
return nil
}
diff --git a/model/outgoing_webhook_test.go b/model/outgoing_webhook_test.go
index 665b85b6f..72c842e03 100644
--- a/model/outgoing_webhook_test.go
+++ b/model/outgoing_webhook_test.go
@@ -89,6 +89,26 @@ func TestOutgoingWebhookIsValid(t *testing.T) {
if err := o.IsValid(); err != nil {
t.Fatal(err)
}
+
+ o.DisplayName = strings.Repeat("1", 65)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.DisplayName = strings.Repeat("1", 64)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
+
+ o.Description = strings.Repeat("1", 129)
+ if err := o.IsValid(); err == nil {
+ t.Fatal("should be invalid")
+ }
+
+ o.Description = strings.Repeat("1", 128)
+ if err := o.IsValid(); err != nil {
+ t.Fatal(err)
+ }
}
func TestOutgoingWebhookPreSave(t *testing.T) {