apimatic-ak-sdk 0.0.1

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 (229) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +190 -0
  4. data/bin/console +15 -0
  5. data/lib/akoya/api_helper.rb +10 -0
  6. data/lib/akoya/client.rb +117 -0
  7. data/lib/akoya/configuration.rb +195 -0
  8. data/lib/akoya/controllers/account_information_controller.rb +93 -0
  9. data/lib/akoya/controllers/balances_controller.rb +92 -0
  10. data/lib/akoya/controllers/base_controller.rb +65 -0
  11. data/lib/akoya/controllers/customers_controller.rb +112 -0
  12. data/lib/akoya/controllers/investments_controller.rb +95 -0
  13. data/lib/akoya/controllers/payments_controller.rb +70 -0
  14. data/lib/akoya/controllers/statements_controller.rb +158 -0
  15. data/lib/akoya/controllers/tokens_controller.rb +122 -0
  16. data/lib/akoya/controllers/transactions_controller.rb +108 -0
  17. data/lib/akoya/exceptions/api_exception.rb +21 -0
  18. data/lib/akoya/exceptions/error_entity_exception.rb +54 -0
  19. data/lib/akoya/exceptions/error_response_exception.rb +53 -0
  20. data/lib/akoya/http/api_response.rb +19 -0
  21. data/lib/akoya/http/auth/basic_auth.rb +62 -0
  22. data/lib/akoya/http/auth/bearer_auth.rb +53 -0
  23. data/lib/akoya/http/http_call_back.rb +10 -0
  24. data/lib/akoya/http/http_method_enum.rb +10 -0
  25. data/lib/akoya/http/http_request.rb +10 -0
  26. data/lib/akoya/http/http_response.rb +10 -0
  27. data/lib/akoya/http/proxy_settings.rb +22 -0
  28. data/lib/akoya/logging/configuration/api_logging_configuration.rb +186 -0
  29. data/lib/akoya/logging/sdk_logger.rb +17 -0
  30. data/lib/akoya/models/account.rb +86 -0
  31. data/lib/akoya/models/account_category.rb +50 -0
  32. data/lib/akoya/models/account_contact_entity.rb +132 -0
  33. data/lib/akoya/models/account_holder_entity.rb +178 -0
  34. data/lib/akoya/models/account_holder_relationship.rb +110 -0
  35. data/lib/akoya/models/account_holder_relationship_account_holder_entity.rb +110 -0
  36. data/lib/akoya/models/account_information.rb +335 -0
  37. data/lib/akoya/models/action.rb +48 -0
  38. data/lib/akoya/models/address.rb +144 -0
  39. data/lib/akoya/models/akoya_account_info_product.rb +88 -0
  40. data/lib/akoya/models/an_array_of_statements.rb +95 -0
  41. data/lib/akoya/models/an_investment_holding.rb +493 -0
  42. data/lib/akoya/models/annual_increase_type.rb +40 -0
  43. data/lib/akoya/models/annuity_account.rb +370 -0
  44. data/lib/akoya/models/annuity_account_info.rb +86 -0
  45. data/lib/akoya/models/annuity_balance_details.rb +87 -0
  46. data/lib/akoya/models/annuity_balances.rb +477 -0
  47. data/lib/akoya/models/annuity_product_type.rb +36 -0
  48. data/lib/akoya/models/annuity_value_basis.rb +36 -0
  49. data/lib/akoya/models/array_of_account_payment_networks.rb +85 -0
  50. data/lib/akoya/models/asset_class.rb +95 -0
  51. data/lib/akoya/models/asset_class_an_investment_holding.rb +85 -0
  52. data/lib/akoya/models/asset_class_asset_class.rb +56 -0
  53. data/lib/akoya/models/asset_class_citi_bank_investment_holdings.rb +86 -0
  54. data/lib/akoya/models/balance_type.rb +37 -0
  55. data/lib/akoya/models/balance_type_investment_balance_list.rb +36 -0
  56. data/lib/akoya/models/balances.rb +88 -0
  57. data/lib/akoya/models/base_model.rb +110 -0
  58. data/lib/akoya/models/business_customer_entity.rb +127 -0
  59. data/lib/akoya/models/business_customer_entity_account_holder_entity.rb +126 -0
  60. data/lib/akoya/models/business_customer_entity_customer.rb +126 -0
  61. data/lib/akoya/models/call_type.rb +44 -0
  62. data/lib/akoya/models/citi_bank_investment.rb +535 -0
  63. data/lib/akoya/models/citi_bank_investment_details.rb +75 -0
  64. data/lib/akoya/models/citi_bank_investment_holdings.rb +210 -0
  65. data/lib/akoya/models/compounding_period.rb +56 -0
  66. data/lib/akoya/models/contribution_entity.rb +266 -0
  67. data/lib/akoya/models/coupon_mature_frequency.rb +48 -0
  68. data/lib/akoya/models/currency.rb +108 -0
  69. data/lib/akoya/models/currency_citi_bank_investment_holdings.rb +86 -0
  70. data/lib/akoya/models/currency_entity.rb +109 -0
  71. data/lib/akoya/models/current_customer.rb +75 -0
  72. data/lib/akoya/models/customer.rb +164 -0
  73. data/lib/akoya/models/customer_current_customer.rb +164 -0
  74. data/lib/akoya/models/customer_name.rb +127 -0
  75. data/lib/akoya/models/customer_name_account_holder_entity.rb +127 -0
  76. data/lib/akoya/models/customer_name_customer.rb +127 -0
  77. data/lib/akoya/models/debit_credit_memo.rb +37 -0
  78. data/lib/akoya/models/debt_class.rb +44 -0
  79. data/lib/akoya/models/debt_security.rb +137 -0
  80. data/lib/akoya/models/debt_security_entity.rb +216 -0
  81. data/lib/akoya/models/debt_type.rb +36 -0
  82. data/lib/akoya/models/delivery_address.rb +153 -0
  83. data/lib/akoya/models/deposit_account.rb +375 -0
  84. data/lib/akoya/models/deposit_account_info.rb +86 -0
  85. data/lib/akoya/models/deposit_balance_details.rb +87 -0
  86. data/lib/akoya/models/deposit_balances.rb +438 -0
  87. data/lib/akoya/models/deposit_transaction.rb +369 -0
  88. data/lib/akoya/models/deposit_transaction_details.rb +87 -0
  89. data/lib/akoya/models/domicile.rb +85 -0
  90. data/lib/akoya/models/equity_grant.rb +199 -0
  91. data/lib/akoya/models/error_entity_account_information.rb +97 -0
  92. data/lib/akoya/models/error_entity_annuity_account.rb +97 -0
  93. data/lib/akoya/models/error_entity_annuity_balances.rb +97 -0
  94. data/lib/akoya/models/error_entity_citi_bank_investment.rb +97 -0
  95. data/lib/akoya/models/error_entity_deposit_account.rb +97 -0
  96. data/lib/akoya/models/error_entity_deposit_balances.rb +97 -0
  97. data/lib/akoya/models/error_entity_insurance_account.rb +97 -0
  98. data/lib/akoya/models/error_entity_insurance_balances.rb +97 -0
  99. data/lib/akoya/models/error_entity_investment_account.rb +97 -0
  100. data/lib/akoya/models/error_entity_investment_balances.rb +97 -0
  101. data/lib/akoya/models/error_entity_line_of_credit_balances.rb +97 -0
  102. data/lib/akoya/models/error_entity_loan_account.rb +97 -0
  103. data/lib/akoya/models/error_entity_loan_balances.rb +97 -0
  104. data/lib/akoya/models/error_entity_us_bank_investment.rb +97 -0
  105. data/lib/akoya/models/fi_asset_class.rb +95 -0
  106. data/lib/akoya/models/fi_asset_class_an_investment_holding.rb +85 -0
  107. data/lib/akoya/models/fi_attribute.rb +95 -0
  108. data/lib/akoya/models/fi_attribute_entity.rb +95 -0
  109. data/lib/akoya/models/frequency.rb +56 -0
  110. data/lib/akoya/models/hateoas_link.rb +105 -0
  111. data/lib/akoya/models/held_in_account.rb +44 -0
  112. data/lib/akoya/models/holding_sub_type.rb +36 -0
  113. data/lib/akoya/models/holding_type.rb +56 -0
  114. data/lib/akoya/models/income_type.rb +41 -0
  115. data/lib/akoya/models/industry_code.rb +85 -0
  116. data/lib/akoya/models/insurance_account.rb +349 -0
  117. data/lib/akoya/models/insurance_account_info.rb +87 -0
  118. data/lib/akoya/models/insurance_balance_details.rb +87 -0
  119. data/lib/akoya/models/insurance_balances.rb +420 -0
  120. data/lib/akoya/models/insurance_transaction.rb +351 -0
  121. data/lib/akoya/models/insurance_transaction_details.rb +87 -0
  122. data/lib/akoya/models/interest_rate_type.rb +36 -0
  123. data/lib/akoya/models/inv401_k_source.rb +56 -0
  124. data/lib/akoya/models/inv401_k_source_open_order_entity.rb +57 -0
  125. data/lib/akoya/models/inv401_k_surce.rb +56 -0
  126. data/lib/akoya/models/investment_account.rb +411 -0
  127. data/lib/akoya/models/investment_account_annuity_balance.rb +87 -0
  128. data/lib/akoya/models/investment_account_deposit_balance.rb +87 -0
  129. data/lib/akoya/models/investment_account_info.rb +87 -0
  130. data/lib/akoya/models/investment_account_insurance_balance.rb +87 -0
  131. data/lib/akoya/models/investment_account_loan_balance.rb +86 -0
  132. data/lib/akoya/models/investment_account_loc_balance.rb +86 -0
  133. data/lib/akoya/models/investment_balance_details.rb +87 -0
  134. data/lib/akoya/models/investment_balance_list.rb +148 -0
  135. data/lib/akoya/models/investment_balances.rb +525 -0
  136. data/lib/akoya/models/investment_details.rb +88 -0
  137. data/lib/akoya/models/investment_loan_entity.rb +271 -0
  138. data/lib/akoya/models/investment_transaction.rb +783 -0
  139. data/lib/akoya/models/investment_transaction_details.rb +87 -0
  140. data/lib/akoya/models/investments.rb +88 -0
  141. data/lib/akoya/models/line_item.rb +156 -0
  142. data/lib/akoya/models/line_of_credit_balances.rb +601 -0
  143. data/lib/akoya/models/links.rb +95 -0
  144. data/lib/akoya/models/loan_account.rb +417 -0
  145. data/lib/akoya/models/loan_account_info.rb +86 -0
  146. data/lib/akoya/models/loan_balance_details.rb +86 -0
  147. data/lib/akoya/models/loan_balances.rb +556 -0
  148. data/lib/akoya/models/loan_payment_frequency.rb +68 -0
  149. data/lib/akoya/models/loan_transaction.rb +360 -0
  150. data/lib/akoya/models/loan_transaction_details.rb +87 -0
  151. data/lib/akoya/models/loc_account_info.rb +86 -0
  152. data/lib/akoya/models/loc_balance_details.rb +86 -0
  153. data/lib/akoya/models/loc_transaction.rb +372 -0
  154. data/lib/akoya/models/loc_transaction_details.rb +86 -0
  155. data/lib/akoya/models/mnext.rb +84 -0
  156. data/lib/akoya/models/mode.rb +36 -0
  157. data/lib/akoya/models/mutual_fund_security.rb +99 -0
  158. data/lib/akoya/models/mutual_fund_security_entity.rb +150 -0
  159. data/lib/akoya/models/mutual_fund_type.rb +40 -0
  160. data/lib/akoya/models/obtain_tokens.rb +99 -0
  161. data/lib/akoya/models/open_order_entity.rb +228 -0
  162. data/lib/akoya/models/option_security.rb +125 -0
  163. data/lib/akoya/models/option_security_entity.rb +127 -0
  164. data/lib/akoya/models/option_type.rb +36 -0
  165. data/lib/akoya/models/order_duration.rb +40 -0
  166. data/lib/akoya/models/order_type.rb +60 -0
  167. data/lib/akoya/models/other_security_entity.rb +77 -0
  168. data/lib/akoya/models/paginated_array.rb +75 -0
  169. data/lib/akoya/models/payment_details.rb +142 -0
  170. data/lib/akoya/models/payment_frequency.rb +56 -0
  171. data/lib/akoya/models/payment_frequency_annuity_account.rb +44 -0
  172. data/lib/akoya/models/payment_frequency_annuity_balances.rb +44 -0
  173. data/lib/akoya/models/payment_network_supported_by_account.rb +129 -0
  174. data/lib/akoya/models/pension_source_entity.rb +143 -0
  175. data/lib/akoya/models/period_certain_guarantee.rb +48 -0
  176. data/lib/akoya/models/policy_premium_term.rb +36 -0
  177. data/lib/akoya/models/position_type.rb +36 -0
  178. data/lib/akoya/models/postion_type.rb +36 -0
  179. data/lib/akoya/models/prev.rb +84 -0
  180. data/lib/akoya/models/refresh_tokens.rb +103 -0
  181. data/lib/akoya/models/secured.rb +36 -0
  182. data/lib/akoya/models/security_id_type.rb +52 -0
  183. data/lib/akoya/models/security_id_type_investment_transaction.rb +52 -0
  184. data/lib/akoya/models/security_type.rb +56 -0
  185. data/lib/akoya/models/statement_entity.rb +136 -0
  186. data/lib/akoya/models/status.rb +56 -0
  187. data/lib/akoya/models/status_deposit_transaction.rb +44 -0
  188. data/lib/akoya/models/status_insurance_transaction.rb +44 -0
  189. data/lib/akoya/models/status_investment_transaction.rb +44 -0
  190. data/lib/akoya/models/status_loan_transaction.rb +44 -0
  191. data/lib/akoya/models/status_loc_transaction.rb +44 -0
  192. data/lib/akoya/models/status_statement_entity.rb +40 -0
  193. data/lib/akoya/models/status_transaction.rb +44 -0
  194. data/lib/akoya/models/stock_security_entity.rb +137 -0
  195. data/lib/akoya/models/stock_type.rb +56 -0
  196. data/lib/akoya/models/sub_account.rb +44 -0
  197. data/lib/akoya/models/sub_account_fund.rb +44 -0
  198. data/lib/akoya/models/sub_account_sec.rb +44 -0
  199. data/lib/akoya/models/sweep_security_entity.rb +118 -0
  200. data/lib/akoya/models/tax_lot.rb +137 -0
  201. data/lib/akoya/models/tax_lot_an_investment_holding.rb +139 -0
  202. data/lib/akoya/models/telephone.rb +95 -0
  203. data/lib/akoya/models/telephone_number.rb +95 -0
  204. data/lib/akoya/models/token_example_response.rb +101 -0
  205. data/lib/akoya/models/transaction.rb +328 -0
  206. data/lib/akoya/models/transaction_reason.rb +41 -0
  207. data/lib/akoya/models/transaction_type.rb +84 -0
  208. data/lib/akoya/models/transaction_type_insurance_transaction.rb +44 -0
  209. data/lib/akoya/models/transaction_type_investment_transaction.rb +192 -0
  210. data/lib/akoya/models/transaction_type_loan_transaction.rb +44 -0
  211. data/lib/akoya/models/transaction_type_loc_transaction.rb +84 -0
  212. data/lib/akoya/models/transactions_entity.rb +98 -0
  213. data/lib/akoya/models/transfer_action.rb +36 -0
  214. data/lib/akoya/models/type.rb +44 -0
  215. data/lib/akoya/models/type_hateoas_link.rb +52 -0
  216. data/lib/akoya/models/type_telephone_number.rb +44 -0
  217. data/lib/akoya/models/unit_type.rb +36 -0
  218. data/lib/akoya/models/unit_type_open_order_entity.rb +36 -0
  219. data/lib/akoya/models/us_bank_investment.rb +535 -0
  220. data/lib/akoya/models/us_bank_investment_details.rb +75 -0
  221. data/lib/akoya/models/us_bank_investment_holdings.rb +403 -0
  222. data/lib/akoya/models/vesting.rb +135 -0
  223. data/lib/akoya/models/vesting_entity.rb +185 -0
  224. data/lib/akoya/models/x_akoya_interaction_type.rb +36 -0
  225. data/lib/akoya/utilities/date_time_helper.rb +11 -0
  226. data/lib/akoya/utilities/file_wrapper.rb +28 -0
  227. data/lib/akoya/utilities/union_type_lookup.rb +91 -0
  228. data/lib/akoya.rb +250 -0
  229. metadata +312 -0
