workato-connector-sdk 1.3.12 → 1.3.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/workato/connector/sdk/connection.rb +6 -3
- data/lib/workato/connector/sdk/dsl/aws.rb +0 -1
- data/lib/workato/connector/sdk/errors.rb +11 -0
- data/lib/workato/connector/sdk/trigger.rb +6 -1
- data/lib/workato/extension/currency.rb +1 -1
- data/lib/workato/extension/string.rb +23 -0
- metadata +44 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c8856e03b09111c24c0a3b82d2efa9820e1923fec9fd334999ffd240c80d224
|
4
|
+
data.tar.gz: 724aac1bf3ddddf16bb5c00d8e63246adaf9f9be678149668d20fa7e4aeb8d8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bece2ccfc7bec7498cbb4848b790389c12b349020fc56668b68ae138c1e4b9dfee093ff5082a54f378f0c63c8262d807b593fde01dcfbf295e43b7cbcc36cccb
|
7
|
+
data.tar.gz: '0088974711af0c0fc2016037e4390713440b45530c8a34a28ad4332d8a3b532f202f3be8a53e8ad1155162078489fbd17e2ef40a9e6096f655a6cd132be87817'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.3.
|
1
|
+
1.3.14
|
@@ -30,10 +30,13 @@ module Workato
|
|
30
30
|
RefreshOutput = T.type_alias do
|
31
31
|
T.any(
|
32
32
|
[
|
33
|
-
ActiveSupport::HashWithIndifferentAccess,
|
34
|
-
T.nilable(
|
33
|
+
ActiveSupport::HashWithIndifferentAccess, # tokens
|
34
|
+
T.nilable(ActiveSupport::HashWithIndifferentAccess) # settings
|
35
35
|
],
|
36
|
-
|
36
|
+
[
|
37
|
+
ActiveSupport::HashWithIndifferentAccess # tokens
|
38
|
+
],
|
39
|
+
ActiveSupport::HashWithIndifferentAccess # tokens
|
37
40
|
)
|
38
41
|
end
|
39
42
|
end
|
@@ -18,6 +18,17 @@ module Workato
|
|
18
18
|
|
19
19
|
InvalidURIError = Class.new(Error)
|
20
20
|
|
21
|
+
InvalidOutputError = Class.new(Error)
|
22
|
+
|
23
|
+
class InvalidTriggerPollOutputError < InvalidOutputError
|
24
|
+
attr_reader :sdk_reference
|
25
|
+
|
26
|
+
def initialize
|
27
|
+
@sdk_reference = 'https://docs.workato.com/developing-connectors/sdk/sdk-reference/triggers.html#poll'
|
28
|
+
super("Invalid output from trigger poll lambda.\nSee SDK documentation: #{@sdk_reference}")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
21
32
|
class UnexpectedMethodDefinitionError < InvalidDefinitionError
|
22
33
|
attr_reader :name
|
23
34
|
attr_reader :definition
|
@@ -74,8 +74,13 @@ module Workato
|
|
74
74
|
extended_input_schema,
|
75
75
|
extended_output_schema
|
76
76
|
) do |connection, payload, eis, eos|
|
77
|
-
instance_exec(connection, payload[:input], payload[:closure], eis, eos, &poll_proc)
|
77
|
+
instance_exec(connection, payload[:input], payload[:closure], eis, eos, &poll_proc) || {}
|
78
78
|
end
|
79
|
+
|
80
|
+
unless T.unsafe(output).is_a?(::Hash)
|
81
|
+
Kernel.raise Workato::Connector::Sdk::InvalidTriggerPollOutputError
|
82
|
+
end
|
83
|
+
|
79
84
|
output[:events] = Array.wrap(output[:events])
|
80
85
|
.reverse!
|
81
86
|
.map! { |event| ::Hash.try_convert(event) || event }
|
@@ -155,22 +155,30 @@ module Workato
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def hmac_sha256(key)
|
158
|
+
assert_string_argument!(key, 'key')
|
159
|
+
|
158
160
|
digest = ::OpenSSL::Digest.new('sha256')
|
159
161
|
Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
|
160
162
|
end
|
161
163
|
|
162
164
|
def hmac_sha512(key)
|
165
|
+
assert_string_argument!(key, 'key')
|
166
|
+
|
163
167
|
digest = ::OpenSSL::Digest.new('sha512')
|
164
168
|
Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
|
165
169
|
end
|
166
170
|
|
167
171
|
def rsa_sha256(key)
|
172
|
+
assert_string_argument!(key, 'key')
|
173
|
+
|
168
174
|
digest = ::OpenSSL::Digest.new('sha256')
|
169
175
|
private_key = ::OpenSSL::PKey::RSA.new(key)
|
170
176
|
Types::Binary.new(private_key.sign(digest, self))
|
171
177
|
end
|
172
178
|
|
173
179
|
def rsa_sha512(key)
|
180
|
+
assert_string_argument!(key, 'key')
|
181
|
+
|
174
182
|
digest = ::OpenSSL::Digest.new('sha512')
|
175
183
|
private_key = ::OpenSSL::PKey::RSA.new(key)
|
176
184
|
Types::Binary.new(private_key.sign(digest, self))
|
@@ -187,11 +195,15 @@ module Workato
|
|
187
195
|
end
|
188
196
|
|
189
197
|
def hmac_sha1(key)
|
198
|
+
assert_string_argument!(key, 'key')
|
199
|
+
|
190
200
|
digest = ::OpenSSL::Digest.new('sha1')
|
191
201
|
Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
|
192
202
|
end
|
193
203
|
|
194
204
|
def hmac_md5(key)
|
205
|
+
assert_string_argument!(key, 'key')
|
206
|
+
|
195
207
|
digest = ::OpenSSL::Digest.new('md5')
|
196
208
|
Types::Binary.new(::OpenSSL::HMAC.digest(digest, key, self))
|
197
209
|
end
|
@@ -199,6 +211,17 @@ module Workato
|
|
199
211
|
def from_xml
|
200
212
|
Workato::Utilities::Xml.parse_xml_to_hash(self)
|
201
213
|
end
|
214
|
+
|
215
|
+
private
|
216
|
+
|
217
|
+
def assert_string_argument!(value, arg_name)
|
218
|
+
return if value.is_a?(String)
|
219
|
+
|
220
|
+
Kernel.raise(
|
221
|
+
Workato::Connector::Sdk::ArgumentError,
|
222
|
+
"Expected a String for '#{arg_name}' parameter, given #{value.class.name}"
|
223
|
+
)
|
224
|
+
end
|
202
225
|
end
|
203
226
|
end
|
204
227
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workato-connector-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Abolmasov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '5.2'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '7.
|
22
|
+
version: '7.1'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '5.2'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '7.
|
32
|
+
version: '7.1'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,6 +84,26 @@ dependencies:
|
|
84
84
|
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: 0.7.7
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: concurrent-ruby
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
94
|
+
- - "!="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.3.5
|
97
|
+
type: :runtime
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.0'
|
104
|
+
- - "!="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 1.3.5
|
87
107
|
- !ruby/object:Gem::Dependency
|
88
108
|
name: em-http-request
|
89
109
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,6 +226,26 @@ dependencies:
|
|
206
226
|
- - "<"
|
207
227
|
- !ruby/object:Gem::Version
|
208
228
|
version: '1.16'
|
229
|
+
- !ruby/object:Gem::Dependency
|
230
|
+
name: public_suffix
|
231
|
+
requirement: !ruby/object:Gem::Requirement
|
232
|
+
requirements:
|
233
|
+
- - ">="
|
234
|
+
- !ruby/object:Gem::Version
|
235
|
+
version: 4.0.7
|
236
|
+
- - "<"
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: '6.0'
|
239
|
+
type: :runtime
|
240
|
+
prerelease: false
|
241
|
+
version_requirements: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: 4.0.7
|
246
|
+
- - "<"
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '6.0'
|
209
249
|
- !ruby/object:Gem::Dependency
|
210
250
|
name: rack
|
211
251
|
requirement: !ruby/object:Gem::Requirement
|