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,601 @@
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
+ # Data elements included with balances specific to line of credit accounts
9
+ class LineOfCreditBalances < 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 [ErrorEntityLineOfCreditBalances]
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
+ # As-of date of balances
106
+ # @return [DateTime]
107
+ attr_accessor :balance_as_of
108
+
109
+ # Advances APR
110
+ # @return [Float]
111
+ attr_accessor :advances_apr
112
+
113
+ # Available cash
114
+ # @return [Float]
115
+ attr_accessor :available_cash
116
+
117
+ # Available credit
118
+ # @return [Float]
119
+ attr_accessor :available_credit
120
+
121
+ # Cash advance limit
122
+ # @return [Float]
123
+ attr_accessor :cash_advance_limit
124
+
125
+ # Credit limit
126
+ # @return [Float]
127
+ attr_accessor :credit_line
128
+
129
+ # Current balance LOC
130
+ # @return [Float]
131
+ attr_accessor :current_balance
132
+
133
+ # Current rewards balance
134
+ # @return [Float]
135
+ attr_accessor :current_rewards_balance
136
+
137
+ # Finance charges
138
+ # @return [Float]
139
+ attr_accessor :finance_charges
140
+
141
+ # Last payment amount
142
+ # @return [Float]
143
+ attr_accessor :last_payment_amount
144
+
145
+ # Last payment date
146
+ # @return [DateTime]
147
+ attr_accessor :last_payment_date
148
+
149
+ # Last Statement Balance
150
+ # @return [Float]
151
+ attr_accessor :last_stmt_balance
152
+
153
+ # Last Statement Date
154
+ # @return [DateTime]
155
+ attr_accessor :last_stmt_date
156
+
157
+ # Minimum payment amount
158
+ # @return [Float]
159
+ attr_accessor :minimum_payment_amount
160
+
161
+ # Amount of next payment
162
+ # @return [Float]
163
+ attr_accessor :next_payment_amount
164
+
165
+ # Due date of next payment
166
+ # @return [DateTime]
167
+ attr_accessor :next_payment_date
168
+
169
+ # Past Due Amount
170
+ # @return [Float]
171
+ attr_accessor :past_due_amount
172
+
173
+ # Points accrued
174
+ # @return [Float]
175
+ attr_accessor :points_accrued
176
+
177
+ # Principal balance
178
+ # @return [Float]
179
+ attr_accessor :principal_balance
180
+
181
+ # Points redeemed
182
+ # @return [Float]
183
+ attr_accessor :points_redeemed
184
+
185
+ # Purchases APR
186
+ # @return [Float]
187
+ attr_accessor :purchases_apr
188
+
189
+ # A mapping from model property names to API property names.
190
+ def self.names
191
+ @_hash = {} if @_hash.nil?
192
+ @_hash['account_id'] = 'accountId'
193
+ @_hash['account_type'] = 'accountType'
194
+ @_hash['account_number_display'] = 'accountNumberDisplay'
195
+ @_hash['currency'] = 'currency'
196
+ @_hash['description'] = 'description'
197
+ @_hash['error'] = 'error'
198
+ @_hash['fi_attributes'] = 'fiAttributes'
199
+ @_hash['nickname'] = 'nickname'
200
+ @_hash['product_name'] = 'productName'
201
+ @_hash['status'] = 'status'
202
+ @_hash['line_of_business'] = 'lineOfBusiness'
203
+ @_hash['balance_type'] = 'balanceType'
204
+ @_hash['interest_rate'] = 'interestRate'
205
+ @_hash['interest_rate_type'] = 'interestRateType'
206
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
207
+ @_hash['last_activity_date'] = 'lastActivityDate'
208
+ @_hash['micr_number'] = 'micrNumber'
209
+ @_hash['parent_account_id'] = 'parentAccountId'
210
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
211
+ @_hash['transfer_in'] = 'transferIn'
212
+ @_hash['transfer_out'] = 'transferOut'
213
+ @_hash['balance_as_of'] = 'balanceAsOf'
214
+ @_hash['advances_apr'] = 'advancesApr'
215
+ @_hash['available_cash'] = 'availableCash'
216
+ @_hash['available_credit'] = 'availableCredit'
217
+ @_hash['cash_advance_limit'] = 'cashAdvanceLimit'
218
+ @_hash['credit_line'] = 'creditLine'
219
+ @_hash['current_balance'] = 'currentBalance'
220
+ @_hash['current_rewards_balance'] = 'currentRewardsBalance'
221
+ @_hash['finance_charges'] = 'financeCharges'
222
+ @_hash['last_payment_amount'] = 'lastPaymentAmount'
223
+ @_hash['last_payment_date'] = 'lastPaymentDate'
224
+ @_hash['last_stmt_balance'] = 'lastStmtBalance'
225
+ @_hash['last_stmt_date'] = 'lastStmtDate'
226
+ @_hash['minimum_payment_amount'] = 'minimumPaymentAmount'
227
+ @_hash['next_payment_amount'] = 'nextPaymentAmount'
228
+ @_hash['next_payment_date'] = 'nextPaymentDate'
229
+ @_hash['past_due_amount'] = 'pastDueAmount'
230
+ @_hash['points_accrued'] = 'pointsAccrued'
231
+ @_hash['principal_balance'] = 'principalBalance'
232
+ @_hash['points_redeemed'] = 'pointsRedeemed'
233
+ @_hash['purchases_apr'] = 'purchasesApr'
234
+ @_hash
235
+ end
236
+
237
+ # An array for optional fields
238
+ def self.optionals
239
+ %w[
240
+ account_type
241
+ account_number_display
242
+ currency
243
+ description
244
+ error
245
+ fi_attributes
246
+ nickname
247
+ product_name
248
+ status
249
+ line_of_business
250
+ balance_type
251
+ interest_rate
252
+ interest_rate_type
253
+ interest_rate_as_of
254
+ last_activity_date
255
+ micr_number
256
+ parent_account_id
257
+ prior_interest_rate
258
+ transfer_in
259
+ transfer_out
260
+ balance_as_of
261
+ advances_apr
262
+ available_cash
263
+ available_credit
264
+ cash_advance_limit
265
+ credit_line
266
+ current_balance
267
+ current_rewards_balance
268
+ finance_charges
269
+ last_payment_amount
270
+ last_payment_date
271
+ last_stmt_balance
272
+ last_stmt_date
273
+ minimum_payment_amount
274
+ next_payment_amount
275
+ next_payment_date
276
+ past_due_amount
277
+ points_accrued
278
+ principal_balance
279
+ points_redeemed
280
+ purchases_apr
281
+ ]
282
+ end
283
+
284
+ # An array for nullable fields
285
+ def self.nullables
286
+ []
287
+ end
288
+
289
+ def initialize(account_id:, account_type: SKIP,
290
+ account_number_display: SKIP, currency: SKIP,
291
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
292
+ nickname: SKIP, product_name: SKIP, status: SKIP,
293
+ line_of_business: SKIP, balance_type: SKIP,
294
+ interest_rate: SKIP, interest_rate_type: SKIP,
295
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
296
+ micr_number: SKIP, parent_account_id: SKIP,
297
+ prior_interest_rate: SKIP, transfer_in: SKIP,
298
+ transfer_out: SKIP, balance_as_of: SKIP, advances_apr: SKIP,
299
+ available_cash: SKIP, available_credit: SKIP,
300
+ cash_advance_limit: SKIP, credit_line: SKIP,
301
+ current_balance: SKIP, current_rewards_balance: SKIP,
302
+ finance_charges: SKIP, last_payment_amount: SKIP,
303
+ last_payment_date: SKIP, last_stmt_balance: SKIP,
304
+ last_stmt_date: SKIP, minimum_payment_amount: SKIP,
305
+ next_payment_amount: SKIP, next_payment_date: SKIP,
306
+ past_due_amount: SKIP, points_accrued: SKIP,
307
+ principal_balance: SKIP, points_redeemed: SKIP,
308
+ purchases_apr: SKIP, additional_properties: nil)
309
+ # Add additional model properties to the instance
310
+ additional_properties = {} if additional_properties.nil?
311
+
312
+ @account_id = account_id
313
+ @account_type = account_type unless account_type == SKIP
314
+ @account_number_display = account_number_display unless account_number_display == SKIP
315
+ @currency = currency unless currency == SKIP
316
+ @description = description unless description == SKIP
317
+ @error = error unless error == SKIP
318
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
319
+ @nickname = nickname unless nickname == SKIP
320
+ @product_name = product_name unless product_name == SKIP
321
+ @status = status unless status == SKIP
322
+ @line_of_business = line_of_business unless line_of_business == SKIP
323
+ @balance_type = balance_type unless balance_type == SKIP
324
+ @interest_rate = interest_rate unless interest_rate == SKIP
325
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
326
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
327
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
328
+ @micr_number = micr_number unless micr_number == SKIP
329
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
330
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
331
+ @transfer_in = transfer_in unless transfer_in == SKIP
332
+ @transfer_out = transfer_out unless transfer_out == SKIP
333
+ @balance_as_of = balance_as_of unless balance_as_of == SKIP
334
+ @advances_apr = advances_apr unless advances_apr == SKIP
335
+ @available_cash = available_cash unless available_cash == SKIP
336
+ @available_credit = available_credit unless available_credit == SKIP
337
+ @cash_advance_limit = cash_advance_limit unless cash_advance_limit == SKIP
338
+ @credit_line = credit_line unless credit_line == SKIP
339
+ @current_balance = current_balance unless current_balance == SKIP
340
+ @current_rewards_balance = current_rewards_balance unless current_rewards_balance == SKIP
341
+ @finance_charges = finance_charges unless finance_charges == SKIP
342
+ @last_payment_amount = last_payment_amount unless last_payment_amount == SKIP
343
+ @last_payment_date = last_payment_date unless last_payment_date == SKIP
344
+ @last_stmt_balance = last_stmt_balance unless last_stmt_balance == SKIP
345
+ @last_stmt_date = last_stmt_date unless last_stmt_date == SKIP
346
+ @minimum_payment_amount = minimum_payment_amount unless minimum_payment_amount == SKIP
347
+ @next_payment_amount = next_payment_amount unless next_payment_amount == SKIP
348
+ @next_payment_date = next_payment_date unless next_payment_date == SKIP
349
+ @past_due_amount = past_due_amount unless past_due_amount == SKIP
350
+ @points_accrued = points_accrued unless points_accrued == SKIP
351
+ @principal_balance = principal_balance unless principal_balance == SKIP
352
+ @points_redeemed = points_redeemed unless points_redeemed == SKIP
353
+ @purchases_apr = purchases_apr unless purchases_apr == SKIP
354
+ @additional_properties = additional_properties
355
+ end
356
+
357
+ # Creates an instance of the object from a hash.
358
+ def self.from_hash(hash)
359
+ return nil unless hash
360
+
361
+ # Extract variables from the hash.
362
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
363
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
364
+ account_number_display =
365
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
366
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
367
+ description = hash.key?('description') ? hash['description'] : SKIP
368
+ error = ErrorEntityLineOfCreditBalances.from_hash(hash['error']) if hash['error']
369
+ # Parameter is an array, so we need to iterate through it
370
+ fi_attributes = nil
371
+ unless hash['fiAttributes'].nil?
372
+ fi_attributes = []
373
+ hash['fiAttributes'].each do |structure|
374
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
375
+ end
376
+ end
377
+
378
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
379
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
380
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
381
+ status = hash.key?('status') ? hash['status'] : SKIP
382
+ line_of_business =
383
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
384
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
385
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
386
+ interest_rate_type =
387
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
388
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
389
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
390
+ else
391
+ SKIP
392
+ end
393
+ last_activity_date = if hash.key?('lastActivityDate')
394
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
395
+ else
396
+ SKIP
397
+ end
398
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
399
+ parent_account_id =
400
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
401
+ prior_interest_rate =
402
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
403
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
404
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
405
+ balance_as_of = if hash.key?('balanceAsOf')
406
+ (DateTimeHelper.from_rfc3339(hash['balanceAsOf']) if hash['balanceAsOf'])
407
+ else
408
+ SKIP
409
+ end
410
+ advances_apr = hash.key?('advancesApr') ? hash['advancesApr'] : SKIP
411
+ available_cash = hash.key?('availableCash') ? hash['availableCash'] : SKIP
412
+ available_credit =
413
+ hash.key?('availableCredit') ? hash['availableCredit'] : SKIP
414
+ cash_advance_limit =
415
+ hash.key?('cashAdvanceLimit') ? hash['cashAdvanceLimit'] : SKIP
416
+ credit_line = hash.key?('creditLine') ? hash['creditLine'] : SKIP
417
+ current_balance =
418
+ hash.key?('currentBalance') ? hash['currentBalance'] : SKIP
419
+ current_rewards_balance =
420
+ hash.key?('currentRewardsBalance') ? hash['currentRewardsBalance'] : SKIP
421
+ finance_charges =
422
+ hash.key?('financeCharges') ? hash['financeCharges'] : SKIP
423
+ last_payment_amount =
424
+ hash.key?('lastPaymentAmount') ? hash['lastPaymentAmount'] : SKIP
425
+ last_payment_date = if hash.key?('lastPaymentDate')
426
+ (DateTimeHelper.from_rfc3339(hash['lastPaymentDate']) if hash['lastPaymentDate'])
427
+ else
428
+ SKIP
429
+ end
430
+ last_stmt_balance =
431
+ hash.key?('lastStmtBalance') ? hash['lastStmtBalance'] : SKIP
432
+ last_stmt_date = if hash.key?('lastStmtDate')
433
+ (DateTimeHelper.from_rfc3339(hash['lastStmtDate']) if hash['lastStmtDate'])
434
+ else
435
+ SKIP
436
+ end
437
+ minimum_payment_amount =
438
+ hash.key?('minimumPaymentAmount') ? hash['minimumPaymentAmount'] : SKIP
439
+ next_payment_amount =
440
+ hash.key?('nextPaymentAmount') ? hash['nextPaymentAmount'] : SKIP
441
+ next_payment_date = if hash.key?('nextPaymentDate')
442
+ (DateTimeHelper.from_rfc3339(hash['nextPaymentDate']) if hash['nextPaymentDate'])
443
+ else
444
+ SKIP
445
+ end
446
+ past_due_amount =
447
+ hash.key?('pastDueAmount') ? hash['pastDueAmount'] : SKIP
448
+ points_accrued = hash.key?('pointsAccrued') ? hash['pointsAccrued'] : SKIP
449
+ principal_balance =
450
+ hash.key?('principalBalance') ? hash['principalBalance'] : SKIP
451
+ points_redeemed =
452
+ hash.key?('pointsRedeemed') ? hash['pointsRedeemed'] : SKIP
453
+ purchases_apr = hash.key?('purchasesApr') ? hash['purchasesApr'] : SKIP
454
+
455
+ # Create a new hash for additional properties, removing known properties.
456
+ new_hash = hash.reject { |k, _| names.value?(k) }
457
+
458
+ additional_properties = APIHelper.get_additional_properties(
459
+ new_hash, proc { |value| value }
460
+ )
461
+
462
+ # Create object from extracted values.
463
+ LineOfCreditBalances.new(account_id: account_id,
464
+ account_type: account_type,
465
+ account_number_display: account_number_display,
466
+ currency: currency,
467
+ description: description,
468
+ error: error,
469
+ fi_attributes: fi_attributes,
470
+ nickname: nickname,
471
+ product_name: product_name,
472
+ status: status,
473
+ line_of_business: line_of_business,
474
+ balance_type: balance_type,
475
+ interest_rate: interest_rate,
476
+ interest_rate_type: interest_rate_type,
477
+ interest_rate_as_of: interest_rate_as_of,
478
+ last_activity_date: last_activity_date,
479
+ micr_number: micr_number,
480
+ parent_account_id: parent_account_id,
481
+ prior_interest_rate: prior_interest_rate,
482
+ transfer_in: transfer_in,
483
+ transfer_out: transfer_out,
484
+ balance_as_of: balance_as_of,
485
+ advances_apr: advances_apr,
486
+ available_cash: available_cash,
487
+ available_credit: available_credit,
488
+ cash_advance_limit: cash_advance_limit,
489
+ credit_line: credit_line,
490
+ current_balance: current_balance,
491
+ current_rewards_balance: current_rewards_balance,
492
+ finance_charges: finance_charges,
493
+ last_payment_amount: last_payment_amount,
494
+ last_payment_date: last_payment_date,
495
+ last_stmt_balance: last_stmt_balance,
496
+ last_stmt_date: last_stmt_date,
497
+ minimum_payment_amount: minimum_payment_amount,
498
+ next_payment_amount: next_payment_amount,
499
+ next_payment_date: next_payment_date,
500
+ past_due_amount: past_due_amount,
501
+ points_accrued: points_accrued,
502
+ principal_balance: principal_balance,
503
+ points_redeemed: points_redeemed,
504
+ purchases_apr: purchases_apr,
505
+ additional_properties: additional_properties)
506
+ end
507
+
508
+ def to_custom_interest_rate_as_of
509
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
510
+ end
511
+
512
+ def to_custom_last_activity_date
513
+ DateTimeHelper.to_rfc3339(last_activity_date)
514
+ end
515
+
516
+ def to_custom_balance_as_of
517
+ DateTimeHelper.to_rfc3339(balance_as_of)
518
+ end
519
+
520
+ def to_custom_last_payment_date
521
+ DateTimeHelper.to_rfc3339(last_payment_date)
522
+ end
523
+
524
+ def to_custom_last_stmt_date
525
+ DateTimeHelper.to_rfc3339(last_stmt_date)
526
+ end
527
+
528
+ def to_custom_next_payment_date
529
+ DateTimeHelper.to_rfc3339(next_payment_date)
530
+ end
531
+
532
+ # Validates an instance of the object from a given value.
533
+ # @param [LineOfCreditBalances | Hash] The value against the validation is performed.
534
+ def self.validate(value)
535
+ if value.instance_of? self
536
+ return APIHelper.valid_type?(value.account_id,
537
+ ->(val) { val.instance_of? String })
538
+ end
539
+
540
+ return false unless value.instance_of? Hash
541
+
542
+ APIHelper.valid_type?(value['accountId'],
543
+ ->(val) { val.instance_of? String })
544
+ end
545
+
546
+ # Provides a human-readable string representation of the object.
547
+ def to_s
548
+ class_name = self.class.name.split('::').last
549
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
550
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
551
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
552
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
553
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
554
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
555
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
556
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
557
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, balance_as_of:"\
558
+ " #{@balance_as_of}, advances_apr: #{@advances_apr}, available_cash: #{@available_cash},"\
559
+ " available_credit: #{@available_credit}, cash_advance_limit: #{@cash_advance_limit},"\
560
+ " credit_line: #{@credit_line}, current_balance: #{@current_balance},"\
561
+ " current_rewards_balance: #{@current_rewards_balance}, finance_charges:"\
562
+ " #{@finance_charges}, last_payment_amount: #{@last_payment_amount}, last_payment_date:"\
563
+ " #{@last_payment_date}, last_stmt_balance: #{@last_stmt_balance}, last_stmt_date:"\
564
+ " #{@last_stmt_date}, minimum_payment_amount: #{@minimum_payment_amount},"\
565
+ " next_payment_amount: #{@next_payment_amount}, next_payment_date: #{@next_payment_date},"\
566
+ " past_due_amount: #{@past_due_amount}, points_accrued: #{@points_accrued},"\
567
+ " principal_balance: #{@principal_balance}, points_redeemed: #{@points_redeemed},"\
568
+ " purchases_apr: #{@purchases_apr}, additional_properties: #{@additional_properties}>"
569
+ end
570
+
571
+ # Provides a debugging-friendly string with detailed object information.
572
+ def inspect
573
+ class_name = self.class.name.split('::').last
574
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
575
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
576
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
577
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
578
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
579
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
580
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
581
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
582
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
583
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
584
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
585
+ " balance_as_of: #{@balance_as_of.inspect}, advances_apr: #{@advances_apr.inspect},"\
586
+ " available_cash: #{@available_cash.inspect}, available_credit:"\
587
+ " #{@available_credit.inspect}, cash_advance_limit: #{@cash_advance_limit.inspect},"\
588
+ " credit_line: #{@credit_line.inspect}, current_balance: #{@current_balance.inspect},"\
589
+ " current_rewards_balance: #{@current_rewards_balance.inspect}, finance_charges:"\
590
+ " #{@finance_charges.inspect}, last_payment_amount: #{@last_payment_amount.inspect},"\
591
+ " last_payment_date: #{@last_payment_date.inspect}, last_stmt_balance:"\
592
+ " #{@last_stmt_balance.inspect}, last_stmt_date: #{@last_stmt_date.inspect},"\
593
+ " minimum_payment_amount: #{@minimum_payment_amount.inspect}, next_payment_amount:"\
594
+ " #{@next_payment_amount.inspect}, next_payment_date: #{@next_payment_date.inspect},"\
595
+ " past_due_amount: #{@past_due_amount.inspect}, points_accrued: #{@points_accrued.inspect},"\
596
+ " principal_balance: #{@principal_balance.inspect}, points_redeemed:"\
597
+ " #{@points_redeemed.inspect}, purchases_apr: #{@purchases_apr.inspect},"\
598
+ " additional_properties: #{@additional_properties}>"
599
+ end
600
+ end
601
+ end
@@ -0,0 +1,95 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Links Model.
8
+ class Links < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Next]
14
+ attr_accessor :mnext
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Prev]
18
+ attr_accessor :prev
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['mnext'] = 'next'
24
+ @_hash['prev'] = 'prev'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ mnext
32
+ prev
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(mnext: SKIP, prev: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @mnext = mnext unless mnext == SKIP
46
+ @prev = prev unless prev == SKIP
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ mnext = Next.from_hash(hash['next']) if hash['next']
56
+ prev = Prev.from_hash(hash['prev']) if hash['prev']
57
+
58
+ # Create a new hash for additional properties, removing known properties.
59
+ new_hash = hash.reject { |k, _| names.value?(k) }
60
+
61
+ additional_properties = APIHelper.get_additional_properties(
62
+ new_hash, proc { |value| value }
63
+ )
64
+
65
+ # Create object from extracted values.
66
+ Links.new(mnext: mnext,
67
+ prev: prev,
68
+ additional_properties: additional_properties)
69
+ end
70
+
71
+ # Validates an instance of the object from a given value.
72
+ # @param [Links | Hash] The value against the validation is performed.
73
+ def self.validate(value)
74
+ return true if value.instance_of? self
75
+
76
+ return false unless value.instance_of? Hash
77
+
78
+ true
79
+ end
80
+
81
+ # Provides a human-readable string representation of the object.
82
+ def to_s
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} mnext: #{@mnext}, prev: #{@prev}, additional_properties:"\
85
+ " #{@additional_properties}>"
86
+ end
87
+
88
+ # Provides a debugging-friendly string with detailed object information.
89
+ def inspect
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} mnext: #{@mnext.inspect}, prev: #{@prev.inspect}, additional_properties:"\
92
+ " #{@additional_properties}>"
93
+ end
94
+ end
95
+ end