fuse_client 0.3.2 → 0.3.4

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +70 -0
  3. data/LICENSE +21 -0
  4. data/README.md +1 -258
  5. data/docs/Aggregator.md +15 -0
  6. data/docs/CreateAssetReportRequest.md +3 -1
  7. data/docs/CreateEntityRequest.md +24 -0
  8. data/docs/CreateEntityResponse.md +24 -0
  9. data/docs/CreateLinkTokenRequest.md +5 -5
  10. data/docs/CreateLinkTokenRequestMx.md +1 -1
  11. data/docs/CreateLinkTokenRequestPlaid.md +1 -1
  12. data/docs/CreateSessionRequest.md +3 -5
  13. data/docs/FinancialConnectionsAccountDetails.md +1 -3
  14. data/docs/FinancialConnectionsHolding.md +2 -0
  15. data/docs/FuseApi.md +307 -1
  16. data/docs/GetEntityResponse.md +24 -0
  17. data/docs/GetInvestmentHoldingsRequest.md +3 -1
  18. data/docs/GetInvestmentHoldingsResponse.md +1 -3
  19. data/docs/GetInvestmentTransactionsResponse.md +1 -3
  20. data/docs/GetLiabilitiesResponse.md +1 -3
  21. data/docs/GetTransactionsResponseDataInner.md +1 -3
  22. data/docs/Product.md +15 -0
  23. data/docs/RefreshAssetReportRequest.md +22 -0
  24. data/docs/UpdateEntityRequest.md +22 -0
  25. data/docs/UpdateEntityResponse.md +24 -0
  26. data/lib/fuse_client/api/fuse_api.rb +261 -0
  27. data/lib/fuse_client/configuration.rb +2 -2
  28. data/lib/fuse_client/models/aggregator.rb +42 -0
  29. data/lib/fuse_client/models/create_asset_report_request.rb +16 -4
  30. data/lib/fuse_client/models/{create_session_request_mx.rb → create_entity_request.rb} +50 -29
  31. data/lib/fuse_client/models/create_entity_response.rb +268 -0
  32. data/lib/fuse_client/models/create_link_token_request.rb +21 -20
  33. data/lib/fuse_client/models/create_link_token_request_mx.rb +1 -1
  34. data/lib/fuse_client/models/create_link_token_request_plaid.rb +3 -2
  35. data/lib/fuse_client/models/create_session_request.rb +36 -39
  36. data/lib/fuse_client/models/financial_connections_account_details.rb +4 -14
  37. data/lib/fuse_client/models/financial_connections_holding.rb +11 -1
  38. data/lib/fuse_client/models/{create_link_token_request_plaid_config.rb → get_entity_response.rb} +57 -14
  39. data/lib/fuse_client/models/get_investment_holdings_request.rb +14 -4
  40. data/lib/fuse_client/models/get_investment_holdings_response.rb +4 -14
  41. data/lib/fuse_client/models/get_investment_transactions_response.rb +4 -14
  42. data/lib/fuse_client/models/get_liabilities_response.rb +4 -14
  43. data/lib/fuse_client/models/get_transactions_response_data_inner.rb +4 -14
  44. data/lib/fuse_client/models/product.rb +44 -0
  45. data/lib/fuse_client/models/refresh_asset_report_request.rb +275 -0
  46. data/lib/fuse_client/models/{create_session_request_plaid.rb → update_entity_request.rb} +41 -21
  47. data/lib/fuse_client/models/update_entity_response.rb +268 -0
  48. data/lib/fuse_client/version.rb +1 -1
  49. data/lib/fuse_client.rb +8 -3
  50. data/spec/api/fuse_api_spec.rb +45 -0
  51. data/spec/configuration_spec.rb +3 -3
  52. data/spec/models/aggregator_spec.rb +28 -0
  53. data/spec/models/create_asset_report_request_spec.rb +6 -0
  54. data/spec/models/{create_session_request_mx_spec.rb → create_entity_request_spec.rb} +10 -10
  55. data/spec/models/create_entity_response_spec.rb +52 -0
  56. data/spec/models/create_link_token_request_spec.rb +5 -5
  57. data/spec/models/create_session_request_spec.rb +1 -11
  58. data/spec/models/financial_connections_account_details_spec.rb +0 -6
  59. data/spec/models/financial_connections_holding_spec.rb +6 -0
  60. data/spec/models/get_entity_response_spec.rb +52 -0
  61. data/spec/models/get_investment_holdings_request_spec.rb +6 -0
  62. data/spec/models/get_investment_holdings_response_spec.rb +0 -6
  63. data/spec/models/get_investment_transactions_response_spec.rb +0 -6
  64. data/spec/models/get_liabilities_response_spec.rb +0 -6
  65. data/spec/models/get_transactions_response_data_inner_spec.rb +0 -6
  66. data/spec/models/product_spec.rb +28 -0
  67. data/spec/models/refresh_asset_report_request_spec.rb +46 -0
  68. data/spec/models/update_entity_request_spec.rb +46 -0
  69. data/spec/models/update_entity_response_spec.rb +52 -0
  70. metadata +36 -14
  71. data/docs/CreateLinkTokenRequestPlaidConfig.md +0 -18
  72. data/docs/CreateSessionRequestMx.md +0 -24
  73. data/docs/CreateSessionRequestPlaid.md +0 -18
  74. data/spec/models/create_link_token_request_plaid_config_spec.rb +0 -34
  75. data/spec/models/create_session_request_plaid_spec.rb +0 -34
