moneykit 0.0.2 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/lib/moneykit/api/access_token_api.rb +53 -55
  4. data/lib/moneykit/api/account_numbers_api.rb +26 -26
  5. data/lib/moneykit/api/accounts_api.rb +88 -82
  6. data/lib/moneykit/api/identity_api.rb +31 -30
  7. data/lib/moneykit/api/institutions_api.rb +50 -48
  8. data/lib/moneykit/api/link_session_api.rb +47 -50
  9. data/lib/moneykit/api/links_api.rb +137 -81
  10. data/lib/moneykit/api/products_api.rb +33 -35
  11. data/lib/moneykit/api/transactions_api.rb +126 -101
  12. data/lib/moneykit/api/users_api.rb +100 -83
  13. data/lib/moneykit/api/webhooks_api.rb +97 -0
  14. data/lib/moneykit/api_client.rb +100 -103
  15. data/lib/moneykit/api_error.rb +14 -16
  16. data/lib/moneykit/configuration.rb +52 -65
  17. data/lib/moneykit/models/account.rb +69 -112
  18. data/lib/moneykit/models/account_balances.rb +64 -78
  19. data/lib/moneykit/models/account_group.rb +58 -61
  20. data/lib/moneykit/models/account_identity.rb +79 -124
  21. data/lib/moneykit/models/account_numbers.rb +96 -71
  22. data/lib/moneykit/models/account_numbers_link_product.rb +57 -69
  23. data/lib/moneykit/models/account_numbers_product_settings.rb +59 -63
  24. data/lib/moneykit/models/account_type.rb +23 -23
  25. data/lib/moneykit/models/account_with_account_numbers.rb +76 -124
  26. data/lib/moneykit/models/accounts_link_product.rb +53 -61
  27. data/lib/moneykit/models/ach_number.rb +57 -65
  28. data/lib/moneykit/models/address.rb +70 -90
  29. data/lib/moneykit/models/api_error_auth_expired_access_token_response.rb +72 -78
  30. data/lib/moneykit/models/api_error_auth_unauthorized_response.rb +69 -78
  31. data/lib/moneykit/models/api_error_rate_limit_exceeded_response.rb +72 -78
  32. data/lib/moneykit/models/app.rb +46 -50
  33. data/lib/moneykit/models/bacs_number.rb +53 -61
  34. data/lib/moneykit/models/balances.rb +58 -64
  35. data/lib/moneykit/models/basic_account_details.rb +62 -77
  36. data/lib/moneykit/models/country.rb +13 -14
  37. data/lib/moneykit/models/create_link_session_request.rb +109 -119
  38. data/lib/moneykit/models/create_link_session_response.rb +48 -52
  39. data/lib/moneykit/models/currency.rb +193 -193
  40. data/lib/moneykit/models/cursor.rb +40 -39
  41. data/lib/moneykit/models/cursor_pagination.rb +49 -54
  42. data/lib/moneykit/models/cursors.rb +40 -39
  43. data/lib/moneykit/models/customer_app.rb +54 -64
  44. data/lib/moneykit/models/customer_user.rb +59 -69
  45. data/lib/moneykit/models/eft_number.rb +56 -67
  46. data/lib/moneykit/models/email.rb +56 -63
  47. data/lib/moneykit/models/email1.rb +50 -53
  48. data/lib/moneykit/models/exchange_token_request.rb +48 -52
  49. data/lib/moneykit/models/exchange_token_response.rb +54 -64
  50. data/lib/moneykit/models/generate_access_token_response.rb +59 -73
  51. data/lib/moneykit/models/get_account_numbers_response.rb +58 -66
  52. data/lib/moneykit/models/get_account_response.rb +55 -67
  53. data/lib/moneykit/models/get_accounts_response.rb +58 -67
  54. data/lib/moneykit/models/get_institutions_response.rb +58 -67
  55. data/lib/moneykit/models/get_transactions_response.rb +81 -105
  56. data/lib/moneykit/models/get_user_accounts_response.rb +50 -58
  57. data/lib/moneykit/models/get_user_links_response.rb +50 -58
  58. data/lib/moneykit/models/get_user_transactions_response.rb +75 -95
  59. data/lib/moneykit/models/http_validation_error.rb +77 -84
  60. data/lib/moneykit/models/identity.rb +49 -49
  61. data/lib/moneykit/models/identity_link_product.rb +57 -69
  62. data/lib/moneykit/models/identity_product_settings.rb +59 -63
  63. data/lib/moneykit/models/identity_response.rb +58 -67
  64. data/lib/moneykit/models/institution.rb +85 -113
  65. data/lib/moneykit/models/institution_error_not_found_response.rb +72 -80
  66. data/lib/moneykit/models/institution_styling_response.rb +77 -93
  67. data/lib/moneykit/models/international_number.rb +54 -64
  68. data/lib/moneykit/models/introspect_client_response.rb +70 -89
  69. data/lib/moneykit/models/jwk_set.rb +51 -55
  70. data/lib/moneykit/models/link.rb +78 -100
  71. data/lib/moneykit/models/link1.rb +78 -100
  72. data/lib/moneykit/models/link2.rb +78 -100
  73. data/lib/moneykit/models/link3.rb +78 -100
  74. data/lib/moneykit/models/link4.rb +78 -100
  75. data/lib/moneykit/models/link_common.rb +82 -117
  76. data/lib/moneykit/models/link_error.rb +19 -19
  77. data/lib/moneykit/models/link_error_bad_config_response.rb +269 -0
  78. data/lib/moneykit/models/link_error_bad_state_response.rb +71 -88
  79. data/lib/moneykit/models/link_error_deleted_response.rb +72 -80
  80. data/lib/moneykit/models/link_error_forbidden_action_response.rb +69 -78
  81. data/lib/moneykit/models/link_error_not_found_response.rb +72 -80
  82. data/lib/moneykit/models/link_error_unauthorized_access_response.rb +72 -80
  83. data/lib/moneykit/models/link_permission_scope.rb +14 -15
  84. data/lib/moneykit/models/link_permissions.rb +52 -62
  85. data/lib/moneykit/models/link_products.rb +62 -78
  86. data/lib/moneykit/models/link_response.rb +95 -136
  87. data/lib/moneykit/models/link_session_customer_user.rb +65 -83
  88. data/lib/moneykit/models/link_session_customer_user_email.rb +59 -68
  89. data/lib/moneykit/models/link_session_customer_user_phone.rb +67 -82
  90. data/lib/moneykit/models/link_session_error_forbidden_config_response.rb +69 -78
  91. data/lib/moneykit/models/link_session_error_invalid_token_exchange.rb +69 -78
  92. data/lib/moneykit/models/link_session_setting_overrides.rb +64 -99
  93. data/lib/moneykit/models/link_state.rb +15 -16
  94. data/lib/moneykit/models/link_state_changed_webhook.rb +121 -148
  95. data/lib/moneykit/models/location_inner.rb +41 -46
  96. data/lib/moneykit/models/money_kit_env.rb +12 -13
  97. data/lib/moneykit/models/money_link_features.rb +62 -66
  98. data/lib/moneykit/models/moneylink_features.rb +50 -49
  99. data/lib/moneykit/models/numbers.rb +60 -73
  100. data/lib/moneykit/models/owner.rb +76 -89
  101. data/lib/moneykit/models/phone.rb +60 -68
  102. data/lib/moneykit/models/phone_number.rb +63 -74
  103. data/lib/moneykit/models/phone_number_type.rb +14 -15
  104. data/lib/moneykit/models/product.rb +14 -15
  105. data/lib/moneykit/models/products.rb +52 -64
  106. data/lib/moneykit/models/products1.rb +48 -56
  107. data/lib/moneykit/models/products_settings.rb +58 -70
  108. data/lib/moneykit/models/provider.rb +18 -17
  109. data/lib/moneykit/models/public_link_error.rb +43 -0
  110. data/lib/moneykit/models/refresh_products_request.rb +52 -65
  111. data/lib/moneykit/models/requested_link_permission.rb +60 -75
  112. data/lib/moneykit/models/response401_disconnect_links_id_delete.rb +83 -283
  113. data/lib/moneykit/models/response401_exchange_token_link_session_exchange_token_post.rb +82 -281
  114. data/lib/moneykit/models/response401_get_account_links_id_accounts_account_id_get.rb +83 -283
  115. data/lib/moneykit/models/response401_get_account_numbers_links_id_accounts_numbers_get.rb +83 -283
  116. data/lib/moneykit/models/response401_get_accounts_links_id_accounts_get.rb +83 -283
  117. data/lib/moneykit/models/response401_get_identities_links_id_identity_get.rb +83 -283
  118. data/lib/moneykit/models/response401_get_institution_institutions_institution_id_get.rb +82 -281
  119. data/lib/moneykit/models/response401_get_institution_styling_institutions_institution_id_styling_get.rb +66 -72
  120. data/lib/moneykit/models/response401_get_institutions_institutions_get.rb +82 -281
  121. data/lib/moneykit/models/response401_get_link_links_id_get.rb +83 -283
  122. data/lib/moneykit/models/response401_get_transactions_diff_links_id_transactions_sync_get.rb +83 -283
  123. data/lib/moneykit/models/response401_get_transactions_links_id_transactions_get.rb +83 -283
  124. data/lib/moneykit/models/response401_get_user_accounts_users_id_accounts_get.rb +82 -281
  125. data/lib/moneykit/models/response401_get_user_links_users_id_links_get.rb +82 -281
  126. data/lib/moneykit/models/response401_get_user_transactions_users_id_transactions_get.rb +82 -281
  127. data/lib/moneykit/models/response401_get_well_known_jwks_well_known_jwks_json_get.rb +82 -281
  128. data/lib/moneykit/models/response401_instrospect_client_auth_introspect_get.rb +82 -281
  129. data/lib/moneykit/models/response401_refresh_products_links_id_products_post.rb +83 -283
  130. data/lib/moneykit/models/response401_reset_login_links_id_reset_post.rb +102 -0
  131. data/lib/moneykit/models/response401_trigger_test_link_webhook_event_webhooks_test_link_id_post.rb +102 -0
  132. data/lib/moneykit/models/response401_update_link_links_id_patch.rb +83 -283
  133. data/lib/moneykit/models/settings.rb +61 -73
  134. data/lib/moneykit/models/supported_version.rb +11 -12
  135. data/lib/moneykit/models/transaction.rb +104 -131
  136. data/lib/moneykit/models/transaction_diff.rb +69 -78
  137. data/lib/moneykit/models/transaction_sync_response.rb +65 -87
  138. data/lib/moneykit/models/transaction_type.rb +12 -13
  139. data/lib/moneykit/models/transaction_type_filter.rb +12 -13
  140. data/lib/moneykit/models/transactions.rb +58 -57
  141. data/lib/moneykit/models/transactions1.rb +55 -63
  142. data/lib/moneykit/models/transactions_link_product.rb +57 -69
  143. data/lib/moneykit/models/transactions_product_settings.rb +67 -71
  144. data/lib/moneykit/models/update_link_request.rb +63 -69
  145. data/lib/moneykit/models/user_accounts_out.rb +40 -40
  146. data/lib/moneykit/models/user_links_out.rb +40 -40
  147. data/lib/moneykit/models/user_transactions_paged_response.rb +40 -40
  148. data/lib/moneykit/models/validation_error.rb +63 -77
  149. data/lib/moneykit/models/validation_error_location_inner.rb +101 -0
  150. data/lib/moneykit/models/webhook_link_test_event.rb +40 -0
  151. data/lib/moneykit/models/webhook_test_link_request.rb +252 -0
  152. data/lib/moneykit/models/webhook_test_link_response.rb +220 -0
  153. data/lib/moneykit/version.rb +10 -12
  154. data/lib/moneykit.rb +18 -39
  155. data/lib/plaid_compatible/money_kit_plaid_compatible/api/plaid_api.rb +738 -737
  156. data/lib/plaid_compatible/money_kit_plaid_compatible/api_client.rb +339 -340
  157. data/lib/plaid_compatible/money_kit_plaid_compatible/api_error.rb +47 -47
  158. data/lib/plaid_compatible/money_kit_plaid_compatible/configuration.rb +258 -260
  159. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_balance.rb +210 -212
  160. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_base.rb +221 -237
  161. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_identity.rb +231 -252
  162. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_subtype.rb +100 -101
  163. data/lib/plaid_compatible/money_kit_plaid_compatible/models/account_type.rb +35 -36
  164. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request.rb +209 -211
  165. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_request_options.rb +188 -185
  166. data/lib/plaid_compatible/money_kit_plaid_compatible/models/accounts_get_response.rb +205 -210
  167. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address.rb +195 -193
  168. data/lib/plaid_compatible/money_kit_plaid_compatible/models/address_data.rb +222 -226
  169. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_numbers.rb +218 -226
  170. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request.rb +209 -211
  171. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_request_options.rb +188 -185
  172. data/lib/plaid_compatible/money_kit_plaid_compatible/models/auth_get_response.rb +211 -222
  173. data/lib/plaid_compatible/money_kit_plaid_compatible/models/country_code.rb +32 -33
  174. data/lib/plaid_compatible/money_kit_plaid_compatible/models/email.rb +197 -198
  175. data/lib/plaid_compatible/money_kit_plaid_compatible/models/http_validation_error.rb +183 -181
  176. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request.rb +209 -211
  177. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_request_options.rb +188 -185
  178. data/lib/plaid_compatible/money_kit_plaid_compatible/models/identity_get_response.rb +205 -210
  179. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institution.rb +228 -232
  180. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_request.rb +216 -217
  181. data/lib/plaid_compatible/money_kit_plaid_compatible/models/institutions_get_by_id_response.rb +195 -196
  182. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item.rb +251 -261
  183. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_error_webhook.rb +217 -229
  184. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_request.rb +205 -205
  185. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_get_response.rb +201 -205
  186. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_request.rb +205 -205
  187. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_public_token_exchange_response.rb +206 -211
  188. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_request.rb +205 -205
  189. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_remove_response.rb +188 -185
  190. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_investments.rb +195 -193
  191. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_last_webhook.rb +195 -193
  192. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_nullable.rb +194 -198
  193. data/lib/plaid_compatible/money_kit_plaid_compatible/models/item_status_transactions.rb +195 -193
  194. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request.rb +272 -291
  195. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_request_user.rb +225 -225
  196. data/lib/plaid_compatible/money_kit_plaid_compatible/models/link_token_create_response.rb +206 -211
  197. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_ach.rb +215 -221
  198. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_bacs.rb +206 -211
  199. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_eft.rb +215 -224
  200. data/lib/plaid_compatible/money_kit_plaid_compatible/models/numbers_international.rb +206 -211
  201. data/lib/plaid_compatible/money_kit_plaid_compatible/models/owner.rb +218 -226
  202. data/lib/plaid_compatible/money_kit_plaid_compatible/models/personal_finance_category.rb +197 -198
  203. data/lib/plaid_compatible/money_kit_plaid_compatible/models/phone_number.rb +206 -211
  204. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error.rb +253 -266
  205. data/lib/plaid_compatible/money_kit_plaid_compatible/models/plaid_error_type.rb +43 -44
  206. data/lib/plaid_compatible/money_kit_plaid_compatible/models/products.rb +33 -34
  207. data/lib/plaid_compatible/money_kit_plaid_compatible/models/removed_transaction.rb +187 -183
  208. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transaction.rb +288 -315
  209. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request.rb +225 -235
  210. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_request_options.rb +222 -224
  211. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_get_response.rb +225 -236
  212. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_request.rb +205 -205
  213. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_refresh_response.rb +188 -185
  214. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request.rb +223 -229
  215. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_request_options.rb +197 -193
  216. data/lib/plaid_compatible/money_kit_plaid_compatible/models/transactions_sync_response.rb +235 -252
  217. data/lib/plaid_compatible/money_kit_plaid_compatible/models/validation_error.rb +198 -207
  218. data/lib/plaid_compatible/money_kit_plaid_compatible/models/webhook_environment_values.rb +32 -33
  219. data/lib/plaid_compatible/money_kit_plaid_compatible/version.rb +14 -14
  220. data/lib/plaid_compatible/money_kit_plaid_compatible.rb +24 -24
  221. data/moneykit.gemspec +22 -25
  222. metadata +14 -5
