turnkey_client 0.0.13 → 0.0.15

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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/lib/turnkey_client/api/activities_api.rb +66 -8
  3. data/lib/turnkey_client/api/api_keys_api.rb +14 -14
  4. data/lib/turnkey_client/api/app_proof_api.rb +77 -0
  5. data/lib/turnkey_client/api/authenticators_api.rb +16 -16
  6. data/lib/turnkey_client/api/boot_proof_api.rb +135 -0
  7. data/lib/turnkey_client/api/consensus_api.rb +8 -8
  8. data/lib/turnkey_client/api/default_api.rb +77 -0
  9. data/lib/turnkey_client/api/features_api.rb +8 -8
  10. data/lib/turnkey_client/api/invitations_api.rb +8 -8
  11. data/lib/turnkey_client/api/on_ramp_api.rb +77 -0
  12. data/lib/turnkey_client/api/organizations_api.rb +18 -18
  13. data/lib/turnkey_client/api/policies_api.rb +256 -24
  14. data/lib/turnkey_client/api/private_key_tags_api.rb +12 -12
  15. data/lib/turnkey_client/api/private_keys_api.rb +28 -28
  16. data/lib/turnkey_client/api/sessions_api.rb +184 -10
  17. data/lib/turnkey_client/api/signing_api.rb +12 -12
  18. data/lib/turnkey_client/api/user_auth_api.rb +310 -20
  19. data/lib/turnkey_client/api/user_recovery_api.rb +6 -6
  20. data/lib/turnkey_client/api/user_tags_api.rb +12 -12
  21. data/lib/turnkey_client/api/user_verification_api.rb +135 -0
  22. data/lib/turnkey_client/api/users_api.rb +194 -20
  23. data/lib/turnkey_client/api/wallets_api.rb +48 -48
  24. data/lib/turnkey_client/models/activity.rb +13 -1
  25. data/lib/turnkey_client/models/activity_type.rb +21 -0
  26. data/lib/turnkey_client/models/activity_v1_policy_evaluation.rb +287 -0
  27. data/lib/turnkey_client/models/address_format.rb +1 -0
  28. data/lib/turnkey_client/models/api_key.rb +1 -0
  29. data/lib/turnkey_client/models/api_key_params.rb +1 -0
  30. data/lib/turnkey_client/models/api_key_params_v2.rb +1 -0
  31. data/lib/turnkey_client/models/api_only_user_params.rb +3 -2
  32. data/lib/turnkey_client/models/app_proof.rb +255 -0
  33. data/lib/turnkey_client/models/boot_proof.rb +315 -0
  34. data/lib/turnkey_client/models/boot_proof_response.rb +210 -0
  35. data/lib/turnkey_client/models/common_v1_policy_evaluation.rb +214 -0
  36. data/lib/turnkey_client/models/create_oauth2_credential_intent.rb +240 -0
  37. data/lib/turnkey_client/models/create_oauth2_credential_request.rb +288 -0
  38. data/lib/turnkey_client/models/create_oauth2_credential_result.rb +211 -0
  39. data/lib/turnkey_client/models/create_organization_intent.rb +1 -0
  40. data/lib/turnkey_client/models/create_organization_intent_v2.rb +1 -0
  41. data/lib/turnkey_client/models/create_policy_intent_v3.rb +2 -0
  42. data/lib/turnkey_client/models/create_read_write_session_intent.rb +3 -1
  43. data/lib/turnkey_client/models/create_read_write_session_intent_v2.rb +19 -5
  44. data/lib/turnkey_client/models/create_smart_contract_interface_intent.rb +265 -0
  45. data/lib/turnkey_client/models/create_smart_contract_interface_request.rb +288 -0
  46. data/lib/turnkey_client/models/create_smart_contract_interface_result.rb +211 -0
  47. data/lib/turnkey_client/models/create_sub_organization_intent_v4.rb +2 -0
  48. data/lib/turnkey_client/models/create_sub_organization_intent_v5.rb +2 -0
  49. data/lib/turnkey_client/models/create_sub_organization_intent_v6.rb +2 -0
  50. data/lib/turnkey_client/models/create_sub_organization_intent_v7.rb +19 -4
  51. data/lib/turnkey_client/models/create_users_intent_v3.rb +213 -0
  52. data/lib/turnkey_client/models/create_users_request.rb +2 -2
  53. data/lib/turnkey_client/models/create_wallet_intent.rb +2 -1
  54. data/lib/turnkey_client/models/credential_type.rb +3 -0
  55. data/lib/turnkey_client/models/data_v1_smart_contract_interface.rb +329 -0
  56. data/lib/turnkey_client/models/delete_oauth2_credential_intent.rb +211 -0
  57. data/lib/turnkey_client/models/delete_oauth2_credential_request.rb +288 -0
  58. data/lib/turnkey_client/models/delete_oauth2_credential_result.rb +211 -0
  59. data/lib/turnkey_client/models/delete_payment_method_intent.rb +1 -0
  60. data/lib/turnkey_client/models/delete_private_keys_intent.rb +1 -0
  61. data/lib/turnkey_client/models/delete_smart_contract_interface_intent.rb +211 -0
  62. data/lib/turnkey_client/models/delete_smart_contract_interface_request.rb +288 -0
  63. data/lib/turnkey_client/models/delete_smart_contract_interface_result.rb +211 -0
  64. data/lib/turnkey_client/models/delete_sub_organization_intent.rb +1 -0
  65. data/lib/turnkey_client/models/delete_wallets_intent.rb +1 -0
  66. data/lib/turnkey_client/models/disable_auth_proxy_intent.rb +196 -0
  67. data/lib/turnkey_client/models/disable_auth_proxy_result.rb +196 -0
  68. data/lib/turnkey_client/models/email_auth_intent.rb +31 -5
  69. data/lib/turnkey_client/models/email_auth_intent_v2.rb +31 -5
  70. data/lib/turnkey_client/models/email_customization_params.rb +5 -0
  71. data/lib/turnkey_client/models/enable_auth_proxy_intent.rb +196 -0
  72. data/lib/turnkey_client/models/enable_auth_proxy_result.rb +211 -0
  73. data/lib/turnkey_client/models/feature.rb +1 -0
  74. data/lib/turnkey_client/models/feature_name.rb +1 -0
  75. data/lib/turnkey_client/models/fiat_on_ramp_blockchain_network.rb +29 -0
  76. data/lib/turnkey_client/models/fiat_on_ramp_crypto_currency.rb +29 -0
  77. data/lib/turnkey_client/models/fiat_on_ramp_currency.rb +59 -0
  78. data/lib/turnkey_client/models/fiat_on_ramp_payment_method.rb +38 -0
  79. data/lib/turnkey_client/models/fiat_on_ramp_provider.rb +27 -0
  80. data/lib/turnkey_client/models/get_activities_request.rb +3 -3
  81. data/lib/turnkey_client/models/get_activities_response.rb +1 -1
  82. data/lib/turnkey_client/models/get_activity_request.rb +2 -2
  83. data/lib/turnkey_client/models/get_api_key_request.rb +1 -1
  84. data/lib/turnkey_client/models/get_api_keys_request.rb +3 -2
  85. data/lib/turnkey_client/models/get_app_proofs_request.rb +226 -0
  86. data/lib/turnkey_client/models/get_app_proofs_response.rb +212 -0
  87. data/lib/turnkey_client/models/get_authenticator_request.rb +2 -2
  88. data/lib/turnkey_client/models/get_authenticators_request.rb +2 -2
  89. data/lib/turnkey_client/models/get_boot_proof_request.rb +226 -0
  90. data/lib/turnkey_client/models/get_latest_boot_proof_request.rb +226 -0
  91. data/lib/turnkey_client/models/get_oauth2_credential_request.rb +226 -0
  92. data/lib/turnkey_client/models/get_oauth2_credential_response.rb +210 -0
  93. data/lib/turnkey_client/models/get_oauth_providers_request.rb +3 -2
  94. data/lib/turnkey_client/models/get_oauth_providers_response.rb +1 -1
  95. data/lib/turnkey_client/models/get_organization_configs_request.rb +1 -1
  96. data/lib/turnkey_client/models/get_policies_request.rb +1 -1
  97. data/lib/turnkey_client/models/get_policies_response.rb +1 -1
  98. data/lib/turnkey_client/models/get_policy_evaluations_request.rb +226 -0
  99. data/lib/turnkey_client/models/get_policy_evaluations_response.rb +212 -0
  100. data/lib/turnkey_client/models/get_policy_request.rb +2 -2
  101. data/lib/turnkey_client/models/get_private_key_request.rb +2 -2
  102. data/lib/turnkey_client/models/get_private_keys_request.rb +1 -1
  103. data/lib/turnkey_client/models/get_private_keys_response.rb +1 -1
  104. data/lib/turnkey_client/models/get_smart_contract_interface_request.rb +226 -0
  105. data/lib/turnkey_client/models/get_smart_contract_interface_response.rb +210 -0
  106. data/lib/turnkey_client/models/get_smart_contract_interfaces_request.rb +211 -0
  107. data/lib/turnkey_client/models/get_smart_contract_interfaces_response.rb +213 -0
  108. data/lib/turnkey_client/models/get_sub_org_ids_request.rb +2 -2
  109. data/lib/turnkey_client/models/get_user_request.rb +2 -2
  110. data/lib/turnkey_client/models/get_users_request.rb +1 -1
  111. data/lib/turnkey_client/models/get_users_response.rb +1 -1
  112. data/lib/turnkey_client/models/get_verified_sub_org_ids_request.rb +2 -2
  113. data/lib/turnkey_client/models/get_wallet_account_request.rb +6 -4
  114. data/lib/turnkey_client/models/get_wallet_accounts_request.rb +15 -8
  115. data/lib/turnkey_client/models/get_wallet_accounts_response.rb +1 -1
  116. data/lib/turnkey_client/models/get_wallet_request.rb +2 -2
  117. data/lib/turnkey_client/models/get_wallets_request.rb +1 -1
  118. data/lib/turnkey_client/models/get_wallets_response.rb +1 -1
  119. data/lib/turnkey_client/models/get_whoami_request.rb +1 -1
  120. data/lib/turnkey_client/models/get_whoami_response.rb +4 -4
  121. data/lib/turnkey_client/models/init_fiat_on_ramp_intent.rb +326 -0
  122. data/lib/turnkey_client/models/init_fiat_on_ramp_request.rb +288 -0
  123. data/lib/turnkey_client/models/init_fiat_on_ramp_result.rb +236 -0
  124. data/lib/turnkey_client/models/init_otp_auth_intent.rb +28 -4
  125. data/lib/turnkey_client/models/init_otp_auth_intent_v2.rb +310 -0
  126. data/lib/turnkey_client/models/init_otp_auth_request.rb +2 -2
  127. data/lib/turnkey_client/models/init_otp_auth_result_v2.rb +211 -0
  128. data/lib/turnkey_client/models/init_otp_intent.rb +321 -0
  129. data/lib/turnkey_client/models/init_otp_request.rb +288 -0
  130. data/lib/turnkey_client/models/init_otp_result.rb +211 -0
  131. data/lib/turnkey_client/models/init_user_email_recovery_intent.rb +2 -1
  132. data/lib/turnkey_client/models/intent.rb +193 -4
  133. data/lib/turnkey_client/models/invitation_params.rb +1 -1
  134. data/lib/turnkey_client/models/list_oauth2_credentials_request.rb +211 -0
  135. data/lib/turnkey_client/models/list_oauth2_credentials_response.rb +212 -0
  136. data/lib/turnkey_client/models/list_private_key_tags_request.rb +1 -1
  137. data/lib/turnkey_client/models/list_private_key_tags_response.rb +1 -1
  138. data/lib/turnkey_client/models/list_user_tags_request.rb +1 -1
  139. data/lib/turnkey_client/models/list_user_tags_response.rb +1 -1
  140. data/lib/turnkey_client/models/oauth2_authenticate_intent.rb +278 -0
  141. data/lib/turnkey_client/models/oauth2_authenticate_request.rb +288 -0
  142. data/lib/turnkey_client/models/oauth2_authenticate_result.rb +211 -0
  143. data/lib/turnkey_client/models/oauth2_credential.rb +298 -0
  144. data/lib/turnkey_client/models/oauth2_provider.rb +27 -0
  145. data/lib/turnkey_client/models/oauth_intent.rb +18 -5
  146. data/lib/turnkey_client/models/oauth_login_intent.rb +248 -0
  147. data/lib/turnkey_client/models/oauth_login_request.rb +288 -0
  148. data/lib/turnkey_client/models/oauth_login_result.rb +211 -0
  149. data/lib/turnkey_client/models/otp_auth_intent.rb +10 -2
  150. data/lib/turnkey_client/models/otp_login_intent.rb +259 -0
  151. data/lib/turnkey_client/models/otp_login_request.rb +288 -0
  152. data/lib/turnkey_client/models/otp_login_result.rb +211 -0
  153. data/lib/turnkey_client/models/outcome.rb +31 -0
  154. data/lib/turnkey_client/models/payload_encoding.rb +2 -0
  155. data/lib/turnkey_client/models/policy.rb +2 -0
  156. data/lib/turnkey_client/models/private_key_params.rb +1 -1
  157. data/lib/turnkey_client/models/result.rb +184 -4
  158. data/lib/turnkey_client/models/root_user_params.rb +3 -2
  159. data/lib/turnkey_client/models/root_user_params_v2.rb +4 -3
  160. data/lib/turnkey_client/models/root_user_params_v3.rb +4 -3
  161. data/lib/turnkey_client/models/root_user_params_v4.rb +5 -3
  162. data/lib/turnkey_client/models/set_organization_feature_intent.rb +1 -0
  163. data/lib/turnkey_client/models/signature_scheme.rb +26 -0
  164. data/lib/turnkey_client/models/simple_client_extension_results.rb +2 -0
  165. data/lib/turnkey_client/models/smart_contract_interface.rb +329 -0
  166. data/lib/turnkey_client/models/smart_contract_interface_type.rb +27 -0
  167. data/lib/turnkey_client/models/sms_customization_params.rb +1 -0
  168. data/lib/turnkey_client/models/stamp_login_intent.rb +233 -0
  169. data/lib/turnkey_client/models/stamp_login_request.rb +288 -0
  170. data/lib/turnkey_client/models/stamp_login_result.rb +211 -0
  171. data/lib/turnkey_client/models/transaction_type.rb +1 -0
  172. data/lib/turnkey_client/models/ump_v1_policy_evaluation.rb +214 -0
  173. data/lib/turnkey_client/models/update_auth_proxy_config_intent.rb +346 -0
  174. data/lib/turnkey_client/models/update_auth_proxy_config_result.rb +206 -0
  175. data/lib/turnkey_client/models/update_oauth2_credential_intent.rb +255 -0
  176. data/lib/turnkey_client/models/update_oauth2_credential_request.rb +288 -0
  177. data/lib/turnkey_client/models/update_oauth2_credential_result.rb +211 -0
  178. data/lib/turnkey_client/models/update_policy_intent.rb +4 -0
  179. data/lib/turnkey_client/models/update_policy_intent_v2.rb +264 -0
  180. data/lib/turnkey_client/models/update_policy_request.rb +2 -2
  181. data/lib/turnkey_client/models/update_policy_result_v2.rb +211 -0
  182. data/lib/turnkey_client/models/update_private_key_tag_intent.rb +1 -0
  183. data/lib/turnkey_client/models/update_user_email_intent.rb +237 -0
  184. data/lib/turnkey_client/models/update_user_email_request.rb +288 -0
  185. data/lib/turnkey_client/models/update_user_email_result.rb +211 -0
  186. data/lib/turnkey_client/models/update_user_intent.rb +4 -1
  187. data/lib/turnkey_client/models/update_user_name_intent.rb +226 -0
  188. data/lib/turnkey_client/models/update_user_name_request.rb +288 -0
  189. data/lib/turnkey_client/models/update_user_name_result.rb +211 -0
  190. data/lib/turnkey_client/models/update_user_phone_number_intent.rb +237 -0
  191. data/lib/turnkey_client/models/update_user_phone_number_request.rb +288 -0
  192. data/lib/turnkey_client/models/update_user_phone_number_result.rb +211 -0
  193. data/lib/turnkey_client/models/update_user_tag_intent.rb +1 -0
  194. data/lib/turnkey_client/models/user.rb +3 -1
  195. data/lib/turnkey_client/models/user_params.rb +4 -3
  196. data/lib/turnkey_client/models/user_params_v2.rb +4 -3
  197. data/lib/turnkey_client/models/user_params_v3.rb +301 -0
  198. data/lib/turnkey_client/models/verify_otp_intent.rb +248 -0
  199. data/lib/turnkey_client/models/verify_otp_request.rb +288 -0
  200. data/lib/turnkey_client/models/verify_otp_result.rb +211 -0
  201. data/lib/turnkey_client/models/wallet_account.rb +24 -4
  202. data/lib/turnkey_client/models/wallet_kit_settings_params.rb +230 -0
  203. data/lib/turnkey_client/models/wallet_params.rb +2 -1
  204. data/lib/turnkey_client/version.rb +1 -1
  205. data/lib/turnkey_client.rb +93 -0
  206. data/turnkey_client-0.0.13.gem +0 -0
  207. data/turnkey_client-0.0.14.gem +0 -0
  208. metadata +99 -2