@@ -81,6 +81,72 @@ module FuseClient
81
81
  return data, status_code, headers
82
82
  end
83
83
 
84
+ # Create entity
85
+ # @param create_entity_request [CreateEntityRequest]
86
+ # @param [Hash] opts the optional parameters
87
+ # @return [CreateEntityResponse]
88
+ def create_entity(create_entity_request, opts = {})
89
+ data, _status_code, _headers = create_entity_with_http_info(create_entity_request, opts)
90
+ data
91
+ end
92
+
93
+ # Create entity
94
+ # @param create_entity_request [CreateEntityRequest]
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Array<(CreateEntityResponse, Integer, Hash)>] CreateEntityResponse data, response status code and response headers
97
+ def create_entity_with_http_info(create_entity_request, opts = {})
98
+ if @api_client.config.debugging
99
+ @api_client.config.logger.debug 'Calling API: FuseApi.create_entity ...'
100
+ end
101
+ # verify the required parameter 'create_entity_request' is set
102
+ if @api_client.config.client_side_validation && create_entity_request.nil?
103
+ fail ArgumentError, "Missing the required parameter 'create_entity_request' when calling FuseApi.create_entity"
104
+ end
105
+ # resource path
106
+ local_var_path = '/v1/entities'
107
+
108
+ # query parameters
109
+ query_params = opts[:query_params] || {}
110
+
111
+ # header parameters
112
+ header_params = opts[:header_params] || {}
113
+ # HTTP header 'Accept' (if needed)
114
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
115
+ # HTTP header 'Content-Type'
116
+ content_type = @api_client.select_header_content_type(['application/json'])
117
+ if !content_type.nil?
118
+ header_params['Content-Type'] = content_type
119
+ end
120
+
121
+ # form parameters
122
+ form_params = opts[:form_params] || {}
123
+
124
+ # http body (model)
125
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(create_entity_request)
126
+
127
+ # return_type
128
+ return_type = opts[:debug_return_type] || 'CreateEntityResponse'
129
+
130
+ # auth_names
131
+ auth_names = opts[:debug_auth_names] || ['fuseApiKey', 'fuseClientId']
132
+
133
+ new_options = opts.merge(
134
+ :operation => :"FuseApi.create_entity",
135
+ :header_params => header_params,
136
+ :query_params => query_params,
137
+ :form_params => form_params,
138
+ :body => post_body,
139
+ :auth_names => auth_names,
140
+ :return_type => return_type
141
+ )
142
+
143
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug "API called: FuseApi#create_entity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
146
+ end
147
+ return data, status_code, headers
148
+ end
149
+
84
150
  # Create a link token to start the process of a user connecting to a specific financial institution.
