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,417 @@
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
+ # Loan Account
9
+ class LoanAccount < 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 [ErrorEntityLoanAccount]
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
+ # Account is eligible for outgoing transfers
106
+ # @return [CompoundingPeriod]
107
+ attr_accessor :compounding_period
108
+
109
+ # Term of loan in months
110
+ # @return [Integer]
111
+ attr_accessor :loan_term
112
+
113
+ # Maturity date is required for CDs
114
+ # @return [DateTime]
115
+ attr_accessor :maturity_date
116
+
117
+ # Loan origination date
118
+ # @return [DateTime]
119
+ attr_accessor :originating_date
120
+
121
+ # Loan origination date
122
+ # @return [PaymentFrequency]
123
+ attr_accessor :payment_frequency
124
+
125
+ # Total number of payments
126
+ # @return [Integer]
127
+ attr_accessor :total_number_of_payments
128
+
129
+ # A mapping from model property names to API property names.
130
+ def self.names
131
+ @_hash = {} if @_hash.nil?
132
+ @_hash['account_id'] = 'accountId'
133
+ @_hash['account_type'] = 'accountType'
134
+ @_hash['account_number_display'] = 'accountNumberDisplay'
135
+ @_hash['currency'] = 'currency'
136
+ @_hash['description'] = 'description'
137
+ @_hash['error'] = 'error'
138
+ @_hash['fi_attributes'] = 'fiAttributes'
139
+ @_hash['nickname'] = 'nickname'
140
+ @_hash['product_name'] = 'productName'
141
+ @_hash['status'] = 'status'
142
+ @_hash['line_of_business'] = 'lineOfBusiness'
143
+ @_hash['balance_type'] = 'balanceType'
144
+ @_hash['interest_rate'] = 'interestRate'
145
+ @_hash['interest_rate_type'] = 'interestRateType'
146
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
147
+ @_hash['last_activity_date'] = 'lastActivityDate'
148
+ @_hash['micr_number'] = 'micrNumber'
149
+ @_hash['parent_account_id'] = 'parentAccountId'
150
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
151
+ @_hash['transfer_in'] = 'transferIn'
152
+ @_hash['transfer_out'] = 'transferOut'
153
+ @_hash['compounding_period'] = 'compoundingPeriod'
154
+ @_hash['loan_term'] = 'loanTerm'
155
+ @_hash['maturity_date'] = 'maturityDate'
156
+ @_hash['originating_date'] = 'originatingDate'
157
+ @_hash['payment_frequency'] = 'paymentFrequency'
158
+ @_hash['total_number_of_payments'] = 'totalNumberOfPayments'
159
+ @_hash
160
+ end
161
+
162
+ # An array for optional fields
163
+ def self.optionals
164
+ %w[
165
+ account_type
166
+ account_number_display
167
+ currency
168
+ description
169
+ error
170
+ fi_attributes
171
+ nickname
172
+ product_name
173
+ status
174
+ line_of_business
175
+ balance_type
176
+ interest_rate
177
+ interest_rate_type
178
+ interest_rate_as_of
179
+ last_activity_date
180
+ micr_number
181
+ parent_account_id
182
+ prior_interest_rate
183
+ transfer_in
184
+ transfer_out
185
+ compounding_period
186
+ loan_term
187
+ maturity_date
188
+ originating_date
189
+ payment_frequency
190
+ total_number_of_payments
191
+ ]
192
+ end
193
+
194
+ # An array for nullable fields
195
+ def self.nullables
196
+ []
197
+ end
198
+
199
+ def initialize(account_id:, account_type: SKIP,
200
+ account_number_display: SKIP, currency: SKIP,
201
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
202
+ nickname: SKIP, product_name: SKIP, status: SKIP,
203
+ line_of_business: SKIP, balance_type: SKIP,
204
+ interest_rate: SKIP, interest_rate_type: SKIP,
205
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
206
+ micr_number: SKIP, parent_account_id: SKIP,
207
+ prior_interest_rate: SKIP, transfer_in: SKIP,
208
+ transfer_out: SKIP, compounding_period: SKIP,
209
+ loan_term: SKIP, maturity_date: SKIP, originating_date: SKIP,
210
+ payment_frequency: SKIP, total_number_of_payments: SKIP,
211
+ additional_properties: nil)
212
+ # Add additional model properties to the instance
213
+ additional_properties = {} if additional_properties.nil?
214
+
215
+ @account_id = account_id
216
+ @account_type = account_type unless account_type == SKIP
217
+ @account_number_display = account_number_display unless account_number_display == SKIP
218
+ @currency = currency unless currency == SKIP
219
+ @description = description unless description == SKIP
220
+ @error = error unless error == SKIP
221
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
222
+ @nickname = nickname unless nickname == SKIP
223
+ @product_name = product_name unless product_name == SKIP
224
+ @status = status unless status == SKIP
225
+ @line_of_business = line_of_business unless line_of_business == SKIP
226
+ @balance_type = balance_type unless balance_type == SKIP
227
+ @interest_rate = interest_rate unless interest_rate == SKIP
228
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
229
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
230
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
231
+ @micr_number = micr_number unless micr_number == SKIP
232
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
233
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
234
+ @transfer_in = transfer_in unless transfer_in == SKIP
235
+ @transfer_out = transfer_out unless transfer_out == SKIP
236
+ @compounding_period = compounding_period unless compounding_period == SKIP
237
+ @loan_term = loan_term unless loan_term == SKIP
238
+ @maturity_date = maturity_date unless maturity_date == SKIP
239
+ @originating_date = originating_date unless originating_date == SKIP
240
+ @payment_frequency = payment_frequency unless payment_frequency == SKIP
241
+ @total_number_of_payments = total_number_of_payments unless total_number_of_payments == SKIP
242
+ @additional_properties = additional_properties
243
+ end
244
+
245
+ # Creates an instance of the object from a hash.
246
+ def self.from_hash(hash)
247
+ return nil unless hash
248
+
249
+ # Extract variables from the hash.
250
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
251
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
252
+ account_number_display =
253
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
254
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
255
+ description = hash.key?('description') ? hash['description'] : SKIP
256
+ error = ErrorEntityLoanAccount.from_hash(hash['error']) if hash['error']
257
+ # Parameter is an array, so we need to iterate through it
258
+ fi_attributes = nil
259
+ unless hash['fiAttributes'].nil?
260
+ fi_attributes = []
261
+ hash['fiAttributes'].each do |structure|
262
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
263
+ end
264
+ end
265
+
266
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
267
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
268
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
269
+ status = hash.key?('status') ? hash['status'] : SKIP
270
+ line_of_business =
271
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
272
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
273
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
274
+ interest_rate_type =
275
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
276
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
277
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
278
+ else
279
+ SKIP
280
+ end
281
+ last_activity_date = if hash.key?('lastActivityDate')
282
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
283
+ else
284
+ SKIP
285
+ end
286
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
287
+ parent_account_id =
288
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
289
+ prior_interest_rate =
290
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
291
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
292
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
293
+ compounding_period =
294
+ hash.key?('compoundingPeriod') ? hash['compoundingPeriod'] : SKIP
295
+ loan_term = hash.key?('loanTerm') ? hash['loanTerm'] : SKIP
296
+ maturity_date = if hash.key?('maturityDate')
297
+ (DateTimeHelper.from_rfc3339(hash['maturityDate']) if hash['maturityDate'])
298
+ else
299
+ SKIP
300
+ end
301
+ originating_date = if hash.key?('originatingDate')
302
+ (DateTimeHelper.from_rfc3339(hash['originatingDate']) if hash['originatingDate'])
303
+ else
304
+ SKIP
305
+ end
306
+ payment_frequency =
307
+ hash.key?('paymentFrequency') ? hash['paymentFrequency'] : SKIP
308
+ total_number_of_payments =
309
+ hash.key?('totalNumberOfPayments') ? hash['totalNumberOfPayments'] : SKIP
310
+
311
+ # Create a new hash for additional properties, removing known properties.
312
+ new_hash = hash.reject { |k, _| names.value?(k) }
313
+
314
+ additional_properties = APIHelper.get_additional_properties(
315
+ new_hash, proc { |value| value }
316
+ )
317
+
318
+ # Create object from extracted values.
319
+ LoanAccount.new(account_id: account_id,
320
+ account_type: account_type,
321
+ account_number_display: account_number_display,
322
+ currency: currency,
323
+ description: description,
324
+ error: error,
325
+ fi_attributes: fi_attributes,
326
+ nickname: nickname,
327
+ product_name: product_name,
328
+ status: status,
329
+ line_of_business: line_of_business,
330
+ balance_type: balance_type,
331
+ interest_rate: interest_rate,
332
+ interest_rate_type: interest_rate_type,
333
+ interest_rate_as_of: interest_rate_as_of,
334
+ last_activity_date: last_activity_date,
335
+ micr_number: micr_number,
336
+ parent_account_id: parent_account_id,
337
+ prior_interest_rate: prior_interest_rate,
338
+ transfer_in: transfer_in,
339
+ transfer_out: transfer_out,
340
+ compounding_period: compounding_period,
341
+ loan_term: loan_term,
342
+ maturity_date: maturity_date,
343
+ originating_date: originating_date,
344
+ payment_frequency: payment_frequency,
345
+ total_number_of_payments: total_number_of_payments,
346
+ additional_properties: additional_properties)
347
+ end
348
+
349
+ def to_custom_interest_rate_as_of
350
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
351
+ end
352
+
353
+ def to_custom_last_activity_date
354
+ DateTimeHelper.to_rfc3339(last_activity_date)
355
+ end
356
+
357
+ def to_custom_maturity_date
358
+ DateTimeHelper.to_rfc3339(maturity_date)
359
+ end
360
+
361
+ def to_custom_originating_date
362
+ DateTimeHelper.to_rfc3339(originating_date)
363
+ end
364
+
365
+ # Validates an instance of the object from a given value.
366
+ # @param [LoanAccount | Hash] The value against the validation is performed.
367
+ def self.validate(value)
368
+ if value.instance_of? self
369
+ return APIHelper.valid_type?(value.account_id,
370
+ ->(val) { val.instance_of? String })
371
+ end
372
+
373
+ return false unless value.instance_of? Hash
374
+
375
+ APIHelper.valid_type?(value['accountId'],
376
+ ->(val) { val.instance_of? String })
377
+ end
378
+
379
+ # Provides a human-readable string representation of the object.
380
+ def to_s
381
+ class_name = self.class.name.split('::').last
382
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
383
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
384
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
385
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
386
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
387
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
388
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
389
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
390
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, compounding_period:"\
391
+ " #{@compounding_period}, loan_term: #{@loan_term}, maturity_date: #{@maturity_date},"\
392
+ " originating_date: #{@originating_date}, payment_frequency: #{@payment_frequency},"\
393
+ " total_number_of_payments: #{@total_number_of_payments}, additional_properties:"\
394
+ " #{@additional_properties}>"
395
+ end
396
+
397
+ # Provides a debugging-friendly string with detailed object information.
398
+ def inspect
399
+ class_name = self.class.name.split('::').last
400
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
401
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
402
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
403
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
404
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
405
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
406
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
407
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
408
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
409
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
410
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
411
+ " compounding_period: #{@compounding_period.inspect}, loan_term: #{@loan_term.inspect},"\
412
+ " maturity_date: #{@maturity_date.inspect}, originating_date: #{@originating_date.inspect},"\
413
+ " payment_frequency: #{@payment_frequency.inspect}, total_number_of_payments:"\
414
+ " #{@total_number_of_payments.inspect}, additional_properties: #{@additional_properties}>"
415
+ end
416
+ end
417
+ 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
+ # LoanAccountInfo Model.
8
+ class LoanAccountInfo < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Loan Account
13
+ # @return [LoanAccount]
14
+ attr_accessor :loan_account
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['loan_account'] = 'loanAccount'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ loan_account
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(loan_account: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @loan_account = loan_account unless loan_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
+ loan_account = LoanAccount.from_hash(hash['loanAccount']) if hash['loanAccount']
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
+ LoanAccountInfo.new(loan_account: loan_account,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Validates an instance of the object from a given value.
63
+ # @param [LoanAccountInfo | 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} loan_account: #{@loan_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} loan_account: #{@loan_account.inspect}, additional_properties:"\
83
+ " #{@additional_properties}>"
84
+ end
85
+ end
86
+ 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
+ # LoanBalanceDetails Model.
8
+ class LoanBalanceDetails < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Data elements included with balances specific to loan accounts
13
+ # @return [LoanBalances]
14
+ attr_accessor :loan_account
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['loan_account'] = 'loanAccount'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ loan_account
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(loan_account: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @loan_account = loan_account unless loan_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
+ loan_account = LoanBalances.from_hash(hash['loanAccount']) if hash['loanAccount']
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
+ LoanBalanceDetails.new(loan_account: loan_account,
59
+ additional_properties: additional_properties)
60
+ end
61
+
62
+ # Validates an instance of the object from a given value.
63
+ # @param [LoanBalanceDetails | 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} loan_account: #{@loan_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} loan_account: #{@loan_account.inspect}, additional_properties:"\
83
+ " #{@additional_properties}>"
84
+ end
85
+ end
86
+ end