@@ -0,0 +1,535 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require 'date'
7
+ module Akoya
8
+ # UsBankInvestment Model.
9
+ class UsBankInvestment < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Long-term persistent identity of the account. Not an account number. This
14
+ # identity must be unique to the owning institution.
15
+ # @return [String]
16
+ attr_accessor :account_id
17
+
18
+ # The type of an account. For instance, CHECKING, SAVINGS, 401K, etc.
19
+ # @return [String]
20
+ attr_accessor :account_type
21
+
22
+ # Account display number for the end user’s handle at owning institution.
23
+ # This is to be displayed by the Interface Provider.
24
+ # @return [String]
25
+ attr_accessor :account_number_display
26
+
27
+ # Indicates the currency code used by the account. May also include currency
28
+ # rate.
29
+ # @return [CurrencyEntity]
30
+ attr_accessor :currency
31
+
32
+ # Indicates the currency code used by the account. May also include currency
33
+ # rate.
34
+ # @return [String]
35
+ attr_accessor :description
36
+
37
+ # Present if an error was encountered while retrieving this account
38
+ # @return [ErrorEntityUsBankInvestment]
39
+ attr_accessor :error
40
+
41
+ # Present if an error was encountered while retrieving this account
42
+ # @return [Array[FiAttributeEntity]]
43
+ attr_accessor :fi_attributes
44
+
45
+ # Name given by the user. Used in UIs to assist in account selection
46
+ # @return [String]
47
+ attr_accessor :nickname
48
+
49
+ # Marketed product name for this account. Used in UIs to assist in account
50
+ # selection
51
+ # @return [String]
52
+ attr_accessor :product_name
53
+
54
+ # The status of an account.
55
+ # @return [Status]
56
+ attr_accessor :status
57
+
58
+ # The line of business, such as consumer, consumer joint, small business,
59
+ # corporate, etc.
60
+ # @return [String]
61
+ attr_accessor :line_of_business
62
+
63
+ # ASSET (positive transaction amount increases balance), LIABILITY (positive
64
+ # transaction amount decreases balance)
65
+ # @return [BalanceType]
66
+ attr_accessor :balance_type
67
+
68
+ # Interest Rate of Account
69
+ # @return [Float]
70
+ attr_accessor :interest_rate
71
+
72
+ # The type of interest rate. FIXED or VARIABLE.
73
+ # @return [InterestRateType]
74
+ attr_accessor :interest_rate_type
75
+
76
+ # Date of account’s interest rate
77
+ # @return [DateTime]
78
+ attr_accessor :interest_rate_as_of
79
+
80
+ # Date that last transaction occurred on account
81
+ # @return [DateTime]
82
+ attr_accessor :last_activity_date
83
+
84
+ # MICR Number. (Magnetic Ink Character Recognition)
85
+ # @return [String]
86
+ attr_accessor :micr_number
87
+
88
+ # Long-term persistent identity of the parent account. This is used to group
89
+ # accounts.
90
+ # @return [String]
91
+ attr_accessor :parent_account_id
92
+
93
+ # Previous Interest Rate of Account
94
+ # @return [Float]
95
+ attr_accessor :prior_interest_rate
96
+
97
+ # Account is eligible for incoming transfers
98
+ # @return [TrueClass | FalseClass]
99
+ attr_accessor :transfer_in
100
+
101
+ # Account is eligible for outgoing transfers
102
+ # @return [TrueClass | FalseClass]
103
+ attr_accessor :transfer_out
104
+
105
+ # Check writing privileges
106
+ # @return [TrueClass | FalseClass]
107
+ attr_accessor :allowed_check_writing
108
+
109
+ # Allowed to trade options
110
+ # @return [TrueClass | FalseClass]
111
+ attr_accessor :allowed_option_trade
112
+
113
+ # Unique identifier FI
114
+ # @return [String]
115
+ attr_accessor :broker_id
116
+
117
+ # Date for this calendar year for 401K account
118
+ # @return [String]
119
+ attr_accessor :calendar_year_for401_k
120
+
121
+ # Name of the employer in investment 401k Plan
122
+ # @return [String]
123
+ attr_accessor :employer_name
124
+
125
+ # Margin trading is allowed
126
+ # @return [TrueClass | FalseClass]
127
+ attr_accessor :margin
128
+
129
+ # Plan number for Investment 401k plan
130
+ # @return [String]
131
+ attr_accessor :plan_id
132
+
133
+ # Cash balance across all sub-accounts. Should include sweep funds.
134
+ # @return [Float]
135
+ attr_accessor :available_cash_balance
136
+
137
+ # As-of date of balances
138
+ # @return [DateTime]
139
+ attr_accessor :balance_as_of
140
+
141
+ # Balance List. Name value pair aggregate.
142
+ # @return [Array[InvestmentBalanceList]]
143
+ attr_accessor :balance_list
144
+
145
+ # Total current value of all investments
146
+ # @return [Float]
147
+ attr_accessor :current_value
148
+
149
+ # Daily change
150
+ # @return [Float]
151
+ attr_accessor :daily_change
152
+
153
+ # Margin balance
154
+ # @return [Float]
155
+ attr_accessor :margin_balance
156
+
157
+ # Percentage change
158
+ # @return [Float]
159
+ attr_accessor :percentage_change
160
+
161
+ # Rollover amount
162
+ # @return [Float]
163
+ attr_accessor :rollover_amount
164
+
165
+ # Short balance
166
+ # @return [Float]
167
+ attr_accessor :short_balance
168
+
169
+ # Short balance
170
+ # @return [UsBankInvestmentHoldings]
171
+ attr_accessor :holdings
172
+
173
+ # A mapping from model property names to API property names.
174
+ def self.names
175
+ @_hash = {} if @_hash.nil?
176
+ @_hash['account_id'] = 'accountId'
177
+ @_hash['account_type'] = 'accountType'
178
+ @_hash['account_number_display'] = 'accountNumberDisplay'
179
+ @_hash['currency'] = 'currency'
180
+ @_hash['description'] = 'description'
181
+ @_hash['error'] = 'error'
182
+ @_hash['fi_attributes'] = 'fiAttributes'
183
+ @_hash['nickname'] = 'nickname'
184
+ @_hash['product_name'] = 'productName'
185
+ @_hash['status'] = 'status'
186
+ @_hash['line_of_business'] = 'lineOfBusiness'
187
+ @_hash['balance_type'] = 'balanceType'
188
+ @_hash['interest_rate'] = 'interestRate'
189
+ @_hash['interest_rate_type'] = 'interestRateType'
190
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
191
+ @_hash['last_activity_date'] = 'lastActivityDate'
192
+ @_hash['micr_number'] = 'micrNumber'
193
+ @_hash['parent_account_id'] = 'parentAccountId'
194
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
195
+ @_hash['transfer_in'] = 'transferIn'
196
+ @_hash['transfer_out'] = 'transferOut'
197
+ @_hash['allowed_check_writing'] = 'allowedCheckWriting'
198
+ @_hash['allowed_option_trade'] = 'allowedOptionTrade'
199
+ @_hash['broker_id'] = 'brokerId'
200
+ @_hash['calendar_year_for401_k'] = 'calendarYearFor401K'
201
+ @_hash['employer_name'] = 'employerName'
202
+ @_hash['margin'] = 'margin'
203
+ @_hash['plan_id'] = 'planId'
204
+ @_hash['available_cash_balance'] = 'availableCashBalance'
205
+ @_hash['balance_as_of'] = 'balanceAsOf'
206
+ @_hash['balance_list'] = 'balanceList'
207
+ @_hash['current_value'] = 'currentValue'
208
+ @_hash['daily_change'] = 'dailyChange'
209
+ @_hash['margin_balance'] = 'marginBalance'
210
+ @_hash['percentage_change'] = 'percentageChange'
211
+ @_hash['rollover_amount'] = 'rolloverAmount'
212
+ @_hash['short_balance'] = 'shortBalance'
213
+ @_hash['holdings'] = 'holdings'
214
+ @_hash
215
+ end
216
+
217
+ # An array for optional fields
218
+ def self.optionals
219
+ %w[
220
+ account_type
221
+ account_number_display
222
+ currency
223
+ description
224
+ error
225
+ fi_attributes
226
+ nickname
227
+ product_name
228
+ status
229
+ line_of_business
230
+ balance_type
231
+ interest_rate
232
+ interest_rate_type
233
+ interest_rate_as_of
234
+ last_activity_date
235
+ micr_number
236
+ parent_account_id
237
+ prior_interest_rate
238
+ transfer_in
239
+ transfer_out
240
+ allowed_check_writing
241
+ allowed_option_trade
242
+ broker_id
243
+ calendar_year_for401_k
244
+ employer_name
245
+ margin
246
+ plan_id
247
+ available_cash_balance
248
+ balance_as_of
249
+ balance_list
250
+ current_value
251
+ daily_change
252
+ margin_balance
253
+ percentage_change
254
+ rollover_amount
255
+ short_balance
256
+ holdings
257
+ ]
258
+ end
259
+
260
+ # An array for nullable fields
261
+ def self.nullables
262
+ []
263
+ end
264
+
265
+ def initialize(account_id:, account_type: SKIP,
266
+ account_number_display: SKIP, currency: SKIP,
267
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
268
+ nickname: SKIP, product_name: SKIP, status: SKIP,
269
+ line_of_business: SKIP, balance_type: SKIP,
270
+ interest_rate: SKIP, interest_rate_type: SKIP,
271
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
272
+ micr_number: SKIP, parent_account_id: SKIP,
273
+ prior_interest_rate: SKIP, transfer_in: SKIP,
274
+ transfer_out: SKIP, allowed_check_writing: SKIP,
275
+ allowed_option_trade: SKIP, broker_id: SKIP,
276
+ calendar_year_for401_k: SKIP, employer_name: SKIP,
277
+ margin: SKIP, plan_id: SKIP, available_cash_balance: SKIP,
278
+ balance_as_of: SKIP, balance_list: SKIP, current_value: SKIP,
279
+ daily_change: SKIP, margin_balance: SKIP,
280
+ percentage_change: SKIP, rollover_amount: SKIP,
281
+ short_balance: SKIP, holdings: SKIP,
282
+ additional_properties: nil)
283
+ # Add additional model properties to the instance
284
+ additional_properties = {} if additional_properties.nil?
285
+
286
+ @account_id = account_id
287
+ @account_type = account_type unless account_type == SKIP
288
+ @account_number_display = account_number_display unless account_number_display == SKIP
289
+ @currency = currency unless currency == SKIP
290
+ @description = description unless description == SKIP
291
+ @error = error unless error == SKIP
292
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
293
+ @nickname = nickname unless nickname == SKIP
294
+ @product_name = product_name unless product_name == SKIP
295
+ @status = status unless status == SKIP
296
+ @line_of_business = line_of_business unless line_of_business == SKIP
297
+ @balance_type = balance_type unless balance_type == SKIP
298
+ @interest_rate = interest_rate unless interest_rate == SKIP
299
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
300
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
301
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
302
+ @micr_number = micr_number unless micr_number == SKIP
303
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
304
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
305
+ @transfer_in = transfer_in unless transfer_in == SKIP
306
+ @transfer_out = transfer_out unless transfer_out == SKIP
307
+ @allowed_check_writing = allowed_check_writing unless allowed_check_writing == SKIP
308
+ @allowed_option_trade = allowed_option_trade unless allowed_option_trade == SKIP
309
+ @broker_id = broker_id unless broker_id == SKIP
310
+ @calendar_year_for401_k = calendar_year_for401_k unless calendar_year_for401_k == SKIP
311
+ @employer_name = employer_name unless employer_name == SKIP
312
+ @margin = margin unless margin == SKIP
313
+ @plan_id = plan_id unless plan_id == SKIP
314
+ @available_cash_balance = available_cash_balance unless available_cash_balance == SKIP
315
+ @balance_as_of = balance_as_of unless balance_as_of == SKIP
316
+ @balance_list = balance_list unless balance_list == SKIP
317
+ @current_value = current_value unless current_value == SKIP
318
+ @daily_change = daily_change unless daily_change == SKIP
319
+ @margin_balance = margin_balance unless margin_balance == SKIP
320
+ @percentage_change = percentage_change unless percentage_change == SKIP
321
+ @rollover_amount = rollover_amount unless rollover_amount == SKIP
322
+ @short_balance = short_balance unless short_balance == SKIP
323
+ @holdings = holdings unless holdings == SKIP
324
+ @additional_properties = additional_properties
325
+ end
326
+
327
+ # Creates an instance of the object from a hash.
328
+ def self.from_hash(hash)
329
+ return nil unless hash
330
+
331
+ # Extract variables from the hash.
332
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
333
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
334
+ account_number_display =
335
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
336
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
337
+ description = hash.key?('description') ? hash['description'] : SKIP
338
+ error = ErrorEntityUsBankInvestment.from_hash(hash['error']) if hash['error']
339
+ # Parameter is an array, so we need to iterate through it
340
+ fi_attributes = nil
341
+ unless hash['fiAttributes'].nil?
342
+ fi_attributes = []
343
+ hash['fiAttributes'].each do |structure|
344
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
345
+ end
346
+ end
347
+
348
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
349
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
350
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
351
+ status = hash.key?('status') ? hash['status'] : SKIP
352
+ line_of_business =
353
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
354
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
355
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
356
+ interest_rate_type =
357
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
358
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
359
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
360
+ else
361
+ SKIP
362
+ end
363
+ last_activity_date = if hash.key?('lastActivityDate')
364
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
365
+ else
366
+ SKIP
367
+ end
368
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
369
+ parent_account_id =
370
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
371
+ prior_interest_rate =
372
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
373
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
374
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
375
+ allowed_check_writing =
376
+ hash.key?('allowedCheckWriting') ? hash['allowedCheckWriting'] : SKIP
377
+ allowed_option_trade =
378
+ hash.key?('allowedOptionTrade') ? hash['allowedOptionTrade'] : SKIP
379
+ broker_id = hash.key?('brokerId') ? hash['brokerId'] : SKIP
380
+ calendar_year_for401_k =
381
+ hash.key?('calendarYearFor401K') ? hash['calendarYearFor401K'] : SKIP
382
+ employer_name = hash.key?('employerName') ? hash['employerName'] : SKIP
383
+ margin = hash.key?('margin') ? hash['margin'] : SKIP
384
+ plan_id = hash.key?('planId') ? hash['planId'] : SKIP
385
+ available_cash_balance =
386
+ hash.key?('availableCashBalance') ? hash['availableCashBalance'] : SKIP
387
+ balance_as_of = if hash.key?('balanceAsOf')
388
+ (DateTimeHelper.from_rfc3339(hash['balanceAsOf']) if hash['balanceAsOf'])
389
+ else
390
+ SKIP
391
+ end
392
+ # Parameter is an array, so we need to iterate through it
393
+ balance_list = nil
394
+ unless hash['balanceList'].nil?
395
+ balance_list = []
396
+ hash['balanceList'].each do |structure|
397
+ balance_list << (InvestmentBalanceList.from_hash(structure) if structure)
398
+ end
399
+ end
400
+
401
+ balance_list = SKIP unless hash.key?('balanceList')
402
+ current_value = hash.key?('currentValue') ? hash['currentValue'] : SKIP
403
+ daily_change = hash.key?('dailyChange') ? hash['dailyChange'] : SKIP
404
+ margin_balance = hash.key?('marginBalance') ? hash['marginBalance'] : SKIP
405
+ percentage_change =
406
+ hash.key?('percentageChange') ? hash['percentageChange'] : SKIP
407
+ rollover_amount =
408
+ hash.key?('rolloverAmount') ? hash['rolloverAmount'] : SKIP
409
+ short_balance = hash.key?('shortBalance') ? hash['shortBalance'] : SKIP
410
+ holdings = UsBankInvestmentHoldings.from_hash(hash['holdings']) if hash['holdings']
411
+
412
+ # Create a new hash for additional properties, removing known properties.
413
+ new_hash = hash.reject { |k, _| names.value?(k) }
414
+
415
+ additional_properties = APIHelper.get_additional_properties(
416
+ new_hash, proc { |value| value }
417
+ )
418
+
419
+ # Create object from extracted values.
420
+ UsBankInvestment.new(account_id: account_id,
421
+ account_type: account_type,
422
+ account_number_display: account_number_display,
423
+ currency: currency,
424
+ description: description,
425
+ error: error,
426
+ fi_attributes: fi_attributes,
427
+ nickname: nickname,
428
+ product_name: product_name,
429
+ status: status,
430
+ line_of_business: line_of_business,
431
+ balance_type: balance_type,
432
+ interest_rate: interest_rate,
433
+ interest_rate_type: interest_rate_type,
434
+ interest_rate_as_of: interest_rate_as_of,
435
+ last_activity_date: last_activity_date,
436
+ micr_number: micr_number,
437
+ parent_account_id: parent_account_id,
438
+ prior_interest_rate: prior_interest_rate,
439
+ transfer_in: transfer_in,
440
+ transfer_out: transfer_out,
441
+ allowed_check_writing: allowed_check_writing,
442
+ allowed_option_trade: allowed_option_trade,
443
+ broker_id: broker_id,
444
+ calendar_year_for401_k: calendar_year_for401_k,
445
+ employer_name: employer_name,
446
+ margin: margin,
447
+ plan_id: plan_id,
448
+ available_cash_balance: available_cash_balance,
449
+ balance_as_of: balance_as_of,
450
+ balance_list: balance_list,
451
+ current_value: current_value,
452
+ daily_change: daily_change,
453
+ margin_balance: margin_balance,
454
+ percentage_change: percentage_change,
455
+ rollover_amount: rollover_amount,
456
+ short_balance: short_balance,
457
+ holdings: holdings,
458
+ additional_properties: additional_properties)
459
+ end
460
+
461
+ def to_custom_interest_rate_as_of
462
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
463
+ end
464
+
465
+ def to_custom_last_activity_date
466
+ DateTimeHelper.to_rfc3339(last_activity_date)
467
+ end
468
+
469
+ def to_custom_balance_as_of
470
+ DateTimeHelper.to_rfc3339(balance_as_of)
471
+ end
472
+
473
+ # Validates an instance of the object from a given value.
474
+ # @param [UsBankInvestment | Hash] The value against the validation is performed.
475
+ def self.validate(value)
476
+ if value.instance_of? self
477
+ return APIHelper.valid_type?(value.account_id,
478
+ ->(val) { val.instance_of? String })
479
+ end
480
+
481
+ return false unless value.instance_of? Hash
482
+
483
+ APIHelper.valid_type?(value['accountId'],
484
+ ->(val) { val.instance_of? String })
485
+ end
486
+
487
+ # Provides a human-readable string representation of the object.
488
+ def to_s
489
+ class_name = self.class.name.split('::').last
490
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
491
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
492
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
493
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
494
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
495
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
496
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
497
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
498
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, allowed_check_writing:"\
499
+ " #{@allowed_check_writing}, allowed_option_trade: #{@allowed_option_trade}, broker_id:"\
500
+ " #{@broker_id}, calendar_year_for401_k: #{@calendar_year_for401_k}, employer_name:"\
501
+ " #{@employer_name}, margin: #{@margin}, plan_id: #{@plan_id}, available_cash_balance:"\
502
+ " #{@available_cash_balance}, balance_as_of: #{@balance_as_of}, balance_list:"\
503
+ " #{@balance_list}, current_value: #{@current_value}, daily_change: #{@daily_change},"\
504
+ " margin_balance: #{@margin_balance}, percentage_change: #{@percentage_change},"\
505
+ " rollover_amount: #{@rollover_amount}, short_balance: #{@short_balance}, holdings:"\
506
+ " #{@holdings}, additional_properties: #{@additional_properties}>"
507
+ end
508
+
509
+ # Provides a debugging-friendly string with detailed object information.
510
+ def inspect
511
+ class_name = self.class.name.split('::').last
512
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
513
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
514
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
515
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
516
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
517
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
518
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
519
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
520
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
521
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
522
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
523
+ " allowed_check_writing: #{@allowed_check_writing.inspect}, allowed_option_trade:"\
524
+ " #{@allowed_option_trade.inspect}, broker_id: #{@broker_id.inspect},"\
525
+ " calendar_year_for401_k: #{@calendar_year_for401_k.inspect}, employer_name:"\
526
+ " #{@employer_name.inspect}, margin: #{@margin.inspect}, plan_id: #{@plan_id.inspect},"\
527
+ " available_cash_balance: #{@available_cash_balance.inspect}, balance_as_of:"\
528
+ " #{@balance_as_of.inspect}, balance_list: #{@balance_list.inspect}, current_value:"\
529
+ " #{@current_value.inspect}, daily_change: #{@daily_change.inspect}, margin_balance:"\
530
+ " #{@margin_balance.inspect}, percentage_change: #{@percentage_change.inspect},"\
531
+ " rollover_amount: #{@rollover_amount.inspect}, short_balance: #{@short_balance.inspect},"\
532
+ " holdings: #{@holdings.inspect}, additional_properties: #{@additional_properties}>"
533
+ end
534
+ end
535
+ end
@@ -0,0 +1,75 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # UsBankInvestmentDetails Model.
8
+ class UsBankInvestmentDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [UsBankInvestmentHoldings]
14
+ attr_accessor :holdings
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['holdings'] = 'holdings'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ holdings
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(holdings: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @holdings = holdings unless holdings == SKIP
40
+ @additional_properties = additional_properties
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ holdings = UsBankInvestmentHoldings.from_hash(hash['holdings']) if hash['holdings']
49
+
50
+ # Create a new hash for additional properties, removing known properties.
51
+ new_hash = hash.reject { |k, _| names.value?(k) }
52
+
53
+ additional_properties = APIHelper.get_additional_properties(
54
+ new_hash, proc { |value| value }
55
+ )
56
+
57
+ # Create object from extracted values.
58
+ UsBankInvestmentDetails.new(holdings: holdings,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Provides a human-readable string representation of the object.
63
+ def to_s
64
+ class_name = self.class.name.split('::').last
65
+ "<#{class_name} holdings: #{@holdings}, additional_properties: #{@additional_properties}>"
66
+ end
67
+
68
+ # Provides a debugging-friendly string with detailed object information.
69
+ def inspect
70
+ class_name = self.class.name.split('::').last
71
+ "<#{class_name} holdings: #{@holdings.inspect}, additional_properties:"\
72
+ " #{@additional_properties}>"
73
+ end
74
+ end
75
+ end