turnkey_client 0.0.18 → 0.0.19

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.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/lib/turnkey_client/api/default_api.rb +46 -0
  3. data/lib/turnkey_client/api/ip_allowlist_api.rb +193 -0
  4. data/lib/turnkey_client/api/organizations_api.rb +290 -0
  5. data/lib/turnkey_client/api/signing_api.rb +232 -0
  6. data/lib/turnkey_client/api/tvc_api.rb +773 -0
  7. data/lib/turnkey_client/api/wallets_api.rb +4 -4
  8. data/lib/turnkey_client/configuration.rb +7 -0
  9. data/lib/turnkey_client/models/activate_billing_tier_intent.rb +14 -4
  10. data/lib/turnkey_client/models/activity_type.rb +21 -0
  11. data/lib/turnkey_client/models/address_format.rb +2 -0
  12. data/lib/turnkey_client/models/app_status.rb +243 -0
  13. data/lib/turnkey_client/models/boot_proof.rb +17 -6
  14. data/lib/turnkey_client/models/create_oauth_providers_intent_v2.rb +228 -0
  15. data/lib/turnkey_client/models/create_oauth_providers_request.rb +2 -2
  16. data/lib/turnkey_client/models/create_oauth_providers_result_v2.rb +213 -0
  17. data/lib/turnkey_client/models/create_read_write_session_intent_v2.rb +1 -1
  18. data/lib/turnkey_client/models/create_sub_organization_intent_v8.rb +316 -0
  19. data/lib/turnkey_client/models/create_sub_organization_request.rb +2 -2
  20. data/lib/turnkey_client/models/create_sub_organization_result_v8.rb +230 -0
  21. data/lib/turnkey_client/models/create_tvc_app_intent.rb +9 -9
  22. data/lib/turnkey_client/models/create_tvc_app_request.rb +288 -0
  23. data/lib/turnkey_client/models/create_tvc_deployment_intent.rb +45 -48
  24. data/lib/turnkey_client/models/create_tvc_deployment_request.rb +288 -0
  25. data/lib/turnkey_client/models/create_tvc_manifest_approvals_request.rb +288 -0
  26. data/lib/turnkey_client/models/create_users_intent_v4.rb +213 -0
  27. data/lib/turnkey_client/models/create_users_request.rb +2 -2
  28. data/lib/turnkey_client/models/create_webhook_endpoint_intent.rb +238 -0
  29. data/lib/turnkey_client/models/create_webhook_endpoint_request.rb +298 -0
  30. data/lib/turnkey_client/models/create_webhook_endpoint_result.rb +225 -0
  31. data/lib/turnkey_client/models/delete_tvc_app_and_deployments_intent.rb +211 -0
  32. data/lib/turnkey_client/models/delete_tvc_app_and_deployments_request.rb +298 -0
  33. data/lib/turnkey_client/models/delete_tvc_app_and_deployments_result.rb +211 -0
  34. data/lib/turnkey_client/models/delete_tvc_deployment_intent.rb +211 -0
  35. data/lib/turnkey_client/models/delete_tvc_deployment_request.rb +298 -0
  36. data/lib/turnkey_client/models/delete_tvc_deployment_result.rb +211 -0
  37. data/lib/turnkey_client/models/delete_webhook_endpoint_intent.rb +211 -0
  38. data/lib/turnkey_client/models/delete_webhook_endpoint_request.rb +298 -0
  39. data/lib/turnkey_client/models/delete_webhook_endpoint_result.rb +211 -0
  40. data/lib/turnkey_client/models/deployment_status.rb +255 -0
  41. data/lib/turnkey_client/models/eth_failure_details.rb +208 -0
  42. data/lib/turnkey_client/models/eth_send_transaction_intent.rb +12 -1
  43. data/lib/turnkey_client/models/feature_name.rb +1 -0
  44. data/lib/turnkey_client/models/get_app_status_request.rb +226 -0
  45. data/lib/turnkey_client/models/get_app_status_response.rb +210 -0
  46. data/lib/turnkey_client/models/get_ip_allowlist_request.rb +222 -0
  47. data/lib/turnkey_client/models/get_ip_allowlist_response.rb +210 -0
  48. data/lib/turnkey_client/models/get_send_transaction_status_response.rb +10 -1
  49. data/lib/turnkey_client/models/get_tvc_app_deployments_request.rb +226 -0
  50. data/lib/turnkey_client/models/get_tvc_app_deployments_response.rb +213 -0
  51. data/lib/turnkey_client/models/get_tvc_app_request.rb +226 -0
  52. data/lib/turnkey_client/models/get_tvc_app_response.rb +210 -0
  53. data/lib/turnkey_client/models/get_tvc_apps_request.rb +211 -0
  54. data/lib/turnkey_client/models/get_tvc_apps_response.rb +213 -0
  55. data/lib/turnkey_client/models/get_tvc_deployment_request.rb +226 -0
  56. data/lib/turnkey_client/models/get_tvc_deployment_response.rb +210 -0
  57. data/lib/turnkey_client/models/get_wallet_address_balances_request.rb +4 -4
  58. data/lib/turnkey_client/models/init_otp_auth_intent.rb +1 -1
  59. data/lib/turnkey_client/models/init_otp_auth_intent_v2.rb +1 -1
  60. data/lib/turnkey_client/models/init_otp_intent_v3.rb +336 -0
  61. data/lib/turnkey_client/models/init_otp_request.rb +2 -2
  62. data/lib/turnkey_client/models/init_otp_result_v2.rb +226 -0
  63. data/lib/turnkey_client/models/intent.rb +193 -4
  64. data/lib/turnkey_client/models/ip_allowlist.rb +261 -0
  65. data/lib/turnkey_client/models/ip_allowlist_intent_rule.rb +222 -0
  66. data/lib/turnkey_client/models/ip_allowlist_rule.rb +232 -0
  67. data/lib/turnkey_client/models/list_supported_assets_request.rb +3 -3
  68. data/lib/turnkey_client/models/list_webhook_endpoints_request.rb +211 -0
  69. data/lib/turnkey_client/models/list_webhook_endpoints_response.rb +212 -0
  70. data/lib/turnkey_client/models/login_usage.rb +211 -0
  71. data/lib/turnkey_client/models/noop_codegen_anchor_response.rb +219 -0
  72. data/lib/turnkey_client/models/oauth2_authenticate_intent.rb +6 -2
  73. data/lib/turnkey_client/models/oauth_provider_params_v2.rb +230 -0
  74. data/lib/turnkey_client/models/oidc_claims.rb +241 -0
  75. data/lib/turnkey_client/models/otp_login_intent_v2.rb +262 -0
  76. data/lib/turnkey_client/models/otp_login_request.rb +2 -2
  77. data/lib/turnkey_client/models/post_tvc_quorum_key_share_intent.rb +240 -0
  78. data/lib/turnkey_client/models/post_tvc_quorum_key_share_result.rb +211 -0
  79. data/lib/turnkey_client/models/quorum_key_share_approval_bundle.rb +241 -0
  80. data/lib/turnkey_client/models/remove_ip_allowlist_intent.rb +207 -0
  81. data/lib/turnkey_client/models/remove_ip_allowlist_request.rb +298 -0
  82. data/lib/turnkey_client/models/remove_ip_allowlist_result.rb +196 -0
  83. data/lib/turnkey_client/models/restore_tvc_deployment_intent.rb +211 -0
  84. data/lib/turnkey_client/models/restore_tvc_deployment_request.rb +298 -0
  85. data/lib/turnkey_client/models/restore_tvc_deployment_result.rb +211 -0
  86. data/lib/turnkey_client/models/result.rb +166 -4
  87. data/lib/turnkey_client/models/root_user_params_v5.rb +284 -0
  88. data/lib/turnkey_client/models/set_ip_allowlist_intent.rb +241 -0
  89. data/lib/turnkey_client/models/set_ip_allowlist_request.rb +298 -0
  90. data/lib/turnkey_client/models/set_ip_allowlist_result.rb +196 -0
  91. data/lib/turnkey_client/models/signup_usage.rb +249 -0
  92. data/lib/turnkey_client/models/signup_usage_v2.rb +249 -0
  93. data/lib/turnkey_client/models/sol_send_transaction_intent.rb +3 -3
  94. data/lib/turnkey_client/models/solana_config.rb +207 -0
  95. data/lib/turnkey_client/models/solana_failure_details.rb +273 -0
  96. data/lib/turnkey_client/models/solana_send_transaction_status.rb +207 -0
  97. data/lib/turnkey_client/models/spark_claim_leaf.rb +241 -0
  98. data/lib/turnkey_client/models/spark_claim_package.rb +275 -0
  99. data/lib/turnkey_client/models/spark_claim_transfer_intent.rb +225 -0
  100. data/lib/turnkey_client/models/spark_claim_transfer_request.rb +288 -0
  101. data/lib/turnkey_client/models/spark_claim_transfer_result.rb +230 -0
  102. data/lib/turnkey_client/models/spark_deposit_derivation.rb +196 -0
  103. data/lib/turnkey_client/models/spark_encrypted_operator_package.rb +226 -0
  104. data/lib/turnkey_client/models/spark_frost_commitment.rb +241 -0
  105. data/lib/turnkey_client/models/spark_htlc_preimage_derivation.rb +196 -0
  106. data/lib/turnkey_client/models/spark_identity_derivation.rb +196 -0
  107. data/lib/turnkey_client/models/spark_key_derivation.rb +241 -0
  108. data/lib/turnkey_client/models/spark_leaf_public_key.rb +226 -0
  109. data/lib/turnkey_client/models/spark_lightning_receive_package.rb +228 -0
  110. data/lib/turnkey_client/models/spark_operator_recipient.rb +226 -0
  111. data/lib/turnkey_client/models/spark_partial_signature.rb +241 -0
  112. data/lib/turnkey_client/models/spark_prepare_lightning_receive_intent.rb +225 -0
  113. data/lib/turnkey_client/models/spark_prepare_lightning_receive_request.rb +288 -0
  114. data/lib/turnkey_client/models/spark_prepare_lightning_receive_result.rb +228 -0
  115. data/lib/turnkey_client/models/spark_prepare_transfer_intent.rb +225 -0
  116. data/lib/turnkey_client/models/spark_prepare_transfer_request.rb +288 -0
  117. data/lib/turnkey_client/models/spark_prepare_transfer_result.rb +245 -0
  118. data/lib/turnkey_client/models/spark_sign_frost_intent.rb +228 -0
  119. data/lib/turnkey_client/models/spark_sign_frost_request.rb +288 -0
  120. data/lib/turnkey_client/models/spark_sign_frost_result.rb +213 -0
  121. data/lib/turnkey_client/models/spark_signature_request.rb +268 -0
  122. data/lib/turnkey_client/models/spark_signing_leaf_derivation.rb +211 -0
  123. data/lib/turnkey_client/models/spark_static_deposit_derivation.rb +211 -0
  124. data/lib/turnkey_client/models/spark_transfer_leaf.rb +272 -0
  125. data/lib/turnkey_client/models/spark_transfer_package.rb +275 -0
  126. data/lib/turnkey_client/models/token_usage.rb +252 -0
  127. data/lib/turnkey_client/models/tvc_app.rb +353 -0
  128. data/lib/turnkey_client/models/tvc_container_spec.rb +302 -0
  129. data/lib/turnkey_client/models/tvc_deployment.rb +372 -0
  130. data/lib/turnkey_client/models/tvc_health_check_type.rb +27 -0
  131. data/lib/turnkey_client/models/tvc_manifest.rb +254 -0
  132. data/lib/turnkey_client/models/tvc_operator.rb +269 -0
  133. data/lib/turnkey_client/models/tvc_operator_approval.rb +283 -0
  134. data/lib/turnkey_client/models/tvc_operator_set.rb +301 -0
  135. data/lib/turnkey_client/models/tx_error.rb +22 -4
  136. data/lib/turnkey_client/models/update_auth_proxy_config_intent.rb +17 -5
  137. data/lib/turnkey_client/models/update_organization_name_intent.rb +211 -0
  138. data/lib/turnkey_client/models/update_organization_name_request.rb +298 -0
  139. data/lib/turnkey_client/models/update_organization_name_result.rb +226 -0
  140. data/lib/turnkey_client/models/update_tvc_app_live_deployment_intent.rb +211 -0
  141. data/lib/turnkey_client/models/update_tvc_app_live_deployment_request.rb +298 -0
  142. data/lib/turnkey_client/models/update_tvc_app_live_deployment_result.rb +196 -0
  143. data/lib/turnkey_client/models/update_webhook_endpoint_intent.rb +244 -0
  144. data/lib/turnkey_client/models/update_webhook_endpoint_request.rb +298 -0
  145. data/lib/turnkey_client/models/update_webhook_endpoint_result.rb +225 -0
  146. data/lib/turnkey_client/models/upsert_gas_usage_config_intent.rb +15 -6
  147. data/lib/turnkey_client/models/usage_type.rb +27 -0
  148. data/lib/turnkey_client/models/user_params_v4.rb +301 -0
  149. data/lib/turnkey_client/models/validate_tvc_image_request.rb +237 -0
  150. data/lib/turnkey_client/models/validate_tvc_image_response.rb +205 -0
  151. data/lib/turnkey_client/models/verify_otp_intent_v2.rb +237 -0
  152. data/lib/turnkey_client/models/verify_otp_request.rb +2 -2
  153. data/lib/turnkey_client/models/web_authn_stamp.rb +256 -0
  154. data/lib/turnkey_client/models/webhook_endpoint_data.rb +283 -0
  155. data/lib/turnkey_client/models/webhook_subscription_params.rb +233 -0
  156. data/lib/turnkey_client/version.rb +1 -1
  157. data/lib/turnkey_client.rb +122 -0
  158. metadata +124 -2