85
151
  # @param [Hash] opts the optional parameters
86
152
  # @option opts [CreateLinkTokenRequest] :create_link_token_request
@@ -329,6 +395,67 @@ module FuseClient
329
395
  return data, status_code, headers
330
396
  end
331
397
 
398
+ # Get entity
399
+ # @param entity_id [String]
400
+ # @param [Hash] opts the optional parameters
401
+ # @return [GetEntityResponse]
402
+ def get_entity(entity_id, opts = {})
403
+ data, _status_code, _headers = get_entity_with_http_info(entity_id, opts)
404
+ data
405
+ end
406
+
407
+ # Get entity
408
+ # @param entity_id [String]
409
+ # @param [Hash] opts the optional parameters
410
+ # @return [Array<(GetEntityResponse, Integer, Hash)>] GetEntityResponse data, response status code and response headers
411
+ def get_entity_with_http_info(entity_id, opts = {})
412
+ if @api_client.config.debugging
413
+ @api_client.config.logger.debug 'Calling API: FuseApi.get_entity ...'
414
+ end
415
+ # verify the required parameter 'entity_id' is set
416
+ if @api_client.config.client_side_validation && entity_id.nil?
417
+ fail ArgumentError, "Missing the required parameter 'entity_id' when calling FuseApi.get_entity"
418
+ end
419
+ # resource path
420
+ local_var_path = '/v1/entities/{entity_id}'.sub('{' + 'entity_id' + '}', CGI.escape(entity_id.to_s))
421
+
422
+ # query parameters
423
+ query_params = opts[:query_params] || {}
424
+
425
+ # header parameters
426
+ header_params = opts[:header_params] || {}
427
+ # HTTP header 'Accept' (if needed)
428
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
429
+
430
+ # form parameters
431
+ form_params = opts[:form_params] || {}
432
+
433
+ # http body (model)
434
+ post_body = opts[:debug_body]
435
+
436
+ # return_type
437
+ return_type = opts[:debug_return_type] || 'GetEntityResponse'
438
+
439
+ # auth_names
440
+ auth_names = opts[:debug_auth_names] || ['fuseApiKey', 'fuseClientId']
441
+
442
+ new_options = opts.merge(
443
+ :operation => :"FuseApi.get_entity",
444
+ :header_params => header_params,
445
+ :query_params => query_params,
446
+ :form_params => form_params,
447
+ :body => post_body,
448
+ :auth_names => auth_names,
449
+ :return_type => return_type
450
+ )
451
+
452
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
453
+ if @api_client.config.debugging
454
+ @api_client.config.logger.debug "API called: FuseApi#get_entity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
455
+ end
456
+ return data, status_code, headers
457
+ end
458
+
332
459
  # Get account details
333
460
  # @param get_financial_connections_account_details_request [GetFinancialConnectionsAccountDetailsRequest]
334
461
  # @param [Hash] opts the optional parameters
@@ -791,6 +918,68 @@ module FuseClient
791
918
  return data, status_code, headers
792
919
  end
793
920
 