@@ -0,0 +1,211 @@
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 OauthLoginResult
15
+ # Signed JWT containing an expiry, public key, session type, user id, and organization id
16
+ attr_accessor :session
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ :'session' => :'session'
22
+ }
23
+ end
24
+
25
+ # Attribute type mapping.
26
+ def self.openapi_types
27
+ {
28
+ :'session' => :'Object'
29
+ }
30
+ end
31
+
32
+ # List of attributes with nullable: true
33
+ def self.openapi_nullable
34
+ Set.new([
35
+ ])
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ if (!attributes.is_a?(Hash))
42
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::OauthLoginResult` initialize method"
43
+ end
44
+
45
+ # check to see if the attribute exists and convert string to symbol for hash key
46
+ attributes = attributes.each_with_object({}) { |(k, v), h|
47
+ if (!self.class.attribute_map.key?(k.to_sym))
48
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::OauthLoginResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
49
+ end
50
+ h[k.to_sym] = v
51
+ }
52
+
53
+ if attributes.key?(:'session')
54
+ self.session = attributes[:'session']
55
+ end
56
+ end
57
+
58
+ # Show invalid properties with the reasons. Usually used together with valid?
59
+ # @return Array for valid properties with the reasons
60
+ def list_invalid_properties
61
+ invalid_properties = Array.new
62
+ if @session.nil?
63
+ invalid_properties.push('invalid value for "session", session cannot be nil.')
64
+ end
65
+
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ return false if @session.nil?
73
+ true
74
+ end
75
+
76
+ # Checks equality by comparing each attribute.
77
+ # @param [Object] Object to be compared
78
+ def ==(o)
79
+ return true if self.equal?(o)
80
+ self.class == o.class &&
81
+ session == o.session
82
+ end
83
+
84
+ # @see the `==` method
85
+ # @param [Object] Object to be compared
86
+ def eql?(o)
87
+ self == o
88
+ end
89
+
90
+ # Calculates hash code according to all attributes.
91
+ # @return [Integer] Hash code
92
+ def hash
93
+ [session].hash
94
+ end
95
+
96
+ # Builds the object from hash
97
+ # @param [Hash] attributes Model attributes in the form of hash
98
+ # @return [Object] Returns the model itself
99
+ def self.build_from_hash(attributes)
100
+ new.build_from_hash(attributes)
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.openapi_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
118
+ self.send("#{key}=", nil)
119
+ end
120
+ end
121
+
122
+ self
123
+ end
124
+
125
+ # Deserializes the data based on type
126
+ # @param string type Data type
127
+ # @param string value Value to be deserialized
128
+ # @return [Object] Deserialized data
129
+ def _deserialize(type, value)
130
+ case type.to_sym
131
+ when :DateTime
132
+ DateTime.parse(value)
133
+ when :Date
134
+ Date.parse(value)
135
+ when :String
136
+ value.to_s
137
+ when :Integer
138
+ value.to_i
139
+ when :Float
140
+ value.to_f
141
+ when :Boolean
142
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
143
+ true
144
+ else
145
+ false
146
+ end
147
+ when :Object
148
+ # generic object (usually a Hash), return directly
149
+ value
150
+ when /\AArray<(?<inner_type>.+)>\z/
151
+ inner_type = Regexp.last_match[:inner_type]
152
+ value.map { |v| _deserialize(inner_type, v) }
153
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
154
+ k_type = Regexp.last_match[:k_type]
155
+ v_type = Regexp.last_match[:v_type]
156
+ {}.tap do |hash|
157
+ value.each do |k, v|
158
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
159
+ end
160
+ end
161
+ else # model
162
+ TurnkeyClient.const_get(type).build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ # Returns the string representation of the object
167
+ # @return [String] String presentation of the object
168
+ def to_s
169
+ to_hash.to_s
170
+ end
171
+
172
+ # to_body is an alias to to_hash (backward compatibility)
173
+ # @return [Hash] Returns the object in the form of hash
174
+ def to_body
175
+ to_hash
176
+ end
177
+
178
+ # Returns the object in the form of hash
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_hash
181
+ hash = {}
182
+ self.class.attribute_map.each_pair do |attr, param|
183
+ value = self.send(attr)
184
+ if value.nil?
185
+ is_nullable = self.class.openapi_nullable.include?(attr)
186
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
187
+ end
188
+
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ # Outputs non-array value in the form of hash
195
+ # For object, use to_hash. Otherwise, just return the value
196
+ # @param [Object] value Any valid value
197
+ # @return [Hash] Returns the value in the form of hash
198
+ def _to_hash(value)
199
+ if value.is_a?(Array)
200
+ value.compact.map { |v| _to_hash(v) }
201
+ elsif value.is_a?(Hash)
202
+ {}.tap do |hash|
203
+ value.each { |k, v| hash[k] = _to_hash(v) }
204
+ end
205
+ elsif value.respond_to? :to_hash
206
+ value.to_hash
207
+ else
208
+ value
209
+ end
210
+ end end
211
+ end
@@ -15,7 +15,7 @@ module TurnkeyClient
15
15
  # ID representing the result of an init OTP activity.
16
16
  attr_accessor :otp_id
17
17
 
18
- # 6 digit OTP code sent out to a user's contact (email or SMS)
18
+ # OTP sent out to a user's contact (email or SMS)
19
19
  attr_accessor :otp_code
20
20
 
21
21
  # Client-side public key generated by the user, to which the OTP bundle (credentials) will be encrypted.
@@ -24,7 +24,7 @@ module TurnkeyClient
24
24
  # Optional human-readable name for an API Key. If none provided, default to OTP Auth - <Timestamp>
25
25
  attr_accessor :api_key_name
26
26
 
27
- # Expiration window (in seconds) indicating how long the API key is valid. If not provided, a default of 15 minutes will be used.
27
+ # Expiration window (in seconds) indicating how long the API key is valid for. If not provided, a default of 15 minutes will be used.
28
28
  attr_accessor :expiration_seconds
29
29
 
30
30
  # Invalidate all other previously generated OTP Auth API keys
@@ -57,6 +57,9 @@ module TurnkeyClient
57
57
  # List of attributes with nullable: true
58
58
  def self.openapi_nullable
59
59
  Set.new([
60
+ :'api_key_name',
61
+ :'expiration_seconds',
62
+ :'invalidate_existing'
60
63
  ])
61
64
  end
62
65
 
@@ -112,6 +115,10 @@ module TurnkeyClient
112
115
  invalid_properties.push('invalid value for "otp_code", otp_code cannot be nil.')
113
116
  end
114
117
 
118
+ if @target_public_key.nil?
119
+ invalid_properties.push('invalid value for "target_public_key", target_public_key cannot be nil.')
120
+ end
121
+
115
122
  invalid_properties
116
123
  end
117
124
 
@@ -120,6 +127,7 @@ module TurnkeyClient
120
127
  def valid?
121
128
  return false if @otp_id.nil?
122
129
  return false if @otp_code.nil?
130
+ return false if @target_public_key.nil?
123
131
  true
124
132
  end
125
133
 
@@ -0,0 +1,259 @@
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 OtpLoginIntent
15
+ # Signed JWT containing a unique id, expiry, verification type, contact
16
+ attr_accessor :verification_token
17
+
18
+ # Client-side public key generated by the user, which will be conditionally added to org data based on the validity of the verification token
19
+ attr_accessor :public_key
20
+
21
+ # Expiration window (in seconds) indicating how long the Session is valid for. If not provided, a default of 15 minutes will be used.
22
+ attr_accessor :expiration_seconds
23
+
24
+ # Invalidate all other previously generated Login API keys
25
+ attr_accessor :invalidate_existing
26
+
27
+ # Optional signature associated with the public key passed into the verification step. This must be a hex-encoded ECDSA signature over the verification token. Only required if a public key was provided during the verification step.
28
+ attr_accessor :client_signature
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'verification_token' => :'verificationToken',
34
+ :'public_key' => :'publicKey',
35
+ :'expiration_seconds' => :'expirationSeconds',
36
+ :'invalidate_existing' => :'invalidateExisting',
37
+ :'client_signature' => :'clientSignature'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'verification_token' => :'Object',
45
+ :'public_key' => :'Object',
46
+ :'expiration_seconds' => :'Object',
47
+ :'invalidate_existing' => :'Object',
48
+ :'client_signature' => :'Object'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ :'expiration_seconds',
56
+ :'invalidate_existing',
57
+ :'client_signature'
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TurnkeyClient::OtpLoginIntent` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TurnkeyClient::OtpLoginIntent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'verification_token')
77
+ self.verification_token = attributes[:'verification_token']
78
+ end
79
+
80
+ if attributes.key?(:'public_key')
81
+ self.public_key = attributes[:'public_key']
82
+ end
83
+
84
+ if attributes.key?(:'expiration_seconds')
85
+ self.expiration_seconds = attributes[:'expiration_seconds']
86
+ end
87
+
88
+ if attributes.key?(:'invalidate_existing')
89
+ self.invalidate_existing = attributes[:'invalidate_existing']
90
+ end
91
+
92
+ if attributes.key?(:'client_signature')
93
+ self.client_signature = attributes[:'client_signature']
94
+ end
95
+ end
96
+
97
+ # Show invalid properties with the reasons. Usually used together with valid?
98
+ # @return Array for valid properties with the reasons
99
+ def list_invalid_properties
100
+ invalid_properties = Array.new
101
+ if @verification_token.nil?
102
+ invalid_properties.push('invalid value for "verification_token", verification_token cannot be nil.')
103
+ end
104
+
105
+ if @public_key.nil?
106
+ invalid_properties.push('invalid value for "public_key", public_key cannot be nil.')
107
+ end
108
+
109
+ invalid_properties
110
+ end
111
+
112
+ # Check to see if the all the properties in the model are valid
113
+ # @return true if the model is valid
114
+ def valid?
115
+ return false if @verification_token.nil?
116
+ return false if @public_key.nil?
117
+ true
118
+ end
119
+
120
+ # Checks equality by comparing each attribute.
121
+ # @param [Object] Object to be compared
122
+ def ==(o)
123
+ return true if self.equal?(o)
124
+ self.class == o.class &&
125
+ verification_token == o.verification_token &&
126
+ public_key == o.public_key &&
127
+ expiration_seconds == o.expiration_seconds &&
128
+ invalidate_existing == o.invalidate_existing &&
129
+ client_signature == o.client_signature
130
+ end
131
+
132
+ # @see the `==` method
133
+ # @param [Object] Object to be compared
134
+ def eql?(o)
135
+ self == o
136
+ end
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Integer] Hash code
140
+ def hash
141
+ [verification_token, public_key, expiration_seconds, invalidate_existing, client_signature].hash
142
+ end
143
+
144
+ # Builds the object from hash
145
+ # @param [Hash] attributes Model attributes in the form of hash
146
+ # @return [Object] Returns the model itself
147
+ def self.build_from_hash(attributes)
148
+ new.build_from_hash(attributes)
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ self.class.openapi_types.each_pair do |key, type|
157
+ if type =~ /\AArray<(.*)>/i
158
+ # check to ensure the input is an array given that the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
161
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
162
+ end
163
+ elsif !attributes[self.class.attribute_map[key]].nil?
164
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
165
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
166
+ self.send("#{key}=", nil)
167
+ end
168
+ end
169
+
170
+ self
171
+ end
172
+
173
+ # Deserializes the data based on type
174
+ # @param string type Data type
175
+ # @param string value Value to be deserialized
176
+ # @return [Object] Deserialized data
177
+ def _deserialize(type, value)
178
+ case type.to_sym
179
+ when :DateTime
180
+ DateTime.parse(value)
181
+ when :Date
182
+ Date.parse(value)
183
+ when :String
184
+ value.to_s
185
+ when :Integer
186
+ value.to_i
187
+ when :Float
188
+ value.to_f
189
+ when :Boolean
190
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
191
+ true
192
+ else
193
+ false
194
+ end
195
+ when :Object
196
+ # generic object (usually a Hash), return directly
197
+ value
198
+ when /\AArray<(?<inner_type>.+)>\z/
199
+ inner_type = Regexp.last_match[:inner_type]
200
+ value.map { |v| _deserialize(inner_type, v) }
201
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
202
+ k_type = Regexp.last_match[:k_type]
203
+ v_type = Regexp.last_match[:v_type]
204
+ {}.tap do |hash|
205
+ value.each do |k, v|
206
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
207
+ end
208
+ end
209
+ else # model
210
+ TurnkeyClient.const_get(type).build_from_hash(value)
211
+ end
212
+ end
213
+
214
+ # Returns the string representation of the object
215
+ # @return [String] String presentation of the object
216
+ def to_s
217
+ to_hash.to_s
218
+ end
219
+
220
+ # to_body is an alias to to_hash (backward compatibility)
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # Returns the object in the form of hash
227
+ # @return [Hash] Returns the object in the form of hash
228
+ def to_hash
229
+ hash = {}
230
+ self.class.attribute_map.each_pair do |attr, param|
231
+ value = self.send(attr)
232
+ if value.nil?
233
+ is_nullable = self.class.openapi_nullable.include?(attr)
234
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
235
+ end
236
+
237
+ hash[param] = _to_hash(value)
238
+ end
239
+ hash
240
+ end
241
+
242
+ # Outputs non-array value in the form of hash
243
+ # For object, use to_hash. Otherwise, just return the value
244
+ # @param [Object] value Any valid value
245
+ # @return [Hash] Returns the value in the form of hash
246
+ def _to_hash(value)
247
+ if value.is_a?(Array)
248
+ value.compact.map { |v| _to_hash(v) }
249
+ elsif value.is_a?(Hash)
250
+ {}.tap do |hash|
251
+ value.each { |k, v| hash[k] = _to_hash(v) }
252
+ end
253
+ elsif value.respond_to? :to_hash
254
+ value.to_hash
255
+ else
256
+ value
257
+ end
258
+ end end
259
+ end