@@ -1,57 +1,57 @@
1
- =begin
2
- #Plaid Compatibility Layer
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 0.1.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.1.1
10
-
11
- =end
12
-
13
- module MoneyKit::PlaidCompatible
14
- class ApiError < StandardError
15
- attr_reader :code, :response_headers, :response_body, :data
16
-
17
- # Usage examples:
18
- # ApiError.new
19
- # ApiError.new("message")
20
- # ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
21
- # ApiError.new(:code => 404, :message => "Not Found")
22
- def initialize(arg = nil)
23
- if arg.is_a? Hash
24
- if arg.key?(:message) || arg.key?('message')
25
- super(arg[:message] || arg['message'])
1
+ # #Plaid Compatibility Layer
2
+ #
3
+ # No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #
5
+ # The version of the OpenAPI document: 0.1.0
6
+ #
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 5.1.1
9
+ #
10
+
11
+ module MoneyKit
12
+ module PlaidCompatible
13
+ class ApiError < StandardError
14
+ attr_reader :code, :response_headers, :response_body, :data
15
+
16
+ # Usage examples:
17
+ # ApiError.new
18
+ # ApiError.new("message")
19
+ # ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
20
+ # ApiError.new(:code => 404, :message => "Not Found")
21
+ def initialize(arg = nil)
22
+ if arg.is_a? Hash
23
+ if arg.key?(:message) || arg.key?('message')
24
+ super(arg[:message] || arg['message'])
25
+ else
26
+ super arg
27
+ end
28
+
29
+ arg.each do |k, v|
30
+ instance_variable_set "@#{k}", v
31
+ end
26
32
  else