921
+ # Refreshes the Asset Report in JSON format.
922
+ # @param [Hash] opts the optional parameters
923
+ # @option opts [RefreshAssetReportRequest] :refresh_asset_report_request
924
+ # @return [CreateAssetReportResponse]
925
+ def refresh_asset_report(opts = {})
926
+ data, _status_code, _headers = refresh_asset_report_with_http_info(opts)
927
+ data
928
+ end
929
+
930
+ # Refreshes the Asset Report in JSON format.
931
+ # @param [Hash] opts the optional parameters
932
+ # @option opts [RefreshAssetReportRequest] :refresh_asset_report_request
933
+ # @return [Array<(CreateAssetReportResponse, Integer, Hash)>] CreateAssetReportResponse data, response status code and response headers
934
+ def refresh_asset_report_with_http_info(opts = {})
935
+ if @api_client.config.debugging
936
+ @api_client.config.logger.debug 'Calling API: FuseApi.refresh_asset_report ...'
937
+ end
938
+ # resource path
939
+ local_var_path = '/v1/asset_report/refresh'
940
+
941
+ # query parameters
942
+ query_params = opts[:query_params] || {}
943
+
944
+ # header parameters
945
+ header_params = opts[:header_params] || {}
946
+ # HTTP header 'Accept' (if needed)
947
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
948
+ # HTTP header 'Content-Type'
949
+ content_type = @api_client.select_header_content_type(['application/json'])
950
+ if !content_type.nil?
951
+ header_params['Content-Type'] = content_type
952
+ end
953
+
954
+ # form parameters
955
+ form_params = opts[:form_params] || {}
956
+
957
+ # http body (model)
958
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(opts[:'refresh_asset_report_request'])
959
+
960
+ # return_type
961
+ return_type = opts[:debug_return_type] || 'CreateAssetReportResponse'
962
+
963
+ # auth_names
964
+ auth_names = opts[:debug_auth_names] || ['fuseApiKey', 'fuseClientId']
965
+
966
+ new_options = opts.merge(
967
+ :operation => :"FuseApi.refresh_asset_report",
968
+ :header_params => header_params,
969
+ :query_params => query_params,
970
+ :form_params => form_params,
971
+ :body => post_body,
972
+ :auth_names => auth_names,
973
+ :return_type => return_type
974
+ )
975
+
976
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
977
+ if @api_client.config.debugging
978
+ @api_client.config.logger.debug "API called: FuseApi#refresh_asset_report\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
979
+ end
980
+ return data, status_code, headers
981
+ end
982
+
794
983
  # Sync financial connections data
795
984
  # Call this endpoint upon receiving a SYNC_REQUIRED webhook. This will keep the financial connections data up to date.
796
985
  # @param body [Object]
@@ -925,6 +1114,78 @@ module FuseClient
925
1114
  return data, status_code, headers
926
1115
  end
927
1116
 
1117
+ # Update entity
1118
+ # @param entity_id_to_update [String]
1119
+ # @param update_entity_request [UpdateEntityRequest]
1120
+ # @param [Hash] opts the optional parameters
1121
+ # @return [UpdateEntityResponse]
1122
+ def update_entity(entity_id_to_update, update_entity_request, opts = {})
1123
+ data, _status_code, _headers = update_entity_with_http_info(entity_id_to_update, update_entity_request, opts)
1124
+ data
1125
+ end
1126
+
1127
+ # Update entity
1128
+ # @param entity_id_to_update [String]
1129
+ # @param update_entity_request [UpdateEntityRequest]
1130
+ # @param [Hash] opts the optional parameters
1131
+ # @return [Array<(UpdateEntityResponse, Integer, Hash)>] UpdateEntityResponse data, response status code and response headers
1132
+ def update_entity_with_http_info(entity_id_to_update, update_entity_request, opts = {})
1133
+ if @api_client.config.debugging
1134
+ @api_client.config.logger.debug 'Calling API: FuseApi.update_entity ...'
1135
+ end
1136
+ # verify the required parameter 'entity_id_to_update' is set
1137
+ if @api_client.config.client_side_validation && entity_id_to_update.nil?
1138
+ fail ArgumentError, "Missing the required parameter 'entity_id_to_update' when calling FuseApi.update_entity"
1139
+ end
1140
+ # verify the required parameter 'update_entity_request' is set
1141
+ if @api_client.config.client_side_validation && update_entity_request.nil?
1142
+ fail ArgumentError, "Missing the required parameter 'update_entity_request' when calling FuseApi.update_entity"
1143
+ end
1144
+ # resource path
1145
+ local_var_path = '/v1/entities/{entity_id_to_update}'.sub('{' + 'entity_id_to_update' + '}', CGI.escape(entity_id_to_update.to_s))
1146
+
1147
+ # query parameters
1148
+ query_params = opts[:query_params] || {}
1149
+
1150
+ # header parameters
1151
+ header_params = opts[:header_params] || {}
1152
+ # HTTP header 'Accept' (if needed)
1153
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1154
+ # HTTP header 'Content-Type'
1155
+ content_type = @api_client.select_header_content_type(['application/json'])
1156
+ if !content_type.nil?
1157
+ header_params['Content-Type'] = content_type
1158
+ end
1159
+
1160
+ # form parameters
1161
+ form_params = opts[:form_params] || {}
1162
+
1163
+ # http body (model)
1164
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(update_entity_request)
1165
+
1166
+ # return_type
1167
+ return_type = opts[:debug_return_type] || 'UpdateEntityResponse'
1168
+
1169
+ # auth_names
1170
+ auth_names = opts[:debug_auth_names] || ['fuseApiKey', 'fuseClientId']
1171
+
1172
+ new_options = opts.merge(
1173
+ :operation => :"FuseApi.update_entity",
1174
+ :header_params => header_params,
1175
+ :query_params => query_params,
1176
+ :form_params => form_params,
1177
+ :body => post_body,
1178
+ :auth_names => auth_names,
1179
+ :return_type => return_type
1180
+ )
1181
+
1182
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1183
+ if @api_client.config.debugging
1184
+ @api_client.config.logger.debug "API called: FuseApi#update_entity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1185
+ end
1186
+ return data, status_code, headers
1187
+ end
1188
+
928
1189
  # Get liabilities
