fuse_client 0.3.2 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
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