27
33
  super arg
28
34
  end
29
-
30
- arg.each do |k, v|
31
- instance_variable_set "@#{k}", v
32
- end
33
- else
34
- super arg
35
35
  end
36
- end
37
-
38
- # Override to_s to display a friendly error message
39
- def to_s
40
- message
41
- end
42
36
 
43
- def message
44
- if @message.nil?
45
- msg = "Error message: the server returns an error"
46
- else
47
- msg = @message
37
+ # Override to_s to display a friendly error message
38
+ def to_s
39
+ message
48
40
  end
49
41
 
50
- msg += "\nHTTP status code: #{code}" if code
51
- msg += "\nResponse headers: #{response_headers}" if response_headers
52
- msg += "\nResponse body: #{response_body}" if response_body
42
+ def message
43
+ msg = if @message.nil?
44
+ 'Error message: the server returns an error'
45
+ else
46
+ @message
47
+ end
48
+
49
+ msg += "\nHTTP status code: #{code}" if code
50
+ msg += "\nResponse headers: #{response_headers}" if response_headers
51
+ msg += "\nResponse body: #{response_body}" if response_body
53
52
 
54
- msg
53
+ msg
54
+ end
55
55
  end
56
56
  end
57
- end
57
+ end
@@ -1,287 +1,285 @@
1
- =begin
2
- #Plaid Compatibility Layer
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- The version of the OpenAPI document: 0.1.0
7
-
8
- Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 5.1.1
10
-
11
- =end
12
-
13
- module MoneyKit::PlaidCompatible
14
-
15
- class Configuration
16
- # Plaid Environment mapping
17
- # production, development, sandbox
18
- Environment = { "production" => 0, "sandbox" => 1 }
19
-
20
- # Defines url scheme
21
- attr_accessor :scheme
22
-
23
- # Defines url host
24
- attr_accessor :host
25
-
26
- # Defines url base path
27
- attr_accessor :base_path
28
-
29
- # Define server configuration index
30
- attr_accessor :server_index
31
-
32
- # Define server operation configuration index
33
- attr_accessor :server_operation_index
34
-
35
- # Default server variables
36
- attr_accessor :server_variables
37
-
38
- # Default server operation variables
39
- attr_accessor :server_operation_variables
40
-
41
- # Defines API keys used with API Key authentications.
42
- #
43
- # @return [Hash] key: parameter name, value: parameter value (API key)
44
- #
45
- # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
46
- # config.api_key['api_key'] = 'xxx'
47
- attr_accessor :api_key
48
-
49
- # Defines API key prefixes used with API Key authentications.
50
- #
51
- # @return [Hash] key: parameter name, value: API key prefix
52
- #
53
- # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
54
- # config.api_key_prefix['api_key'] = 'Token'
55
- attr_accessor :api_key_prefix
56
-
57
- # Defines the username used with HTTP basic authentication.
58
- #
59
- # @return [String]
60
- attr_accessor :username
61
-
62
- # Defines the password used with HTTP basic authentication.
63
- #
64
- # @return [String]
65
- attr_accessor :password
66
-
67
- # Defines the access token (Bearer) used with OAuth2.
68
- attr_accessor :access_token
69
-
70
- # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
71
- # details will be logged with `logger.debug` (see the `logger` attribute).
72
- # Default to false.
73
- #
74
- # @return [true, false]
75
- attr_accessor :debugging
76
-
77
- # Defines the logger used for debugging.
78
- # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
79
- #
80
- # @return [#debug]
81
- attr_accessor :logger
82
-
83
- # Defines the temporary folder to store downloaded files
84
- # (for API endpoints that have file response).
85
- # Default to use `Tempfile`.
86
- #
87
- # @return [String]
88
- attr_accessor :temp_folder_path
89
-
90
- # The time limit for HTTP request in seconds.
91
- attr_accessor :timeout
92
-
93
- # Set this to false to skip client side validation in the operation.
94
- # Default to true.
95
- # @return [true, false]
96
- attr_accessor :client_side_validation
97
-
98
- ### TLS/SSL setting
99
- # Set this to false to skip verifying SSL certificate when calling API from https server.
100
- # Default to true.
101
- #
102
- # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
103
- #
104
- # @return [true, false]
105
- attr_accessor :ssl_verify
106
-
107
- ### TLS/SSL setting
108
- # Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
109
- #
110
- # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
111
- #
112
- attr_accessor :ssl_verify_mode
113
-
114
- ### TLS/SSL setting
115
- # Set this to customize the certificate file to verify the peer.
116
- #
117
- # @return [String] the path to the certificate file
118
- attr_accessor :ssl_ca_file
119
-
120
- ### TLS/SSL setting
121
- # Client certificate file (for client certificate)
122
- attr_accessor :ssl_client_cert
123
-
124
- ### TLS/SSL setting
125
- # Client private key file (for client certificate)
126
- attr_accessor :ssl_client_key
127
-
128
- # Set this to customize parameters encoding of array parameter with multi collectionFormat.
129
- # Default to nil.
130
- #
131
- # @see The params_encoding option of Ethon. Related source code:
132
- # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
133
- attr_accessor :params_encoding
134
-
135
- attr_accessor :inject_format
136
-
137
- attr_accessor :force_ending_format
138
-
139
- def initialize
140
- @scheme = 'https'
141
- @host = 'production.moneykit.com'
142
- @base_path = '/plaid-compatible'
143
- @server_index = 0
144
- @server_operation_index = {}
145
- @server_variables = {}
146
- @server_operation_variables = {}
147
- @api_key = {
148
- 'Plaid-Version' => '',
149
- }
150
- @api_key_prefix = {}
151
- @timeout = 60
152
- @client_side_validation = true
153
- @ssl_verify = true
154
- @ssl_verify_mode = nil
155
- @ssl_ca_file = nil
156
- @ssl_client_cert = nil
157
- @ssl_client_key = nil
158
- @debugging = false
159
- @inject_format = false
160
- @force_ending_format = false
161
- @logger = (defined?(Rails) && Rails.respond_to?(:logger)) ? Rails.logger : Logger.new(STDOUT)
162
-
163
- yield(self) if block_given?
164
- end
1
+ # #Plaid Compatibility Layer
2
+ #
3
+ # No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ #
5
+ # The version of the OpenAPI document: 0.1.0
6
+ #
7
+ # Generated by: https://openapi-generator.tech
8
+ # OpenAPI Generator version: 5.1.1
9
+ #
10
+
11
+ module MoneyKit
12
+ module PlaidCompatible
13
+ class Configuration
14
+ # Plaid Environment mapping
15
+ # production, development, sandbox
16
+ Environment = { 'production' => 0, 'sandbox' => 1 }
17
+
18
+ # Defines url scheme
19
+ attr_accessor :scheme
20
+
21
+ # Defines url host
22
+ attr_accessor :host
23
+
24
+ # Defines url base path
25
+ attr_accessor :base_path
26
+
27
+ # Define server configuration index
28
+ attr_accessor :server_index
29
+
30
+ # Define server operation configuration index
31
+ attr_accessor :server_operation_index
32
+
33
+ # Default server variables
34
+ attr_accessor :server_variables
35
+
36
+ # Default server operation variables
37
+ attr_accessor :server_operation_variables
38
+
39
+ # Defines API keys used with API Key authentications.
40
+ #
41
+ # @return [Hash] key: parameter name, value: parameter value (API key)
42
+ #
43
+ # @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
44
+ # config.api_key['api_key'] = 'xxx'
45
+ attr_accessor :api_key
46
+
47
+ # Defines API key prefixes used with API Key authentications.
48
+ #
49
+ # @return [Hash] key: parameter name, value: API key prefix
50
+ #
51
+ # @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
52
+ # config.api_key_prefix['api_key'] = 'Token'
53
+ attr_accessor :api_key_prefix
54
+
55
+ # Defines the username used with HTTP basic authentication.
56
+ #
57
+ # @return [String]
58
+ attr_accessor :username
59
+
60
+ # Defines the password used with HTTP basic authentication.
61
+ #
62
+ # @return [String]
63
+ attr_accessor :password
64
+
65
+ # Defines the access token (Bearer) used with OAuth2.
66
+ attr_accessor :access_token
67
+
68
+ # Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
69
+ # details will be logged with `logger.debug` (see the `logger` attribute).
70
+ # Default to false.
71
+ #
72
+ # @return [true, false]
73
+ attr_accessor :debugging
74
+
75
+ # Defines the logger used for debugging.
76
+ # Default to `Rails.logger` (when in Rails) or logging to STDOUT.
77
+ #
78
+ # @return [#debug]
79
+ attr_accessor :logger
80
+
81
+ # Defines the temporary folder to store downloaded files
82
+ # (for API endpoints that have file response).
83
+ # Default to use `Tempfile`.
84
+ #
85
+ # @return [String]
86
+ attr_accessor :temp_folder_path
87
+
88
+ # The time limit for HTTP request in seconds.
89
+ attr_accessor :timeout
90
+
91
+ # Set this to false to skip client side validation in the operation.
92
+ # Default to true.
93
+ # @return [true, false]
94
+ attr_accessor :client_side_validation
95
+
96
+ ### TLS/SSL setting
97
+ # Set this to false to skip verifying SSL certificate when calling API from https server.
98
+ # Default to true.
99
+ #
100
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
101
+ #
102
+ # @return [true, false]
103
+ attr_accessor :ssl_verify
104
+
105
+ ### TLS/SSL setting
106
+ # Any `OpenSSL::SSL::` constant (see https://ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
107
+ #
108
+ # @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
109
+ #
110
+ attr_accessor :ssl_verify_mode
111
+
112
+ ### TLS/SSL setting
113
+ # Set this to customize the certificate file to verify the peer.
114
+ #
115
+ # @return [String] the path to the certificate file
116
+ attr_accessor :ssl_ca_file
117
+
118
+ ### TLS/SSL setting
119
+ # Client certificate file (for client certificate)
120
+ attr_accessor :ssl_client_cert
121
+
122
+ ### TLS/SSL setting
123
+ # Client private key file (for client certificate)
124
+ attr_accessor :ssl_client_key
125
+
126
+ # Set this to customize parameters encoding of array parameter with multi collectionFormat.
127
+ # Default to nil.
128
+ #
129
+ # @see The params_encoding option of Ethon. Related source code:
130
+ # https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
131
+ attr_accessor :params_encoding
132
+
133
+ attr_accessor :inject_format, :force_ending_format
134
+
135
+ def initialize
136
+ @scheme = 'https'
137
+ @host = 'production.moneykit.com'
138
+ @base_path = '/plaid-compatible'
139
+ @server_index = 0
140
+ @server_operation_index = {}
141
+ @server_variables = {}
142
+ @server_operation_variables = {}
143
+ @api_key = {
144
+ 'Plaid-Version' => ''
145
+ }
146
+ @api_key_prefix = {}
147
+ @timeout = 60
148
+ @client_side_validation = true
149
+ @ssl_verify = true
150
+ @ssl_verify_mode = nil
151
+ @ssl_ca_file = nil
152
+ @ssl_client_cert = nil
153
+ @ssl_client_key = nil
154
+ @debugging = false
155
+ @inject_format = false
156
+ @force_ending_format = false
157
+ @logger = defined?(Rails) && Rails.respond_to?(:logger) ? Rails.logger : Logger.new(STDOUT)
158
+
159
+ yield(self) if block_given?
160
+ end
165
161
 