929
1190
  # @param get_liabilities_request [GetLiabilitiesRequest]
930
1191
  # @param [Hash] opts the optional parameters
@@ -140,7 +140,7 @@ module FuseClient
140
140
 
141
141
  def initialize
142
142
  @scheme = 'https'
143
- @host = 'yz9sph5c42.execute-api.us-east-1.amazonaws.com'
143
+ @host = 'sandbox-api.letsfuse.com'
144
144
  @base_path = ''
145
145
  @server_index = 0
146
146
  @server_operation_index = {}
@@ -300,7 +300,7 @@ module FuseClient
300
300
  def server_settings
301
301
  [
302
302
  {
303
- url: "https://yz9sph5c42.execute-api.us-east-1.amazonaws.com",
303
+ url: "https://sandbox-api.letsfuse.com",
304
304
  description: "sandbox",
305
305
  }
306
306
  ]
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #Fuse
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module FuseClient
17
+ class Aggregator
18
+ PLAID = "plaid".freeze
19
+ TELLER = "teller".freeze
20
+ MX = "mx".freeze
21
+ FINICITY = "finicity".freeze
22
+
23
+ def self.all_vars
24
+ @all_vars ||= [PLAID, TELLER, MX, FINICITY].freeze
25
+ end
26
+
27
+ # Builds the enum from string
28
+ # @param [String] The enum value in the form of the string
29
+ # @return [String] The enum value
30
+ def self.build_from_hash(value)
31
+ new.build_from_hash(value)
32
+ end
33
+
34
+ # Builds the enum from string
35
+ # @param [String] The enum value in the form of the string
36
+ # @return [String] The enum value
37
+ def build_from_hash(value)
38
+ return value if Aggregator.all_vars.include?(value)
39
+ raise "Invalid ENUM value #{value} for class #Aggregator"
40
+ end
41
+ end
42
+ end
@@ -21,11 +21,15 @@ module FuseClient
21
21
  # The maximum integer number of days of history to include in the Asset Report
22
22
  attr_accessor :days_requested
23
23
 
24
+ # Indicates whether to include identity data in the Asset Report
25
+ attr_accessor :include_identity
26
+
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
27
30
  :'access_token' => :'access_token',