@@ -0,0 +1,336 @@
1
+ =begin
2
+ #API Reference
3
+
4
+ #Review our [API Introduction](../api-introduction) to get started.
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ =end
10
+
11
+ require 'date'
12
+
13
+ module TurnkeyClient
14
+ class InitOtpIntentV3
15
+ # Whether to send OTP via SMS or email. Possible values: OTP_TYPE_SMS, OTP_TYPE_EMAIL
16
+ attr_accessor :otp_type
17
+
18
+ # Email or phone number to send the OTP code to
19
+ attr_accessor :contact
20
+
21
+ # The name of the application.
22
+ attr_accessor :app_name
23
+
24
+ # Optional length of the OTP code. Default = 9
25
+ attr_accessor :otp_length
26
+
27
+ attr_accessor :email_customization
28
+
29
+ attr_accessor :sms_customization
30
+
31
+ # Optional client-generated user identifier to enable per-user rate limiting for SMS auth. We recommend using a hash of the client-side IP address.
32
+ attr_accessor :user_identifier
33
+
34
+ # Optional custom email address from which to send the OTP email
35
+ attr_accessor :send_from_email_address
36
+
37
+ # Optional flag to specify if the OTP code should be alphanumeric (Crockford’s Base32). If set to false, OTP code will only be numeric. Default = true
38
+ attr_accessor :alphanumeric
39
+
40
+ # Optional custom sender name for use with sendFromEmailAddress; if left empty, will default to 'Notifications'
41
+ attr_accessor :send_from_email_sender_name
42
+
43
+ # Expiration window (in seconds) indicating how long the OTP is valid for. If not provided, a default of 5 minutes will be used. Maximum value is 600 seconds (10 minutes)
44
+ attr_accessor :expiration_seconds
45
+
46
+ # Optional custom email address to use as reply-to
47
+ attr_accessor :reply_to_email_address
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'otp_type' => :'otpType',
53
+ :'contact' => :'contact',
54
+ :'app_name' => :'appName',
55
+ :'otp_length' => :'otpLength',
56
+ :'email_customization' => :'emailCustomization',
57
+ :'sms_customization' => :'smsCustomization',
58
+ :'user_identifier' => :'userIdentifier',
59
+ :'send_from_email_address' => :'sendFromEmailAddress',
60
+ :'alphanumeric' => :'alphanumeric',
61
+ :'send_from_email_sender_name' => :'sendFromEmailSenderName',
62
+ :'expiration_seconds' => :'expirationSeconds',
63
+ :'reply_to_email_address' => :'replyToEmailAddress'
64
+ }
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'otp_type' => :'Object',
71
+ :'contact' => :'Object',
72
+ :'app_name' => :'Object',
73
+ :'otp_length' => :'Object',
74
+ :'email_customization' => :'Object',
75
+ :'sms_customization' => :'Object',
76
+ :'user_identifier' => :'Object',
77
+ :'send_from_email_address' => :'Object',
78
+ :'alphanumeric' => :'Object',
79
+ :'send_from_email_sender_name' => :'Object',
80
+ :'expiration_seconds' => :'Object',
81
+ :'reply_to_email_address' => :'Object'
82
+ }
83
+ end
84
+
85
+ # List of attributes with nullable: true
86
+ def self.openapi_nullable
87
+ Set.new([
88
+ :'otp_length',
89
+ :'user_identifier',
90
+ :'send_from_email_address',
91
+ :'alphanumeric',
92
+ :'send_from_email_sender_name',
93
+ :'expiration_seconds',
94
+ :'reply_to_email_address'
95
+ ])
96
+ end
97
+
98
+ # Initializes the object
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ def initialize(attributes = {})
101
+ if (!attributes.is_a?(Hash))
102
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::InitOtpIntentV3` initialize method"
103
+ end
104
+
105
+ # check to see if the attribute exists and convert string to symbol for hash key
106
+ attributes = attributes.each_with_object({}) { |(k, v), h|
107
+ if (!self.class.attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::InitOtpIntentV3`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
109
+ end
110
+ h[k.to_sym] = v
111
+ }
112
+
113
+ if attributes.key?(:'otp_type')
114
+ self.otp_type = attributes[:'otp_type']
115
+ end
116
+
117
+ if attributes.key?(:'contact')
118
+ self.contact = attributes[:'contact']
119
+ end
120
+
121
+ if attributes.key?(:'app_name')
122
+ self.app_name = attributes[:'app_name']
123
+ end
124
+
125
+ if attributes.key?(:'otp_length')
126
+ self.otp_length = attributes[:'otp_length']
127
+ end
128
+
129
+ if attributes.key?(:'email_customization')
130
+ self.email_customization = attributes[:'email_customization']
131
+ end
132
+
133
+ if attributes.key?(:'sms_customization')
134
+ self.sms_customization = attributes[:'sms_customization']
135
+ end
136
+
137
+ if attributes.key?(:'user_identifier')
138
+ self.user_identifier = attributes[:'user_identifier']
139
+ end
140
+
141
+ if attributes.key?(:'send_from_email_address')
142
+ self.send_from_email_address = attributes[:'send_from_email_address']
143
+ end
144
+
145
+ if attributes.key?(:'alphanumeric')
146
+ self.alphanumeric = attributes[:'alphanumeric']
147
+ end
148
+
149
+ if attributes.key?(:'send_from_email_sender_name')
150
+ self.send_from_email_sender_name = attributes[:'send_from_email_sender_name']
151
+ end
152
+
153
+ if attributes.key?(:'expiration_seconds')
154
+ self.expiration_seconds = attributes[:'expiration_seconds']
155
+ end
156
+
157
+ if attributes.key?(:'reply_to_email_address')
158
+ self.reply_to_email_address = attributes[:'reply_to_email_address']
159
+ end
160
+ end
161
+
162
+ # Show invalid properties with the reasons. Usually used together with valid?
163
+ # @return Array for valid properties with the reasons
164
+ def list_invalid_properties
165
+ invalid_properties = Array.new
166
+ if @otp_type.nil?
167
+ invalid_properties.push('invalid value for "otp_type", otp_type cannot be nil.')
168
+ end
169
+
170
+ if @contact.nil?
171
+ invalid_properties.push('invalid value for "contact", contact cannot be nil.')
172
+ end
173
+
174
+ if @app_name.nil?
175
+ invalid_properties.push('invalid value for "app_name", app_name cannot be nil.')
176
+ end
177
+
178
+ invalid_properties
179
+ end
180
+
181
+ # Check to see if the all the properties in the model are valid
182
+ # @return true if the model is valid
183
+ def valid?
184
+ return false if @otp_type.nil?
185
+ return false if @contact.nil?
186
+ return false if @app_name.nil?
187
+ true
188
+ end
189
+
190
+ # Checks equality by comparing each attribute.
191
+ # @param [Object] Object to be compared
192
+ def ==(o)
193
+ return true if self.equal?(o)
194
+ self.class == o.class &&
195
+ otp_type == o.otp_type &&
196
+ contact == o.contact &&
197
+ app_name == o.app_name &&
198
+ otp_length == o.otp_length &&
199
+ email_customization == o.email_customization &&
200
+ sms_customization == o.sms_customization &&
201
+ user_identifier == o.user_identifier &&
202
+ send_from_email_address == o.send_from_email_address &&
203
+ alphanumeric == o.alphanumeric &&
204
+ send_from_email_sender_name == o.send_from_email_sender_name &&
205
+ expiration_seconds == o.expiration_seconds &&
206
+ reply_to_email_address == o.reply_to_email_address
207
+ end
208
+
209
+ # @see the `==` method
210
+ # @param [Object] Object to be compared
211
+ def eql?(o)
212
+ self == o
213
+ end
214
+
215
+ # Calculates hash code according to all attributes.
216
+ # @return [Integer] Hash code
217
+ def hash
218
+ [otp_type, contact, app_name, otp_length, email_customization, sms_customization, user_identifier, send_from_email_address, alphanumeric, send_from_email_sender_name, expiration_seconds, reply_to_email_address].hash
219
+ end
220
+
221
+ # Builds the object from hash
222
+ # @param [Hash] attributes Model attributes in the form of hash
223
+ # @return [Object] Returns the model itself
224
+ def self.build_from_hash(attributes)
225
+ new.build_from_hash(attributes)
226
+ end
227
+
228
+ # Builds the object from hash
229
+ # @param [Hash] attributes Model attributes in the form of hash
230
+ # @return [Object] Returns the model itself
231
+ def build_from_hash(attributes)
232
+ return nil unless attributes.is_a?(Hash)
233
+ self.class.openapi_types.each_pair do |key, type|
234
+ if type =~ /\AArray<(.*)>/i
235
+ # check to ensure the input is an array given that the attribute
236
+ # is documented as an array but the input is not
237
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
238
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
239
+ end
240
+ elsif !attributes[self.class.attribute_map[key]].nil?
241
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
242
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
243
+ self.send("#{key}=", nil)
244
+ end
245
+ end
246
+
247
+ self
248
+ end
249
+
250
+ # Deserializes the data based on type
251
+ # @param string type Data type
252
+ # @param string value Value to be deserialized
253
+ # @return [Object] Deserialized data
254
+ def _deserialize(type, value)
255
+ case type.to_sym
256
+ when :DateTime
257
+ DateTime.parse(value)
258
+ when :Date
259
+ Date.parse(value)
260
+ when :String
261
+ value.to_s
262
+ when :Integer
263
+ value.to_i
264
+ when :Float
265
+ value.to_f
266
+ when :Boolean
267
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
268
+ true
269
+ else
270
+ false
271
+ end
272
+ when :Object
273
+ # generic object (usually a Hash), return directly
274
+ value
275
+ when /\AArray<(?<inner_type>.+)>\z/
276
+ inner_type = Regexp.last_match[:inner_type]
277
+ value.map { |v| _deserialize(inner_type, v) }
278
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
279
+ k_type = Regexp.last_match[:k_type]
280
+ v_type = Regexp.last_match[:v_type]
281
+ {}.tap do |hash|
282
+ value.each do |k, v|
283
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
284
+ end
285
+ end
286
+ else # model
287
+ TurnkeyClient.const_get(type).build_from_hash(value)
288
+ end
289
+ end
290
+
291
+ # Returns the string representation of the object
292
+ # @return [String] String presentation of the object
293
+ def to_s
294
+ to_hash.to_s
295
+ end
296
+
297
+ # to_body is an alias to to_hash (backward compatibility)
298
+ # @return [Hash] Returns the object in the form of hash
299
+ def to_body
300
+ to_hash
301
+ end
302
+
303
+ # Returns the object in the form of hash
304
+ # @return [Hash] Returns the object in the form of hash
305
+ def to_hash
306
+ hash = {}
307
+ self.class.attribute_map.each_pair do |attr, param|
308
+ value = self.send(attr)
309
+ if value.nil?
310
+ is_nullable = self.class.openapi_nullable.include?(attr)
311
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
312
+ end
313
+
314
+ hash[param] = _to_hash(value)
315
+ end
316
+ hash
317
+ end
318
+
319
+ # Outputs non-array value in the form of hash
320
+ # For object, use to_hash. Otherwise, just return the value
321
+ # @param [Object] value Any valid value
322
+ # @return [Hash] Returns the value in the form of hash
323
+ def _to_hash(value)
324
+ if value.is_a?(Array)
325
+ value.compact.map { |v| _to_hash(v) }
326
+ elsif value.is_a?(Hash)
327
+ {}.tap do |hash|
328
+ value.each { |k, v| hash[k] = _to_hash(v) }
329
+ end
330
+ elsif value.respond_to? :to_hash
331
+ value.to_hash
332
+ else
333
+ value
334
+ end
335
+ end end
336
+ end
@@ -138,7 +138,7 @@ module TurnkeyClient
138
138
  # @return true if the model is valid
