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,375 @@
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
+ # Deposit Account
9
+ class DepositAccount < 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 [ErrorEntityDepositAccount]
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
+ # Annual Percentage Yield. If account type = CD, required.
106
+ # @return [Float]
107
+ attr_accessor :annual_percentage_yield
108
+
109
+ # Term of CD in months
110
+ # @return [Integer]
111
+ attr_accessor :term
112
+
113
+ # Maturity date for CDs. If account type = CD, required.
114
+ # @return [DateTime]
115
+ attr_accessor :maturity_date
116
+
117
+ # A mapping from model property names to API property names.
118
+ def self.names
119
+ @_hash = {} if @_hash.nil?
120
+ @_hash['account_id'] = 'accountId'
121
+ @_hash['account_type'] = 'accountType'
122
+ @_hash['account_number_display'] = 'accountNumberDisplay'
123
+ @_hash['currency'] = 'currency'
124
+ @_hash['description'] = 'description'
125
+ @_hash['error'] = 'error'
126
+ @_hash['fi_attributes'] = 'fiAttributes'
127
+ @_hash['nickname'] = 'nickname'
128
+ @_hash['product_name'] = 'productName'
129
+ @_hash['status'] = 'status'
130
+ @_hash['line_of_business'] = 'lineOfBusiness'
131
+ @_hash['balance_type'] = 'balanceType'
132
+ @_hash['interest_rate'] = 'interestRate'
133
+ @_hash['interest_rate_type'] = 'interestRateType'
134
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
135
+ @_hash['last_activity_date'] = 'lastActivityDate'
136
+ @_hash['micr_number'] = 'micrNumber'
137
+ @_hash['parent_account_id'] = 'parentAccountId'
138
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
139
+ @_hash['transfer_in'] = 'transferIn'
140
+ @_hash['transfer_out'] = 'transferOut'
141
+ @_hash['annual_percentage_yield'] = 'annualPercentageYield'
142
+ @_hash['term'] = 'term'
143
+ @_hash['maturity_date'] = 'maturityDate'
144
+ @_hash
145
+ end
146
+
147
+ # An array for optional fields
148
+ def self.optionals
149
+ %w[
150
+ account_type
151
+ account_number_display
152
+ currency
153
+ description
154
+ error
155
+ fi_attributes
156
+ nickname
157
+ product_name
158
+ status
159
+ line_of_business
160
+ balance_type
161
+ interest_rate
162
+ interest_rate_type
163
+ interest_rate_as_of
164
+ last_activity_date
165
+ micr_number
166
+ parent_account_id
167
+ prior_interest_rate
168
+ transfer_in
169
+ transfer_out
170
+ annual_percentage_yield
171
+ term
172
+ maturity_date
173
+ ]
174
+ end
175
+
176
+ # An array for nullable fields
177
+ def self.nullables
178
+ []
179
+ end
180
+
181
+ def initialize(account_id:, account_type: SKIP,
182
+ account_number_display: SKIP, currency: SKIP,
183
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
184
+ nickname: SKIP, product_name: SKIP, status: SKIP,
185
+ line_of_business: SKIP, balance_type: SKIP,
186
+ interest_rate: SKIP, interest_rate_type: SKIP,
187
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
188
+ micr_number: SKIP, parent_account_id: SKIP,
189
+ prior_interest_rate: SKIP, transfer_in: SKIP,
190
+ transfer_out: SKIP, annual_percentage_yield: SKIP,
191
+ term: SKIP, maturity_date: SKIP, additional_properties: nil)
192
+ # Add additional model properties to the instance
193
+ additional_properties = {} if additional_properties.nil?
194
+
195
+ @account_id = account_id
196
+ @account_type = account_type unless account_type == SKIP
197
+ @account_number_display = account_number_display unless account_number_display == SKIP
198
+ @currency = currency unless currency == SKIP
199
+ @description = description unless description == SKIP
200
+ @error = error unless error == SKIP
201
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
202
+ @nickname = nickname unless nickname == SKIP
203
+ @product_name = product_name unless product_name == SKIP
204
+ @status = status unless status == SKIP
205
+ @line_of_business = line_of_business unless line_of_business == SKIP
206
+ @balance_type = balance_type unless balance_type == SKIP
207
+ @interest_rate = interest_rate unless interest_rate == SKIP
208
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
209
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
210
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
211
+ @micr_number = micr_number unless micr_number == SKIP
212
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
213
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
214
+ @transfer_in = transfer_in unless transfer_in == SKIP
215
+ @transfer_out = transfer_out unless transfer_out == SKIP
216
+ @annual_percentage_yield = annual_percentage_yield unless annual_percentage_yield == SKIP
217
+ @term = term unless term == SKIP
218
+ @maturity_date = maturity_date unless maturity_date == SKIP
219
+ @additional_properties = additional_properties
220
+ end
221
+
222
+ # Creates an instance of the object from a hash.
223
+ def self.from_hash(hash)
224
+ return nil unless hash
225
+
226
+ # Extract variables from the hash.
227
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
228
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
229
+ account_number_display =
230
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
231
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
232
+ description = hash.key?('description') ? hash['description'] : SKIP
233
+ error = ErrorEntityDepositAccount.from_hash(hash['error']) if hash['error']
234
+ # Parameter is an array, so we need to iterate through it
235
+ fi_attributes = nil
236
+ unless hash['fiAttributes'].nil?
237
+ fi_attributes = []
238
+ hash['fiAttributes'].each do |structure|
239
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
240
+ end
241
+ end
242
+
243
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
244
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
245
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
246
+ status = hash.key?('status') ? hash['status'] : SKIP
247
+ line_of_business =
248
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
249
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
250
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
251
+ interest_rate_type =
252
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
253
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
254
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
255
+ else
256
+ SKIP
257
+ end
258
+ last_activity_date = if hash.key?('lastActivityDate')
259
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
260
+ else
261
+ SKIP
262
+ end
263
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
264
+ parent_account_id =
265
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
266
+ prior_interest_rate =
267
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
268
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
269
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
270
+ annual_percentage_yield =
271
+ hash.key?('annualPercentageYield') ? hash['annualPercentageYield'] : SKIP
272
+ term = hash.key?('term') ? hash['term'] : SKIP
273
+ maturity_date = if hash.key?('maturityDate')
274
+ (DateTimeHelper.from_rfc3339(hash['maturityDate']) if hash['maturityDate'])
275
+ else
276
+ SKIP
277
+ end
278
+
279
+ # Create a new hash for additional properties, removing known properties.
280
+ new_hash = hash.reject { |k, _| names.value?(k) }
281
+
282
+ additional_properties = APIHelper.get_additional_properties(
283
+ new_hash, proc { |value| value }
284
+ )
285
+
286
+ # Create object from extracted values.
287
+ DepositAccount.new(account_id: account_id,
288
+ account_type: account_type,
289
+ account_number_display: account_number_display,
290
+ currency: currency,
291
+ description: description,
292
+ error: error,
293
+ fi_attributes: fi_attributes,
294
+ nickname: nickname,
295
+ product_name: product_name,
296
+ status: status,
297
+ line_of_business: line_of_business,
298
+ balance_type: balance_type,
299
+ interest_rate: interest_rate,
300
+ interest_rate_type: interest_rate_type,
301
+ interest_rate_as_of: interest_rate_as_of,
302
+ last_activity_date: last_activity_date,
303
+ micr_number: micr_number,
304
+ parent_account_id: parent_account_id,
305
+ prior_interest_rate: prior_interest_rate,
306
+ transfer_in: transfer_in,
307
+ transfer_out: transfer_out,
308
+ annual_percentage_yield: annual_percentage_yield,
309
+ term: term,
310
+ maturity_date: maturity_date,
311
+ additional_properties: additional_properties)
312
+ end
313
+
314
+ def to_custom_interest_rate_as_of
315
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
316
+ end
317
+
318
+ def to_custom_last_activity_date
319
+ DateTimeHelper.to_rfc3339(last_activity_date)
320
+ end
321
+
322
+ def to_custom_maturity_date
323
+ DateTimeHelper.to_rfc3339(maturity_date)
324
+ end
325
+
326
+ # Validates an instance of the object from a given value.
327
+ # @param [DepositAccount | Hash] The value against the validation is performed.
328
+ def self.validate(value)
329
+ if value.instance_of? self
330
+ return APIHelper.valid_type?(value.account_id,
331
+ ->(val) { val.instance_of? String })
332
+ end
333
+
334
+ return false unless value.instance_of? Hash
335
+
336
+ APIHelper.valid_type?(value['accountId'],
337
+ ->(val) { val.instance_of? String })
338
+ end
339
+
340
+ # Provides a human-readable string representation of the object.
341
+ def to_s
342
+ class_name = self.class.name.split('::').last
343
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
344
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
345
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
346
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
347
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
348
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
349
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
350
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
351
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, annual_percentage_yield:"\
352
+ " #{@annual_percentage_yield}, term: #{@term}, maturity_date: #{@maturity_date},"\
353
+ " additional_properties: #{@additional_properties}>"
354
+ end
355
+
356
+ # Provides a debugging-friendly string with detailed object information.
357
+ def inspect
358
+ class_name = self.class.name.split('::').last
359
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
360
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
361
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
362
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
363
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
364
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
365
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
366
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
367
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
368
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
369
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
370
+ " annual_percentage_yield: #{@annual_percentage_yield.inspect}, term: #{@term.inspect},"\
371
+ " maturity_date: #{@maturity_date.inspect}, additional_properties:"\
372
+ " #{@additional_properties}>"
373
+ end
374
+ end
375
+ end
@@ -0,0 +1,86 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # DepositAccountInfo Model.
8
+ class DepositAccountInfo < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Deposit Account
13
+ # @return [DepositAccount]
14
+ attr_accessor :deposit_account
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['deposit_account'] = 'depositAccount'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ deposit_account
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(deposit_account: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @deposit_account = deposit_account unless deposit_account == 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
+ deposit_account = DepositAccount.from_hash(hash['depositAccount']) if hash['depositAccount']
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
+ DepositAccountInfo.new(deposit_account: deposit_account,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Validates an instance of the object from a given value.
63
+ # @param [DepositAccountInfo | Hash] The value against the validation is performed.
64
+ def self.validate(value)
65
+ return true if value.instance_of? self
66
+
67
+ return false unless value.instance_of? Hash
68
+
69
+ true
70
+ end
71
+
72
+ # Provides a human-readable string representation of the object.
73
+ def to_s
74
+ class_name = self.class.name.split('::').last
75
+ "<#{class_name} deposit_account: #{@deposit_account}, additional_properties:"\
76
+ " #{@additional_properties}>"
77
+ end
78
+
79
+ # Provides a debugging-friendly string with detailed object information.
80
+ def inspect
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} deposit_account: #{@deposit_account.inspect}, additional_properties:"\
83
+ " #{@additional_properties}>"
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,87 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # DepositBalanceDetails Model.
8
+ class DepositBalanceDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Data elements included with balances specific to deposit accounts
13
+ # @return [DepositBalances]
14
+ attr_accessor :deposit_account
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['deposit_account'] = 'depositAccount'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ deposit_account
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(deposit_account: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @deposit_account = deposit_account unless deposit_account == 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
+ deposit_account = DepositBalances.from_hash(hash['depositAccount']) if
49
+ hash['depositAccount']
50
+
51
+ # Create a new hash for additional properties, removing known properties.
52
+ new_hash = hash.reject { |k, _| names.value?(k) }
53
+
54
+ additional_properties = APIHelper.get_additional_properties(
55
+ new_hash, proc { |value| value }
56
+ )
57
+
58
+ # Create object from extracted values.
59
+ DepositBalanceDetails.new(deposit_account: deposit_account,
60
+ additional_properties: additional_properties)
61
+ end
62
+
63
+ # Validates an instance of the object from a given value.
64
+ # @param [DepositBalanceDetails | Hash] The value against the validation is performed.
65
+ def self.validate(value)
66
+ return true if value.instance_of? self
67
+
68
+ return false unless value.instance_of? Hash
69
+
70
+ true
71
+ end
72
+
73
+ # Provides a human-readable string representation of the object.
74
+ def to_s
75
+ class_name = self.class.name.split('::').last
76
+ "<#{class_name} deposit_account: #{@deposit_account}, additional_properties:"\
77
+ " #{@additional_properties}>"
78
+ end
79
+
80
+ # Provides a debugging-friendly string with detailed object information.
81
+ def inspect
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} deposit_account: #{@deposit_account.inspect}, additional_properties:"\
84
+ " #{@additional_properties}>"
85
+ end
86
+ end
87
+ end