28
- :'days_requested' => :'days_requested'
31
+ :'days_requested' => :'days_requested',
32
+ :'include_identity' => :'include_identity'
29
33
  }
30
34
  end
31
35
 
@@ -38,7 +42,8 @@ module FuseClient
38
42
  def self.openapi_types
39
43
  {
40
44
  :'access_token' => :'String',
41
- :'days_requested' => :'Float'
45
+ :'days_requested' => :'Float',
46
+ :'include_identity' => :'Boolean'
42
47
  }
43
48
  end
44
49
 
@@ -70,6 +75,12 @@ module FuseClient
70
75
  if attributes.key?(:'days_requested')
71
76
  self.days_requested = attributes[:'days_requested']
72
77
  end
78
+
79
+ if attributes.key?(:'include_identity')
80
+ self.include_identity = attributes[:'include_identity']
81
+ else
82
+ self.include_identity = true
83
+ end
73
84
  end
74
85
 
75
86
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -129,7 +140,8 @@ module FuseClient
129
140
  return true if self.equal?(o)
130
141
  self.class == o.class &&
131
142
  access_token == o.access_token &&
132
- days_requested == o.days_requested
143
+ days_requested == o.days_requested &&
144
+ include_identity == o.include_identity
133
145
  end
134
146
 
135
147
  # @see the `==` method
@@ -141,7 +153,7 @@ module FuseClient
141
153
  # Calculates hash code according to all attributes.
142
154
  # @return [Integer] Hash code
143
155
  def hash
144
- [access_token, days_requested].hash
156
+ [access_token, days_requested, include_identity].hash
145
157
  end
146
158
 
147
159
  # Builds the object from hash
@@ -14,23 +14,25 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FuseClient
17
- # This can be left empty even if MX is in the list of supported_financial_institution_aggregators, although we would recommend having a look at what each field means to see if you want to override the default value of 'false'. These fields are described here(https://docs.mx.com/api#core_resources_institutions_list_institutions). An object specifying information about the MX configuration to use for deciding which MX supported financial institutions to display.
18
- class CreateSessionRequestMx
19
- attr_accessor :supports_account_identification
17
+ class CreateEntityRequest
18
+ # Id of the entity
19
+ attr_accessor :id
20
20
 
21
- attr_accessor :supports_account_statement
21
+ # Email of the entity
22
+ attr_accessor :email
22
23
 
23
- attr_accessor :supports_account_verification
24
+ # These will force the user to connect through all of these aggregators
25
+ attr_accessor :aggregators
24
26
 
25
- attr_accessor :supports_transaction_history
27
+ attr_accessor :institution_ids
26
28
 
27
29
  # Attribute mapping from ruby-style variable name to JSON key.
28
30
  def self.attribute_map
29
31
  {
30
- :'supports_account_identification' => :'supports_account_identification',
31
- :'supports_account_statement' => :'supports_account_statement',
32
- :'supports_account_verification' => :'supports_account_verification',
33
- :'supports_transaction_history' => :'supports_transaction_history'
32
+ :'id' => :'id',
33
+ :'email' => :'email',
34
+ :'aggregators' => :'aggregators',
35
+ :'institution_ids' => :'institution_ids'
34
36
  }
35
37
  end
36
38
 
@@ -42,10 +44,10 @@ module FuseClient
42
44
  # Attribute type mapping.
43
45
  def self.openapi_types
44
46
  {
45
- :'supports_account_identification' => :'Boolean',
46
- :'supports_account_statement' => :'Boolean',
47
- :'supports_account_verification' => :'Boolean',
48
- :'supports_transaction_history' => :'Boolean'
47
+ :'id' => :'String',
48
+ :'email' => :'String',
49
+ :'aggregators' => :'Array<Aggregator>',
50
+ :'institution_ids' => :'Array<String>'
49
51
  }
50
52
  end
51
53
 
@@ -59,31 +61,35 @@ module FuseClient
59
61
  # @param [Hash] attributes Model attributes in the form of hash
60
62
  def initialize(attributes = {})