166
- # The default Configuration object.
167
- def self.default
168
- @@default ||= Configuration.new
169
- end
162
+ # The default Configuration object.
163
+ def self.default
164
+ @@default ||= Configuration.new
165
+ end
170
166
 
171
- def configure
172
- yield(self) if block_given?
173
- end
167
+ def configure
168
+ yield(self) if block_given?
169
+ end
174
170
 
175
- def scheme=(scheme)
176
- # remove :// from scheme
177
- @scheme = scheme.sub(/:\/\//, '')
178
- end
171
+ def scheme=(scheme)
172
+ # remove :// from scheme
173
+ @scheme = scheme.sub(%r{://}, '')
174
+ end
179
175
 
180
- def host=(host)
181
- # remove http(s):// and anything after a slash
182
- @host = host.sub(/https?:\/\//, '').split('/').first
183
- end
176
+ def host=(host)
177
+ # remove http(s):// and anything after a slash
178
+ @host = host.sub(%r{https?://}, '').split('/').first
179
+ end
184
180
 
185
- def base_path=(base_path)
186
- # Add leading and trailing slashes to base_path
187
- @base_path = "/#{base_path}".gsub(/\/+/, '/')
188
- @base_path = '' if @base_path == '/'
189
- end
181
+ def base_path=(base_path)
182
+ # Add leading and trailing slashes to base_path
183
+ @base_path = "/#{base_path}".gsub(%r{/+}, '/')
184
+ @base_path = '' if @base_path == '/'
185
+ end
190
186
 
191
- # Returns base URL for specified operation based on server settings
192
- def base_url(operation = nil)
193
- index = server_operation_index.fetch(operation, server_index)
194
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
187
+ # Returns base URL for specified operation based on server settings
188
+ def base_url(operation = nil)
189
+ index = server_operation_index.fetch(operation, server_index)
190
+ return "#{scheme}://#{[host, base_path].join('/').gsub(%r{/+}, '/')}".sub(%r{/+\z}, '') if index.nil?
195
191
 
196
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
197
- end
192
+ server_url(index, server_operation_variables.fetch(operation, server_variables),
193
+ operation_server_settings[operation])
194
+ end
198
195
 
199
- # Gets API key (with prefix if set).
200
- # @param [String] param_name the parameter name of API key auth
201
- def api_key_with_prefix(param_name)
202
- if @api_key_prefix[param_name]
203
- "#{@api_key_prefix[param_name]} #{@api_key[param_name]}"
204
- else
205
- @api_key[param_name]
196
+ # Gets API key (with prefix if set).
197
+ # @param [String] param_name the parameter name of API key auth
198
+ def api_key_with_prefix(param_name)
199
+ if @api_key_prefix[param_name]
200
+ "#{@api_key_prefix[param_name]} #{@api_key[param_name]}"
201
+ else
202
+ @api_key[param_name]
203
+ end
206
204
  end
207
- end
208
205
 
209
- # Gets Basic Auth token string
210
- def basic_auth_token
211
- 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
212
- end
206
+ # Gets Basic Auth token string
207
+ def basic_auth_token
208
+ 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
209
+ end
213
210
 
214
- # Returns Auth Settings hash for api client.
215
- def auth_settings
216
- {
217
- 'clientId' =>
211
+ # Returns Auth Settings hash for api client.
212
+ def auth_settings
213
+ {
214
+ 'clientId' =>
215
+ {
216
+ type: 'api_key',
217
+ in: 'header',
218
+ key: 'PLAID-CLIENT-ID',
219
+ value: api_key_with_prefix('PLAID-CLIENT-ID')
220
+ },
221
+ 'secret' =>
222
+ {
223
+ type: 'api_key',
224
+ in: 'header',
225
+ key: 'PLAID-SECRET',
226
+ value: api_key_with_prefix('PLAID-SECRET')
227
+ }
228
+ }
229
+ end
230
+
231
+ # Returns an array of Server setting
232
+ def server_settings
233
+ [
218
234
  {
219
- type: 'api_key',
220
- in: 'header',
221
- key: 'PLAID-CLIENT-ID',
222
- value: api_key_with_prefix('PLAID-CLIENT-ID')
235
+ url: 'https://production.moneykit.com/plaid-compatible',
236
+ description: 'MoneyKit production environment (Live institution data)'
223
237
  },
224
- 'secret' =>
225
238
  {
226
- type: 'api_key',
227
- in: 'header',
228
- key: 'PLAID-SECRET',
229
- value: api_key_with_prefix('PLAID-SECRET')
230
- },
231
- }
232
- end
233
-
234
- # Returns an array of Server setting
235
- def server_settings
236
- [
237
- {
238
- url: "https://production.moneykit.com/plaid-compatible",
239
- description: "MoneyKit production environment (Live institution data)",
240
- },
241
- {
242
- url: "https://sandbox.moneykit.com/plaid-compatible",
243
- description: "MoneyKit sandbox environment (Unrestricted environment with fake institution data)",
244
- }
245
- ]
246
- end
239
+ url: 'https://sandbox.moneykit.com/plaid-compatible',
240
+ description: 'MoneyKit sandbox environment (Unrestricted environment with fake institution data)'
241
+ }
242
+ ]
243
+ end
247
244
 
248
- def operation_server_settings
249
- {
250
- }
251
- end
245
+ def operation_server_settings
246
+ {}
247
+ end
252
248
 
253
- # Returns URL based on server settings
254
- #
255
- # @param index array index of the server settings
256
- # @param variables hash of variable and the corresponding value
257
- def server_url(index, variables = {}, servers = nil)
258
- servers = server_settings if servers == nil
249
+ # Returns URL based on server settings
250
+ #
251
+ # @param index array index of the server settings
252
+ # @param variables hash of variable and the corresponding value
253
+ def server_url(index, variables = {}, servers = nil)
254
+ servers = server_settings if servers.nil?
259
255
 
260
- # check array index out of bound
261
- if (index < 0 || index >= servers.size)
262
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
263
- end
256
+ # check array index out of bound
257
+ if index < 0 || index >= servers.size
258
+ raise ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
259
+ end
264
260
 
265
- server = servers[index]
266
- url = server[:url]
261
+ server = servers[index]
262
+ url = server[:url]
267
263
 
268
- return url unless server.key? :variables
264
+ return url unless server.key? :variables
269
265
 
270
- # go through variable and assign a value
271
- server[:variables].each do |name, variable|
272
- if variables.key?(name)
273
- if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
274
- url.gsub! "{" + name.to_s + "}", variables[name]
266
+ # go through variable and assign a value
267
+ server[:variables].each do |name, _variable|
268
+ if variables.key?(name)
269
+ if !server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name])
270
+ url.gsub! '{' + name.to_s + '}', variables[name]
271
+ else
272
+ raise ArgumentError,
273
+ "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
274
+ end
275
275
  else
276
- fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
276
+ # use default value
277
+ url.gsub! '{' + name.to_s + '}', server[:variables][name][:default_value]
277
278
  end
278
- else
279
- # use default value
280
- url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value]
281
279
  end
282
- end
283
280
 
284
- url
281
+ url
282
+ end
285
283
  end
286
284
  end
287
285
  end