139
139
  def valid?
140
140
  return false if @type.nil?
141
- type_validator = EnumAttributeValidator.new('Object', ['ACTIVITY_TYPE_INIT_OTP_V2'])
141
+ type_validator = EnumAttributeValidator.new('Object', ['ACTIVITY_TYPE_INIT_OTP_V3'])
142
142
  return false unless type_validator.valid?(@type)
143
143
  return false if @timestamp_ms.nil?
144
144
  return false if @organization_id.nil?
@@ -149,7 +149,7 @@ module TurnkeyClient
149
149
  # Custom attribute writer method checking allowed values (enum).
150
150
  # @param [Object] type Object to be assigned
151
151
  def type=(type)
152
- validator = EnumAttributeValidator.new('Object', ['ACTIVITY_TYPE_INIT_OTP_V2'])
152
+ validator = EnumAttributeValidator.new('Object', ['ACTIVITY_TYPE_INIT_OTP_V3'])
153
153
  unless validator.valid?(type)
154
154
  fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
155
155
  end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #API Reference
3
+
4
+ #Review our [API Introduction](../api-introduction) to get started.
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ =end
10
+
11
+ require 'date'
12
+
13
+ module TurnkeyClient
14
+ class InitOtpResultV2
15
+ # Unique identifier for an OTP flow
16
+ attr_accessor :otp_id
17
+
18
+ # Signed bundle containing a target encryption key to use when submitting OTP codes.
19
+ attr_accessor :otp_encryption_target_bundle
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'otp_id' => :'otpId',
25
+ :'otp_encryption_target_bundle' => :'otpEncryptionTargetBundle'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.openapi_types
31
+ {
32
+ :'otp_id' => :'Object',
33
+ :'otp_encryption_target_bundle' => :'Object'
34
+ }
35
+ end
36
+
37
+ # List of attributes with nullable: true
38
+ def self.openapi_nullable
39
+ Set.new([
40
+ ])
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ if (!attributes.is_a?(Hash))
47
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::InitOtpResultV2` initialize method"
48
+ end
49
+
50
+ # check to see if the attribute exists and convert string to symbol for hash key
51
+ attributes = attributes.each_with_object({}) { |(k, v), h|
52
+ if (!self.class.attribute_map.key?(k.to_sym))
53
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::InitOtpResultV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
+ end
55
+ h[k.to_sym] = v
56
+ }
57
+
58
+ if attributes.key?(:'otp_id')
59
+ self.otp_id = attributes[:'otp_id']
60
+ end
61
+
62
+ if attributes.key?(:'otp_encryption_target_bundle')
63
+ self.otp_encryption_target_bundle = attributes[:'otp_encryption_target_bundle']
64
+ end
65
+ end
66
+
67
+ # Show invalid properties with the reasons. Usually used together with valid?
68
+ # @return Array for valid properties with the reasons
69
+ def list_invalid_properties
70
+ invalid_properties = Array.new
71
+ if @otp_id.nil?
72
+ invalid_properties.push('invalid value for "otp_id", otp_id cannot be nil.')
73
+ end
74
+
75
+ if @otp_encryption_target_bundle.nil?
76
+ invalid_properties.push('invalid value for "otp_encryption_target_bundle", otp_encryption_target_bundle cannot be nil.')
77
+ end
78
+
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ return false if @otp_id.nil?
86
+ return false if @otp_encryption_target_bundle.nil?
87
+ true
88
+ end
89
+
90
+ # Checks equality by comparing each attribute.
91
+ # @param [Object] Object to be compared
92
+ def ==(o)
93
+ return true if self.equal?(o)
94
+ self.class == o.class &&
95
+ otp_id == o.otp_id &&
96
+ otp_encryption_target_bundle == o.otp_encryption_target_bundle
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [otp_id, otp_encryption_target_bundle].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ new.build_from_hash(attributes)
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ self.class.openapi_types.each_pair do |key, type|
124
+ if type =~ /\AArray<(.*)>/i
125
+ # check to ensure the input is an array given that the attribute
126
+ # is documented as an array but the input is not
127
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
128
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
129
+ end
130
+ elsif !attributes[self.class.attribute_map[key]].nil?
131
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
132
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
133
+ self.send("#{key}=", nil)
134
+ end
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :Boolean
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ TurnkeyClient.const_get(type).build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end end
226
+ end