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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40dd8b1034fcfdb82b5590b15401bbc4208fe2bf7fcf2c09c8772c06ad34a1b4
4
- data.tar.gz: 30b02dc5ff1dbe073e593afd308b1924c6134a39acb1cb323c28a99636b0e2d3
3
+ metadata.gz: 9c8856e03b09111c24c0a3b82d2efa9820e1923fec9fd334999ffd240c80d224
4
+ data.tar.gz: 724aac1bf3ddddf16bb5c00d8e63246adaf9f9be678149668d20fa7e4aeb8d8d
5
5
  SHA512:
6
- metadata.gz: 001cd37e1b293e0603b01bae8404714302be629332d43807979bb697e2173e7b72b3af701b629862e0f163ded7ca96877865dea6834bd8646dcb2cbf46c2b501
7
- data.tar.gz: 60d5ecd4482d381aa294350521bf8afb543ffe4d2589fd3363d10534fc5dab1d43498b5c127e5646fa7e14d5140d7b283627ee682e470a28cf73236ac6568528
6
+ metadata.gz: bece2ccfc7bec7498cbb4848b790389c12b349020fc56668b68ae138c1e4b9dfee093ff5082a54f378f0c63c8262d807b593fde01dcfbf295e43b7cbcc36cccb
7
+ data.tar.gz: '0088974711af0c0fc2016037e4390713440b45530c8a34a28ad4332d8a3b532f202f3be8a53e8ad1155162078489fbd17e2ef40a9e6096f655a6cd132be87817'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.12
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(String)
33
+ ActiveSupport::HashWithIndifferentAccess, # tokens
34
+ T.nilable(ActiveSupport::HashWithIndifferentAccess) # settings
35
35
  ],
36
- ActiveSupport::HashWithIndifferentAccess
36
+ [
37
+ ActiveSupport::HashWithIndifferentAccess # tokens
38
+ ],
39
+ ActiveSupport::HashWithIndifferentAccess # tokens
37
40
  )
38
41
  end
39
42
  end
@@ -48,7 +48,6 @@ module Workato
48
48
  params: {},
49
49
  headers: {},
50
50
  payload: '')
51
-
52
51
  credentials = if connection[:aws_assume_role].present?
53
52
  role_based_auth(settings: connection)
54
53
  else
@@ -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 }
@@ -47,7 +47,7 @@ module Workato
47
47
  end
48
48
 
49
49
  def to_state_name(country_name = 'US')
50
- to_state(country_name)&.last&.name&.upcase
50
+ to_state(country_name)&.last&.name&.upcase # rubocop:disable Style/SafeNavigationChainLength
51
51
  end
52
52
 
53
53
  private
@@ -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.12
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: 2024-08-30 00:00:00.000000000 Z
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.0'
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.0'
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