moneykit 0.0.2 → 0.0.5

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 (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