fuse_client 0.3.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) 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/fuse_client-0.3.4.gem +0 -0
  27. data/lib/fuse_client/api/fuse_api.rb +261 -0
  28. data/lib/fuse_client/configuration.rb +2 -2
  29. data/lib/fuse_client/models/aggregator.rb +42 -0
  30. data/lib/fuse_client/models/create_asset_report_request.rb +16 -4
  31. data/lib/fuse_client/models/{create_session_request_mx.rb → create_entity_request.rb} +50 -29
  32. data/lib/fuse_client/models/create_entity_response.rb +268 -0
  33. data/lib/fuse_client/models/create_link_token_request.rb +21 -20
  34. data/lib/fuse_client/models/create_link_token_request_mx.rb +1 -1
  35. data/lib/fuse_client/models/create_link_token_request_plaid.rb +3 -2
  36. data/lib/fuse_client/models/create_session_request.rb +36 -39
  37. data/lib/fuse_client/models/financial_connections_account_details.rb +4 -14
  38. data/lib/fuse_client/models/financial_connections_holding.rb +11 -1
  39. data/lib/fuse_client/models/{create_link_token_request_plaid_config.rb → get_entity_response.rb} +57 -14
  40. data/lib/fuse_client/models/get_investment_holdings_request.rb +14 -4
  41. data/lib/fuse_client/models/get_investment_holdings_response.rb +4 -14
  42. data/lib/fuse_client/models/get_investment_transactions_response.rb +4 -14
  43. data/lib/fuse_client/models/get_liabilities_response.rb +4 -14
  44. data/lib/fuse_client/models/get_transactions_response_data_inner.rb +4 -14
  45. data/lib/fuse_client/models/product.rb +44 -0
  46. data/lib/fuse_client/models/refresh_asset_report_request.rb +275 -0
  47. data/lib/fuse_client/models/{create_session_request_plaid.rb → update_entity_request.rb} +41 -21
  48. data/lib/fuse_client/models/update_entity_response.rb +268 -0
  49. data/lib/fuse_client/version.rb +1 -1
  50. data/lib/fuse_client.rb +8 -3
  51. data/spec/api/fuse_api_spec.rb +45 -0
  52. data/spec/configuration_spec.rb +3 -3
  53. data/spec/models/aggregator_spec.rb +28 -0
  54. data/spec/models/create_asset_report_request_spec.rb +6 -0
  55. data/spec/models/{create_session_request_mx_spec.rb → create_entity_request_spec.rb} +10 -10
  56. data/spec/models/create_entity_response_spec.rb +52 -0
  57. data/spec/models/create_link_token_request_spec.rb +5 -5
  58. data/spec/models/create_session_request_spec.rb +1 -11
  59. data/spec/models/financial_connections_account_details_spec.rb +0 -6
  60. data/spec/models/financial_connections_holding_spec.rb +6 -0
  61. data/spec/models/get_entity_response_spec.rb +52 -0
  62. data/spec/models/get_investment_holdings_request_spec.rb +6 -0
  63. data/spec/models/get_investment_holdings_response_spec.rb +0 -6
  64. data/spec/models/get_investment_transactions_response_spec.rb +0 -6
  65. data/spec/models/get_liabilities_response_spec.rb +0 -6
  66. data/spec/models/get_transactions_response_data_inner_spec.rb +0 -6
  67. data/spec/models/product_spec.rb +28 -0
  68. data/spec/models/refresh_asset_report_request_spec.rb +46 -0
  69. data/spec/models/update_entity_request_spec.rb +46 -0
  70. data/spec/models/update_entity_response_spec.rb +52 -0
  71. metadata +37 -14
  72. data/docs/CreateLinkTokenRequestPlaidConfig.md +0 -18
  73. data/docs/CreateSessionRequestMx.md +0 -24
  74. data/docs/CreateSessionRequestPlaid.md +0 -18
  75. data/spec/models/create_link_token_request_plaid_config_spec.rb +0 -34
  76. 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