zendesk_apps_support 4.30.1 → 4.31.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3fad713366a2381c50f93cf66ffb934e6d083bebf32059680ab2a6757241d525
4
- data.tar.gz: 2ef5c222825b5a2c5662450fd804898841369bcce87ba66de55d01d44893f98f
3
+ metadata.gz: cbc9fd13362aa145c08d79257d11b41d61df1ae6e40ad4ce9dd849343d79b43d
4
+ data.tar.gz: 351f8e6f2e5da95f28a950581c744149e4d445de1a5e1054ff6a652bdef326f8
5
5
  SHA512:
6
- metadata.gz: fdb6c1b4fec3c809864c49604f698e7df87140817063352c4d32e4b8c1934abfdfa2bd77a4d5e9081e06694ec7f357fe49c8b45d7d6c29a992ff92d16f45f8fd
7
- data.tar.gz: 2ec4415af7e2feea5f3057924726b23d213b9d306b6416d7037521a23c161099acb2ed9ef029d94eeac9f5f2393fa02fabaf680b14216a5bc4e1107446b7dd32
6
+ metadata.gz: bf545fb8709e9183891d82c4eeb3bafbc4aab436f658c956591e205390abe5119670c647b848c9a2d25c770571d1f136daa0b9c9ae4fd9cea864bc3e6b41f30d
7
+ data.tar.gz: 5f2724bf3b60e2de9affb773176de16effa2617d5876f7afa798b8c2aa0bcbfceafa81f9db959a3d004dd5577107e204d12ab7f568aae14cf306748be723c283
@@ -2,6 +2,7 @@
2
2
 
3
3
  module ZendeskAppsSupport
4
4
  class AppRequirement
5
+ WEBHOOKS_KEY = 'webhooks'
5
6
  CUSTOM_OBJECTS_KEY = 'custom_objects'
6
7
  CUSTOM_OBJECTS_TYPE_KEY = 'custom_object_types'
7
8
  CUSTOM_OBJECTS_RELATIONSHIP_TYPE_KEY = 'custom_object_relationship_types'
@@ -29,6 +29,7 @@ module ZendeskAppsSupport
29
29
  errors << invalid_channel_integrations(requirements)
30
30
  errors << invalid_custom_fields(requirements)
31
31
  errors << invalid_custom_objects(requirements)
32
+ errors << invalid_webhooks(requirements)
32
33
  errors << missing_required_fields(requirements)
33
34
  errors.flatten!
34
35
  errors.compact!
@@ -107,6 +108,26 @@ module ZendeskAppsSupport
107
108
  end
108
109
  end
109
110
 
111
+ def invalid_webhooks(requirements)
112
+ webhook_requirements = requirements[AppRequirement::WEBHOOKS_KEY]
113
+
114
+ return if webhook_requirements.nil?
115
+
116
+ validate_webhook_keys(webhook_requirements)
117
+ end
118
+
119
+ def validate_webhook_keys(webhook_requirements)
120
+ required_keys = %w[name status endpoint http_method request_format]
121
+
122
+ missing_keys = required_keys - webhook_requirements.keys
123
+
124
+ missing_keys.map do |key|
125
+ ValidationError.new(:missing_required_fields,
126
+ field: key,
127
+ identifier: AppRequirement::WEBHOOKS_KEY)
128
+ end
129
+ end
130
+
110
131
  def invalid_custom_objects(requirements)
111
132
  custom_objects = requirements[AppRequirement::CUSTOM_OBJECTS_KEY]
112
133
  return if custom_objects.nil?
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.30.1
4
+ version: 4.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-02-01 00:00:00.000000000 Z
14
+ date: 2022-02-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: i18n