zendesk_apps_support 4.29.2 → 4.29.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a2efe550a3304af99cfc61a7fa09908394b1223e80ba8772abd041a804c52992
|
4
|
+
data.tar.gz: 0cd194aa7b336f7cb4f09c1af7d3616de08894cee204d06459b2bfc27e958c87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c12aa9330247f65c417a8620a5e7197a13b5fd61073e513839f53fe41fc82e3272b4ecfcc6f8a685c5751ec0bd14e37001490c585d2d98d274e2964e12e7b726
|
7
|
+
data.tar.gz: 91f0e3ebc1710b74556ad8b204ef6222cda476238fae02e66fd05469b354dc148ab56e1ee7b3106ce8fb8118c74f0398dbc470c8b4c14f1282d12556680b4ab5
|
data/config/locales/en.yml
CHANGED
@@ -62,7 +62,7 @@ en:
|
|
62
62
|
other: Unsupported MIME types detected in %{file_names}.
|
63
63
|
multiple_channel_integrations: Specifying multiple channel integrations
|
64
64
|
in requirements.json is not supported.
|
65
|
-
|
65
|
+
oauth_parameter_required: "Please upgrade to our new oauth format. Learn more: %{link}"
|
66
66
|
invalid_cr_schema_keys:
|
67
67
|
one: 'Custom resources schema contains an invalid key: %{invalid_keys}'
|
68
68
|
other: 'Custom resources schema contains invalid keys: %{invalid_keys}'
|
@@ -78,6 +78,8 @@ en:
|
|
78
78
|
missing:
|
79
79
|
one: 'Missing required oauth field in manifest: %{missing_keys}'
|
80
80
|
other: 'Missing required oauth fields in manifest: %{missing_keys}'
|
81
|
+
too_many_oauth_parameters: 'Too many parameters with type ''oauth'': one
|
82
|
+
permitted'
|
81
83
|
missing_source: Could not find app.js
|
82
84
|
style_in_template: "<style> tag in %{template}. Use an app.css file instead."
|
83
85
|
no_code_for_ifo_notemplate: Javascripts, stylesheets, and templates are
|
@@ -139,6 +141,8 @@ en:
|
|
139
141
|
invalid_v1_location:
|
140
142
|
one: "%{invalid_locations} is an invalid location in framework v1."
|
141
143
|
other: "%{invalid_locations} are invalid locations in framework v1."
|
144
|
+
oauth_parameter_cannot_be_secure: oauth parameter cannot be set to be
|
145
|
+
secure.
|
142
146
|
warning:
|
143
147
|
app_build:
|
144
148
|
deprecated_version: You are targeting a deprecated version of the framework.
|
@@ -399,3 +399,7 @@ parts:
|
|
399
399
|
key: "txt.apps.admin.error.app_build.invalid_v1_location.other"
|
400
400
|
title: "The locations listed are not available in framework v1."
|
401
401
|
value: "%{invalid_locations} are invalid locations in framework v1."
|
402
|
+
- translation:
|
403
|
+
key: "txt.apps.admin.error.app_build.oauth_parameter_cannot_be_secure"
|
404
|
+
title: "oauth parameter cannot be set to be secure."
|
405
|
+
value: "oauth parameter cannot be set to be secure."
|
@@ -26,9 +26,9 @@ require 'sassc'
|
|
26
26
|
module SassC::Script::Functions
|
27
27
|
module AppAssetUrl
|
28
28
|
def app_asset_url(name)
|
29
|
-
raise ArgumentError, "Expected #{name} to be a string" unless name.is_a?
|
29
|
+
raise ArgumentError, "Expected #{name} to be a string" unless name.is_a? SassC::Script::Value::String
|
30
30
|
result = %{url("#{app_asset_url_helper(name)}")}
|
31
|
-
SassC::Script::String.new(result)
|
31
|
+
SassC::Script::Value::String.new(result)
|
32
32
|
end
|
33
33
|
|
34
34
|
private
|
@@ -10,6 +10,7 @@ module ZendeskAppsSupport
|
|
10
10
|
REQUIRED_MANIFEST_FIELDS = RUBY_TO_JSON.select { |k| %i[author default_locale].include? k }.freeze
|
11
11
|
OAUTH_REQUIRED_FIELDS = %w[client_id client_secret authorize_uri access_token_uri].freeze
|
12
12
|
PARAMETER_TYPES = ZendeskAppsSupport::Manifest::Parameter::TYPES
|
13
|
+
OAUTH_MANIFEST_LINK = 'https://developer.zendesk.com/apps/docs/developer-guide/manifest#oauth'
|
13
14
|
|
14
15
|
class << self
|
15
16
|
def call(package)
|
@@ -33,51 +34,71 @@ module ZendeskAppsSupport
|
|
33
34
|
def collate_manifest_errors(package)
|
34
35
|
manifest = package.manifest
|
35
36
|
|
36
|
-
errors = [
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
errors = [
|
38
|
+
missing_keys_error(manifest),
|
39
|
+
type_checks(manifest),
|
40
|
+
oauth_error(manifest),
|
41
|
+
default_locale_error(manifest, package),
|
42
|
+
validate_parameters(manifest),
|
43
|
+
if manifest.requirements_only? || manifest.marketing_only?
|
44
|
+
[ ban_location(manifest),
|
45
|
+
ban_framework_version(manifest) ]
|
46
|
+
else
|
47
|
+
[ validate_location(package),
|
48
|
+
missing_framework_version(manifest),
|
49
|
+
invalid_version_error(manifest) ]
|
50
|
+
end,
|
51
|
+
ban_no_template(manifest)
|
52
|
+
]
|
53
|
+
errors.flatten.compact
|
54
|
+
end
|
41
55
|
|
56
|
+
def validate_location(package)
|
57
|
+
manifest = package.manifest
|
58
|
+
[
|
59
|
+
missing_location_error(package),
|
60
|
+
invalid_location_error(package),
|
61
|
+
invalid_v1_location(package),
|
62
|
+
location_framework_mismatch(manifest)
|
63
|
+
]
|
64
|
+
end
|
65
|
+
|
66
|
+
def validate_parameters(manifest)
|
42
67
|
if manifest.marketing_only?
|
43
|
-
|
68
|
+
marketing_only_errors(manifest)
|
44
69
|
else
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
70
|
+
[
|
71
|
+
parameters_error(manifest),
|
72
|
+
invalid_hidden_parameter_error(manifest),
|
73
|
+
invalid_type_error(manifest),
|
74
|
+
too_many_oauth_parameters(manifest),
|
75
|
+
oauth_cannot_be_secure(manifest),
|
76
|
+
name_as_parameter_name_error(manifest)
|
77
|
+
]
|
50
78
|
end
|
79
|
+
end
|
51
80
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
errors << invalid_location_error(package)
|
58
|
-
errors << invalid_v1_location(package)
|
59
|
-
errors << missing_framework_version(manifest)
|
60
|
-
errors << location_framework_mismatch(manifest)
|
61
|
-
errors << invalid_version_error(manifest)
|
81
|
+
def oauth_cannot_be_secure(manifest)
|
82
|
+
manifest.parameters.map do |parameter|
|
83
|
+
if parameter.type == 'oauth' && parameter.secure
|
84
|
+
return ValidationError.new('oauth_parameter_cannot_be_secure')
|
85
|
+
end
|
62
86
|
end
|
63
|
-
|
64
|
-
errors << ban_no_template(manifest) if manifest.iframe_only?
|
65
|
-
|
66
|
-
errors.flatten.compact
|
67
87
|
end
|
68
88
|
|
69
89
|
def marketing_only_errors(manifest)
|
70
|
-
[
|
71
|
-
|
72
|
-
|
73
|
-
|
90
|
+
[
|
91
|
+
ban_parameters(manifest),
|
92
|
+
private_marketing_app_error(manifest)
|
93
|
+
]
|
74
94
|
end
|
75
95
|
|
76
96
|
def type_checks(manifest)
|
77
|
-
errors = [
|
78
|
-
|
79
|
-
|
80
|
-
|
97
|
+
errors = [
|
98
|
+
boolean_error(manifest),
|
99
|
+
string_error(manifest),
|
100
|
+
no_template_format_error(manifest)
|
101
|
+
]
|
81
102
|
unless manifest.experiments.is_a?(Hash)
|
82
103
|
errors << ValidationError.new(
|
83
104
|
:unacceptable_hash,
|
@@ -152,6 +173,7 @@ module ZendeskAppsSupport
|
|
152
173
|
end
|
153
174
|
|
154
175
|
def ban_no_template(manifest)
|
176
|
+
return unless manifest.iframe_only?
|
155
177
|
no_template_migration_link = 'https://developer.zendesk.com/apps/docs/apps-v2/manifest#location'
|
156
178
|
if manifest.no_template? || !manifest.no_template_locations.empty?
|
157
179
|
ValidationError.new(:no_template_deprecated_in_v2, link: no_template_migration_link)
|
@@ -176,14 +198,21 @@ module ZendeskAppsSupport
|
|
176
198
|
|
177
199
|
def oauth_error(manifest)
|
178
200
|
return unless manifest.oauth
|
179
|
-
|
201
|
+
oauth_errors = []
|
180
202
|
missing = OAUTH_REQUIRED_FIELDS.select do |key|
|
181
203
|
manifest.oauth[key].nil? || manifest.oauth[key].empty?
|
182
204
|
end
|
183
205
|
|
184
206
|
if missing.any?
|
185
|
-
|
207
|
+
oauth_errors << \
|
208
|
+
ValidationError.new('oauth_keys.missing', missing_keys: missing.join(', '), count: missing.length)
|
209
|
+
end
|
210
|
+
|
211
|
+
unless manifest.parameters.any? { |param| param.type == 'oauth' }
|
212
|
+
oauth_errors << ValidationError.new('oauth_parameter_required',
|
213
|
+
link: OAUTH_MANIFEST_LINK)
|
186
214
|
end
|
215
|
+
oauth_errors
|
187
216
|
end
|
188
217
|
|
189
218
|
def parameters_error(manifest)
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zendesk_apps_support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.29.
|
4
|
+
version: 4.29.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James A. Rosen
|
8
8
|
- Likun Liu
|
9
9
|
- Sean Caffery
|
10
10
|
- Daniel Ribeiro
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-02-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: i18n
|
@@ -31,16 +31,16 @@ dependencies:
|
|
31
31
|
name: sassc
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: '0'
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
|
-
- - "
|
41
|
+
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: '0'
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: sass
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,16 +73,16 @@ dependencies:
|
|
73
73
|
name: image_size
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- - "
|
76
|
+
- - "~>"
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
78
|
+
version: 2.0.2
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- - "
|
83
|
+
- - "~>"
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
85
|
+
version: 2.0.2
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
87
|
name: erubis
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
@@ -103,28 +103,34 @@ dependencies:
|
|
103
103
|
requirements:
|
104
104
|
- - "~>"
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version: 2.
|
106
|
+
version: 2.3.1
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
110
|
requirements:
|
111
111
|
- - "~>"
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version: 2.
|
113
|
+
version: 2.3.1
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: nokogiri
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
117
117
|
requirements:
|
118
|
-
- - "
|
118
|
+
- - ">="
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: 1.8.5
|
121
|
+
- - "<"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: 1.11.0
|
121
124
|
type: :runtime
|
122
125
|
prerelease: false
|
123
126
|
version_requirements: !ruby/object:Gem::Requirement
|
124
127
|
requirements:
|
125
|
-
- - "
|
128
|
+
- - ">="
|
126
129
|
- !ruby/object:Gem::Version
|
127
130
|
version: 1.8.5
|
131
|
+
- - "<"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.11.0
|
128
134
|
- !ruby/object:Gem::Dependency
|
129
135
|
name: rb-inotify
|
130
136
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,7 +310,7 @@ homepage: http://github.com/zendesk/zendesk_apps_support
|
|
304
310
|
licenses:
|
305
311
|
- Apache License Version 2.0
|
306
312
|
metadata: {}
|
307
|
-
post_install_message:
|
313
|
+
post_install_message:
|
308
314
|
rdoc_options: []
|
309
315
|
require_paths:
|
310
316
|
- lib
|
@@ -319,9 +325,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
319
325
|
- !ruby/object:Gem::Version
|
320
326
|
version: 1.3.6
|
321
327
|
requirements: []
|
322
|
-
|
323
|
-
|
324
|
-
signing_key:
|
328
|
+
rubygems_version: 3.0.8
|
329
|
+
signing_key:
|
325
330
|
specification_version: 4
|
326
331
|
summary: Support to help you develop Zendesk Apps.
|
327
332
|
test_files: []
|