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
@@ -0,0 +1,268 @@
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 CreateEntityResponse
18
+ # Id of the entity
19
+ attr_accessor :id
20
+
21
+ # Email of the entity
22
+ attr_accessor :email
23
+
24
+ # These will force the user to connect through all of these aggregators
25
+ attr_accessor :aggregators
26
+
27
+ attr_accessor :institution_ids
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'id' => :'id',
33
+ :'email' => :'email',
34
+ :'aggregators' => :'aggregators',
35
+ :'institution_ids' => :'institution_ids'
36
+ }
37
+ end
38
+
39
+ # Returns all the JSON keys this model knows about
40
+ def self.acceptable_attributes
41
+ attribute_map.values
42
+ end
43
+
44
+ # Attribute type mapping.
45
+ def self.openapi_types
46
+ {
47
+ :'id' => :'String',
48
+ :'email' => :'String',
49
+ :'aggregators' => :'Array<Aggregator>',
50
+ :'institution_ids' => :'Array<String>'
51
+ }
52
+ end
53
+
54
+ # List of attributes with nullable: true
55
+ def self.openapi_nullable
56
+ Set.new([
57
+ ])
58
+ end
59
+
60
+ # Initializes the object
61
+ # @param [Hash] attributes Model attributes in the form of hash
62
+ def initialize(attributes = {})
63
+ if (!attributes.is_a?(Hash))
64
+ fail ArgumentError, "The input argument (attributes) must be a hash in `FuseClient::CreateEntityResponse` initialize method"
65
+ end
66
+
67
+ # check to see if the attribute exists and convert string to symbol for hash key
68
+ attributes = attributes.each_with_object({}) { |(k, v), h|
69
+ if (!self.class.attribute_map.key?(k.to_sym))
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `FuseClient::CreateEntityResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
71
+ end
72
+ h[k.to_sym] = v
73
+ }
74
+
75
+ if attributes.key?(:'id')
76
+ self.id = attributes[:'id']
77
+ end
78
+
79
+ if attributes.key?(:'email')
80
+ self.email = attributes[:'email']
81
+ end
82
+
83
+ if attributes.key?(:'aggregators')
84
+ if (value = attributes[:'aggregators']).is_a?(Array)
85
+ self.aggregators = value
86
+ end
87
+ end
88
+
89
+ if attributes.key?(:'institution_ids')
90
+ if (value = attributes[:'institution_ids']).is_a?(Array)
91
+ self.institution_ids = value
92
+ end
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
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
+
104
+ invalid_properties
105
+ end
106
+
107
+ # Check to see if the all the properties in the model are valid
108
+ # @return true if the model is valid
109
+ def valid?
110
+ return false if !@aggregators.nil? && @aggregators.length < 1
111
+ true
112
+ end
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
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param [Object] Object to be compared
126
+ def ==(o)
127
+ return true if self.equal?(o)
128
+ self.class == o.class &&
129
+ id == o.id &&
130
+ email == o.email &&
131
+ aggregators == o.aggregators &&
132
+ institution_ids == o.institution_ids
133
+ end
134
+
135
+ # @see the `==` method
136
+ # @param [Object] Object to be compared
137
+ def eql?(o)
138
+ self == o
139
+ end
140
+
141
+ # Calculates hash code according to all attributes.
142
+ # @return [Integer] Hash code
143
+ def hash
144
+ [id, email, aggregators, institution_ids].hash
145
+ end
146
+
147
+ # Builds the object from hash
148
+ # @param [Hash] attributes Model attributes in the form of hash
149
+ # @return [Object] Returns the model itself
150
+ def self.build_from_hash(attributes)
151
+ new.build_from_hash(attributes)
152
+ end
153
+
154
+ # Builds the object from hash
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ # @return [Object] Returns the model itself
157
+ def build_from_hash(attributes)
158
+ return nil unless attributes.is_a?(Hash)
159
+ attributes = attributes.transform_keys(&:to_sym)
160
+ self.class.openapi_types.each_pair do |key, type|
161
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
162
+ self.send("#{key}=", nil)
163
+ elsif type =~ /\AArray<(.*)>/i
164
+ # check to ensure the input is an array given that the attribute
165
+ # is documented as an array but the input is not
166
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
167
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
168
+ end
169
+ elsif !attributes[self.class.attribute_map[key]].nil?
170
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
171
+ end
172
+ end
173
+
174
+ self
175
+ end
176
+
177
+ # Deserializes the data based on type
178
+ # @param string type Data type
179
+ # @param string value Value to be deserialized
180
+ # @return [Object] Deserialized data
181
+ def _deserialize(type, value)
182
+ case type.to_sym
183
+ when :Time
184
+ Time.parse(value)
185
+ when :Date
186
+ Date.parse(value)
187
+ when :String
188
+ value.to_s
189
+ when :Integer
190
+ value.to_i
191
+ when :Float
192
+ value.to_f
193
+ when :Boolean
194
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
195
+ true
196
+ else
197
+ false
198
+ end
199
+ when :Object
200
+ # generic object (usually a Hash), return directly
201
+ value
202
+ when /\AArray<(?<inner_type>.+)>\z/
203
+ inner_type = Regexp.last_match[:inner_type]
204
+ value.map { |v| _deserialize(inner_type, v) }
205
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
206
+ k_type = Regexp.last_match[:k_type]
207
+ v_type = Regexp.last_match[:v_type]
208
+ {}.tap do |hash|
209
+ value.each do |k, v|
210
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
211
+ end
212
+ end
213
+ else # model
214
+ # models (e.g. Pet) or oneOf
215
+ klass = FuseClient.const_get(type)
216
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
217
+ end
218
+ end
219
+
220
+ # Returns the string representation of the object
221
+ # @return [String] String presentation of the object
222
+ def to_s
223
+ to_hash.to_s
224
+ end
225
+
226
+ # to_body is an alias to to_hash (backward compatibility)
227
+ # @return [Hash] Returns the object in the form of hash
228
+ def to_body
229
+ to_hash
230
+ end
231
+
232
+ # Returns the object in the form of hash
233
+ # @return [Hash] Returns the object in the form of hash
234
+ def to_hash
235
+ hash = {}
236
+ self.class.attribute_map.each_pair do |attr, param|
237
+ value = self.send(attr)
238
+ if value.nil?
239
+ is_nullable = self.class.openapi_nullable.include?(attr)
240
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
241
+ end
242
+
243
+ hash[param] = _to_hash(value)
244
+ end
245
+ hash
246
+ end
247
+
248
+ # Outputs non-array value in the form of hash
249
+ # For object, use to_hash. Otherwise, just return the value
250
+ # @param [Object] value Any valid value
251
+ # @return [Hash] Returns the value in the form of hash
252
+ def _to_hash(value)
253
+ if value.is_a?(Array)
254
+ value.compact.map { |v| _to_hash(v) }
255
+ elsif value.is_a?(Hash)
256
+ {}.tap do |hash|
257
+ value.each { |k, v| hash[k] = _to_hash(v) }
258
+ end
259
+ elsif value.respond_to? :to_hash
260
+ value.to_hash
261
+ else
262
+ value
263
+ end
264
+ end
265
+
266
+ end
267
+
268
+ end
@@ -15,12 +15,15 @@ require 'time'
15
15
 
16
16
  module FuseClient
17
17
  class CreateLinkTokenRequest
18
- # The destination URL to which any webhooks should be sent.
19
- attr_accessor :webhook_url
18
+ # An id that is unique for an institution.
19
+ attr_accessor :institution_id
20
20
 
21
21
  # An id that is unique for a user of your application.
22
22
  attr_accessor :user_id
23
23
 
24
+ # The name of your application.
25
+ attr_accessor :client_name
26
+
24
27
  # The session client secret created from the 'Create session client secret' endpoint
25
28
  attr_accessor :session_client_secret
26
29
 
@@ -28,17 +31,15 @@ module FuseClient
28
31
 
29
32
  attr_accessor :plaid
30
33
 
31
- attr_accessor :institution_id
32
-
33
34
  # Attribute mapping from ruby-style variable name to JSON key.
34
35
  def self.attribute_map
35
36
  {
36
- :'webhook_url' => :'webhook_url',
37
+ :'institution_id' => :'institution_id',
37
38
  :'user_id' => :'user_id',
39
+ :'client_name' => :'client_name',
38
40
  :'session_client_secret' => :'session_client_secret',
39
41
  :'mx' => :'mx',
40
- :'plaid' => :'plaid',
41
- :'institution_id' => :'institution_id'
42
+ :'plaid' => :'plaid'
42
43
  }
43
44
  end
44
45
 
@@ -50,12 +51,12 @@ module FuseClient
50
51
  # Attribute type mapping.
51
52
  def self.openapi_types
52
53
  {
53
- :'webhook_url' => :'String',
54
+ :'institution_id' => :'String',
54
55
  :'user_id' => :'String',
56
+ :'client_name' => :'String',
55
57
  :'session_client_secret' => :'String',
56
58
  :'mx' => :'CreateLinkTokenRequestMx',
57
- :'plaid' => :'CreateLinkTokenRequestPlaid',
58
- :'institution_id' => :'String'
59
+ :'plaid' => :'CreateLinkTokenRequestPlaid'
59
60
  }
60
61
  end
61
62
 
@@ -80,14 +81,18 @@ module FuseClient
80
81
  h[k.to_sym] = v
81
82
  }
82
83
 
83
- if attributes.key?(:'webhook_url')
84
- self.webhook_url = attributes[:'webhook_url']
84
+ if attributes.key?(:'institution_id')
85
+ self.institution_id = attributes[:'institution_id']
85
86
  end
86
87
 
87
88
  if attributes.key?(:'user_id')
88
89
  self.user_id = attributes[:'user_id']
89
90
  end
90
91
 
92
+ if attributes.key?(:'client_name')
93
+ self.client_name = attributes[:'client_name']
94
+ end
95
+
91
96
  if attributes.key?(:'session_client_secret')
92
97
  self.session_client_secret = attributes[:'session_client_secret']
93
98
  end
@@ -99,10 +104,6 @@ module FuseClient
99
104
  if attributes.key?(:'plaid')
100
105
  self.plaid = attributes[:'plaid']
101
106
  end
102
-
103
- if attributes.key?(:'institution_id')
104
- self.institution_id = attributes[:'institution_id']
105
- end
106
107
  end
107
108
 
108
109
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -133,12 +134,12 @@ module FuseClient
133
134
  def ==(o)
134
135
  return true if self.equal?(o)
135
136
  self.class == o.class &&
136
- webhook_url == o.webhook_url &&
137
+ institution_id == o.institution_id &&
137
138
  user_id == o.user_id &&
139
+ client_name == o.client_name &&
138
140
  session_client_secret == o.session_client_secret &&
139
141
  mx == o.mx &&
140
- plaid == o.plaid &&
141
- institution_id == o.institution_id
142
+ plaid == o.plaid
142
143
  end
143
144
 
144
145
  # @see the `==` method
@@ -150,7 +151,7 @@ module FuseClient
150
151
  # Calculates hash code according to all attributes.
151
152
  # @return [Integer] Hash code
152
153
  def hash
153
- [webhook_url, user_id, session_client_secret, mx, plaid, institution_id].hash
154
+ [institution_id, user_id, client_name, session_client_secret, mx, plaid].hash
154
155
  end
155
156
 
156
157
  # Builds the object from hash
@@ -16,7 +16,7 @@ require 'time'
16
16
  module FuseClient
17
17
  # An object specifying information about the MX configuration to use for deciding which MX supported financial institutions to display.
18
18
  class CreateLinkTokenRequestMx
19
- # Follows the same schema as MX's request a connect url(https://docs.mx.com/api#connect_request_a_url) schema. This is a stringified version of the config.
19
+ # Follows the same schema as MX's request a connect url(https://docs.mx.com/api#connect_request_a_url) schema.
20
20
  attr_accessor :config
21
21
 
22
22
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -14,8 +14,9 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module FuseClient
17
- # An object specifying information about the Plaid configuration to use when creating a link token. This option is required if Plaid was enabled when displaying the financial institutions to the user.
17
+ # An object specifying information about the Plaid configuration to use when creating a link token.
18
18
  class CreateLinkTokenRequestPlaid
19
+ # Follows the same schema as Plaid's Link Token Create Schema(https://plaid.com/docs/api/tokens/#linktokencreate). 'products', 'client_id', 'secret', 'client_user_id', 'client_name', 'webhook', 'institution_data' and 'country_codes' (only US supported right now) will be set by Fuse and override any values you set.
19
20
  attr_accessor :config
20
21
 
21
22
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -33,7 +34,7 @@ module FuseClient
33
34
  # Attribute type mapping.
34
35
  def self.openapi_types
35
36
  {
36
- :'config' => :'CreateLinkTokenRequestPlaidConfig'
37
+ :'config' => :'Object'
37
38
  }
38
39
  end
39
40
 
@@ -17,38 +17,14 @@ module FuseClient
17
17
  class CreateSessionRequest
18
18
  attr_accessor :supported_financial_institution_aggregators
19
19
 
20
- attr_accessor :mx
21
-
22
- attr_accessor :plaid
23
-
24
- class EnumAttributeValidator
25
- attr_reader :datatype
26
- attr_reader :allowable_values
27
-
28
- def initialize(datatype, allowable_values)
29
- @allowable_values = allowable_values.map do |value|
30
- case datatype.to_s
31
- when /Integer/i
32
- value.to_i
33
- when /Float/i
34
- value.to_f
35
- else
36
- value
37
- end
38
- end
39
- end
40
-
41
- def valid?(value)
42
- !value || allowable_values.include?(value)
43
- end
44
- end
20
+ # List of products that you would like the institutions to support
21
+ attr_accessor :products
45
22
 
46
23
  # Attribute mapping from ruby-style variable name to JSON key.
47
24
  def self.attribute_map
48
25
  {
49
26
  :'supported_financial_institution_aggregators' => :'supported_financial_institution_aggregators',
50
- :'mx' => :'mx',
51
- :'plaid' => :'plaid'
27
+ :'products' => :'products'
52
28
  }
53
29
  end
54
30
 
@@ -60,9 +36,8 @@ module FuseClient
60
36
  # Attribute type mapping.
61
37
  def self.openapi_types
62
38
  {
63
- :'supported_financial_institution_aggregators' => :'Array<String>',
64
- :'mx' => :'CreateSessionRequestMx',
65
- :'plaid' => :'CreateSessionRequestPlaid'
39
+ :'supported_financial_institution_aggregators' => :'Array<Aggregator>',
40
+ :'products' => :'Array<Product>'
66
41
  }
67
42
  end
68
43
 
@@ -93,12 +68,10 @@ module FuseClient
93
68
  end
94
69
  end
95
70
 
96
- if attributes.key?(:'mx')
97
- self.mx = attributes[:'mx']
98
- end
99
-
100
- if attributes.key?(:'plaid')
101
- self.plaid = attributes[:'plaid']
71
+ if attributes.key?(:'products')
72
+ if (value = attributes[:'products']).is_a?(Array)
73
+ self.products = value
74
+ end
102
75
  end
103
76
  end
104
77
 
@@ -110,6 +83,10 @@ module FuseClient
110
83
  invalid_properties.push('invalid value for "supported_financial_institution_aggregators", number of items must be greater than or equal to 1.')
111
84
  end
112
85
 
86
+ if !@products.nil? && @products.length < 1
87
+ invalid_properties.push('invalid value for "products", number of items must be greater than or equal to 1.')
88
+ end
89
+
113
90
  invalid_properties
114
91
  end
115
92
 
@@ -117,17 +94,37 @@ module FuseClient
117
94
  # @return true if the model is valid
118
95
  def valid?
119
96
  return false if !@supported_financial_institution_aggregators.nil? && @supported_financial_institution_aggregators.length < 1
97
+ return false if !@products.nil? && @products.length < 1
120
98
  true
121
99
  end
122
100
 
101
+ # Custom attribute writer method with validation
102
+ # @param [Object] supported_financial_institution_aggregators Value to be assigned
103
+ def supported_financial_institution_aggregators=(supported_financial_institution_aggregators)
104
+ if !supported_financial_institution_aggregators.nil? && supported_financial_institution_aggregators.length < 1
105
+ fail ArgumentError, 'invalid value for "supported_financial_institution_aggregators", number of items must be greater than or equal to 1.'
106
+ end
107
+
108
+ @supported_financial_institution_aggregators = supported_financial_institution_aggregators
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param [Object] products Value to be assigned
113
+ def products=(products)
114
+ if !products.nil? && products.length < 1
115
+ fail ArgumentError, 'invalid value for "products", number of items must be greater than or equal to 1.'
116
+ end
117
+
118
+ @products = products
119
+ end
120
+
123
121
  # Checks equality by comparing each attribute.
124
122
  # @param [Object] Object to be compared
125
123
  def ==(o)
126
124
  return true if self.equal?(o)
127
125
  self.class == o.class &&
128
126
  supported_financial_institution_aggregators == o.supported_financial_institution_aggregators &&
129
- mx == o.mx &&
130
- plaid == o.plaid
127
+ products == o.products
131
128
  end
132
129
 
133
130
  # @see the `==` method
@@ -139,7 +136,7 @@ module FuseClient
139
136
  # Calculates hash code according to all attributes.
140
137
  # @return [Integer] Hash code
141
138
  def hash
142
- [supported_financial_institution_aggregators, mx, plaid].hash
139
+ [supported_financial_institution_aggregators, products].hash
143
140
  end
144
141
 
145
142
  # Builds the object from hash
@@ -20,15 +20,11 @@ module FuseClient
20
20
 
21
21
  attr_accessor :ach
22
22
 
23
- # The exact data from the aggregator (ie plaid) that we retrieved the information from
24
- attr_accessor :remote_data
25
-
26
23
  # Attribute mapping from ruby-style variable name to JSON key.
27
24
  def self.attribute_map
28
25
  {
29
26
  :'remote_id' => :'remote_id',
30
- :'ach' => :'ach',
31
- :'remote_data' => :'remote_data'
27
+ :'ach' => :'ach'
32
28
  }
33
29
  end
34
30
 
@@ -41,8 +37,7 @@ module FuseClient
41
37
  def self.openapi_types
42
38
  {
43
39
  :'remote_id' => :'String',
44
- :'ach' => :'FinancialConnectionsAccountDetailsAch',
45
- :'remote_data' => :'Object'
40
+ :'ach' => :'FinancialConnectionsAccountDetailsAch'
46
41
  }
47
42
  end
48
43
 
@@ -74,10 +69,6 @@ module FuseClient
74
69
  if attributes.key?(:'ach')
75
70
  self.ach = attributes[:'ach']
76
71
  end
77
-
78
- if attributes.key?(:'remote_data')
79
- self.remote_data = attributes[:'remote_data']
80
- end
81
72
  end
82
73
 
83
74
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -99,8 +90,7 @@ module FuseClient
99
90
  return true if self.equal?(o)
100
91
  self.class == o.class &&
101
92
  remote_id == o.remote_id &&
102
- ach == o.ach &&
103
- remote_data == o.remote_data
93
+ ach == o.ach
104
94
  end
105
95
 
106
96
  # @see the `==` method
@@ -112,7 +102,7 @@ module FuseClient
112
102
  # Calculates hash code according to all attributes.
113
103
  # @return [Integer] Hash code
114
104
  def hash
115
- [remote_id, ach, remote_data].hash
105
+ [remote_id, ach].hash
116
106
  end
117
107
 
118
108
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module FuseClient
17
17
  class FinancialConnectionsHolding
18
+ # Remote account id associated with this holding
19
+ attr_accessor :remote_account_id
20
+
18
21
  # The original total value of the holding.
19
22
  attr_accessor :cost_basis
20
23
 
@@ -33,6 +36,7 @@ module FuseClient
33
36
  # Attribute mapping from ruby-style variable name to JSON key.
34
37
  def self.attribute_map
35
38
  {
39
+ :'remote_account_id' => :'remote_account_id',
36
40
  :'cost_basis' => :'cost_basis',
37
41
  :'value' => :'value',
38
42
  :'iso_currency_code' => :'iso_currency_code',
@@ -49,6 +53,7 @@ module FuseClient
49
53
  # Attribute type mapping.
50
54
  def self.openapi_types
51
55
  {
56
+ :'remote_account_id' => :'String',
52
57
  :'cost_basis' => :'Float',
53
58
  :'value' => :'Float',
54
59
  :'iso_currency_code' => :'String',
@@ -78,6 +83,10 @@ module FuseClient
78
83
  h[k.to_sym] = v
79
84
  }
80
85
 
86
+ if attributes.key?(:'remote_account_id')
87
+ self.remote_account_id = attributes[:'remote_account_id']
88
+ end
89
+
81
90
  if attributes.key?(:'cost_basis')
82
91
  self.cost_basis = attributes[:'cost_basis']
83
92
  end
@@ -117,6 +126,7 @@ module FuseClient
117
126
  def ==(o)
118
127
  return true if self.equal?(o)
119
128
  self.class == o.class &&
129
+ remote_account_id == o.remote_account_id &&
120
130
  cost_basis == o.cost_basis &&
121
131
  value == o.value &&
122
132
  iso_currency_code == o.iso_currency_code &&
@@ -133,7 +143,7 @@ module FuseClient
133
143
  # Calculates hash code according to all attributes.
134
144
  # @return [Integer] Hash code
135
145
  def hash
136
- [cost_basis, value, iso_currency_code, quantity, security_id].hash
146
+ [remote_account_id, cost_basis, value, iso_currency_code, quantity, security_id].hash
137
147
  end
138
148
 
139
149
  # Builds the object from hash