61
63
  if (!attributes.is_a?(Hash))
62
- fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::CreateSessionRequestMx` initialize method"
64
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::CreateEntityRequest` initialize method"
63
65
  end
64
66
 
65
67
  # check to see if the attribute exists and convert string to symbol for hash key
66
68
  attributes = attributes.each_with_object({}) { |(k, v), h|
67
69
  if (!self.class.attribute_map.key?(k.to_sym))
68
- fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::CreateSessionRequestMx`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::CreateEntityRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
69
71
  end
70
72
  h[k.to_sym] = v
71
73
  }
72
74
 
73
- if attributes.key?(:'supports_account_identification')
74
- self.supports_account_identification = attributes[:'supports_account_identification']
75
+ if attributes.key?(:'id')
76
+ self.id = attributes[:'id']
75
77
  end
76
78
 
77
- if attributes.key?(:'supports_account_statement')
78
- self.supports_account_statement = attributes[:'supports_account_statement']
79
+ if attributes.key?(:'email')
80
+ self.email = attributes[:'email']
79
81
  end
80
82
 
81
- if attributes.key?(:'supports_account_verification')
82
- self.supports_account_verification = attributes[:'supports_account_verification']
83
+ if attributes.key?(:'aggregators')
84
+ if (value = attributes[:'aggregators']).is_a?(Array)
85
+ self.aggregators = value
86
+ end
83
87
  end
84
88
 
85
- if attributes.key?(:'supports_transaction_history')
86
- self.supports_transaction_history = attributes[:'supports_transaction_history']
89
+ if attributes.key?(:'institution_ids')
90
+ if (value = attributes[:'institution_ids']).is_a?(Array)
91
+ self.institution_ids = value
92
+ end
87
93
  end
88
94
  end
89
95
 
@@ -91,24 +97,39 @@ module FuseClient
91
97
  # @return Array for valid properties with the reasons
92
98
  def list_invalid_properties
93
99
  invalid_properties = Array.new
100
+ if !@aggregators.nil? && @aggregators.length < 1
101
+ invalid_properties.push('invalid value for "aggregators", number of items must be greater than or equal to 1.')
102
+ end
103
+
94
104
  invalid_properties
95
105
  end
96
106
 
97
107
  # Check to see if the all the properties in the model are valid
98
108
  # @return true if the model is valid
99
109
  def valid?
110
+ return false if !@aggregators.nil? && @aggregators.length < 1
100
111
  true
101
112
  end
102
113
 
114
+ # Custom attribute writer method with validation
115
+ # @param [Object] aggregators Value to be assigned
116
+ def aggregators=(aggregators)
117
+ if !aggregators.nil? && aggregators.length < 1
118
+ fail ArgumentError, 'invalid value for "aggregators", number of items must be greater than or equal to 1.'
119
+ end
120
+
121
+ @aggregators = aggregators
122
+ end
123
+
103
124
  # Checks equality by comparing each attribute.
104
125
  # @param [Object] Object to be compared
105
126
  def ==(o)
106
127
  return true if self.equal?(o)
107
128
  self.class == o.class &&
108
- supports_account_identification == o.supports_account_identification &&
109
- supports_account_statement == o.supports_account_statement &&
110
- supports_account_verification == o.supports_account_verification &&
111
- supports_transaction_history == o.supports_transaction_history
129
+ id == o.id &&
130
+ email == o.email &&
131
+ aggregators == o.aggregators &&
132
+ institution_ids == o.institution_ids
112
133
  end
113
134
 
114
135
  # @see the `==` method
@@ -120,7 +141,7 @@ module FuseClient
120
141
  # Calculates hash code according to all attributes.
121
142
  # @return [Integer] Hash code
122
143
  def hash
123
- [supports_account_identification, supports_account_statement, supports_account_verification, supports_transaction_history].hash
144
+ [id, email, aggregators, institution_ids].hash
124
145
  end
125
146
 
126
147
  # Builds the object from hash