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,477 @@
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 annuity accounts
9
+ class AnnuityBalances < 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 [ErrorEntityAnnuityBalances]
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 [AnnuityProductType]
107
+ attr_accessor :annuity_product_type
108
+
109
+ # Account is eligible for outgoing transfers
110
+ # @return [AnnuityValueBasis]
111
+ attr_accessor :annuity_value_basis
112
+
113
+ # Account is eligible for outgoing transfers
114
+ # @return [PaymentFrequencyAnnuityBalances]
115
+ attr_accessor :payment_frequency
116
+
117
+ # Percent or dollar amount of annual payment increase
118
+ # @return [Float]
119
+ attr_accessor :annual_increase
120
+
121
+ # Percent or dollar amount of annual payment increase
122
+ # @return [AnnualIncreaseType]
123
+ attr_accessor :annual_increase_type
124
+
125
+ # Surrender or cash balance value
126
+ # @return [Float]
127
+ attr_accessor :net_present_value
128
+
129
+ # Amount of the recurring payment
130
+ # @return [Float]
131
+ attr_accessor :payment_amount
132
+
133
+ # Date last payment will be made
134
+ # @return [DateTime]
135
+ attr_accessor :payment_end_date
136
+
137
+ # Date of first payment; could be a future date
138
+ # @return [DateTime]
139
+ attr_accessor :payment_start_date
140
+
141
+ # Date of first payment; could be a future date
142
+ # @return [PeriodCertainGuarantee]
143
+ attr_accessor :period_certain_guarantee
144
+
145
+ # Total number of payments that will be produced by the annuity
146
+ # @return [Float]
147
+ attr_accessor :total_payment_count
148
+
149
+ # A mapping from model property names to API property names.
150
+ def self.names
151
+ @_hash = {} if @_hash.nil?
152
+ @_hash['account_id'] = 'accountId'
153
+ @_hash['account_type'] = 'accountType'
154
+ @_hash['account_number_display'] = 'accountNumberDisplay'
155
+ @_hash['currency'] = 'currency'
156
+ @_hash['description'] = 'description'
157
+ @_hash['error'] = 'error'
158
+ @_hash['fi_attributes'] = 'fiAttributes'
159
+ @_hash['nickname'] = 'nickname'
160
+ @_hash['product_name'] = 'productName'
161
+ @_hash['status'] = 'status'
162
+ @_hash['line_of_business'] = 'lineOfBusiness'
163
+ @_hash['balance_type'] = 'balanceType'
164
+ @_hash['interest_rate'] = 'interestRate'
165
+ @_hash['interest_rate_type'] = 'interestRateType'
166
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
167
+ @_hash['last_activity_date'] = 'lastActivityDate'
168
+ @_hash['micr_number'] = 'micrNumber'
169
+ @_hash['parent_account_id'] = 'parentAccountId'
170
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
171
+ @_hash['transfer_in'] = 'transferIn'
172
+ @_hash['transfer_out'] = 'transferOut'
173
+ @_hash['annuity_product_type'] = 'annuityProductType'
174
+ @_hash['annuity_value_basis'] = 'annuityValueBasis'
175
+ @_hash['payment_frequency'] = 'paymentFrequency'
176
+ @_hash['annual_increase'] = 'annualIncrease'
177
+ @_hash['annual_increase_type'] = 'annualIncreaseType'
178
+ @_hash['net_present_value'] = 'netPresentValue'
179
+ @_hash['payment_amount'] = 'paymentAmount'
180
+ @_hash['payment_end_date'] = 'paymentEndDate'
181
+ @_hash['payment_start_date'] = 'paymentStartDate'
182
+ @_hash['period_certain_guarantee'] = 'periodCertainGuarantee'
183
+ @_hash['total_payment_count'] = 'totalPaymentCount'
184
+ @_hash
185
+ end
186
+
187
+ # An array for optional fields
188
+ def self.optionals
189
+ %w[
190
+ account_type
191
+ account_number_display
192
+ currency
193
+ description
194
+ error
195
+ fi_attributes
196
+ nickname
197
+ product_name
198
+ status
199
+ line_of_business
200
+ balance_type
201
+ interest_rate
202
+ interest_rate_type
203
+ interest_rate_as_of
204
+ last_activity_date
205
+ micr_number
206
+ parent_account_id
207
+ prior_interest_rate
208
+ transfer_in
209
+ transfer_out
210
+ annuity_product_type
211
+ annuity_value_basis
212
+ payment_frequency
213
+ annual_increase
214
+ annual_increase_type
215
+ net_present_value
216
+ payment_amount
217
+ payment_end_date
218
+ payment_start_date
219
+ period_certain_guarantee
220
+ total_payment_count
221
+ ]
222
+ end
223
+
224
+ # An array for nullable fields
225
+ def self.nullables
226
+ []
227
+ end
228
+
229
+ def initialize(account_id:, account_type: SKIP,
230
+ account_number_display: SKIP, currency: SKIP,
231
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
232
+ nickname: SKIP, product_name: SKIP, status: SKIP,
233
+ line_of_business: SKIP, balance_type: SKIP,
234
+ interest_rate: SKIP, interest_rate_type: SKIP,
235
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
236
+ micr_number: SKIP, parent_account_id: SKIP,
237
+ prior_interest_rate: SKIP, transfer_in: SKIP,
238
+ transfer_out: SKIP, annuity_product_type: SKIP,
239
+ annuity_value_basis: SKIP, payment_frequency: SKIP,
240
+ annual_increase: SKIP, annual_increase_type: SKIP,
241
+ net_present_value: SKIP, payment_amount: SKIP,
242
+ payment_end_date: SKIP, payment_start_date: SKIP,
243
+ period_certain_guarantee: SKIP, total_payment_count: SKIP,
244
+ additional_properties: nil)
245
+ # Add additional model properties to the instance
246
+ additional_properties = {} if additional_properties.nil?
247
+
248
+ @account_id = account_id
249
+ @account_type = account_type unless account_type == SKIP
250
+ @account_number_display = account_number_display unless account_number_display == SKIP
251
+ @currency = currency unless currency == SKIP
252
+ @description = description unless description == SKIP
253
+ @error = error unless error == SKIP
254
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
255
+ @nickname = nickname unless nickname == SKIP
256
+ @product_name = product_name unless product_name == SKIP
257
+ @status = status unless status == SKIP
258
+ @line_of_business = line_of_business unless line_of_business == SKIP
259
+ @balance_type = balance_type unless balance_type == SKIP
260
+ @interest_rate = interest_rate unless interest_rate == SKIP
261
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
262
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
263
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
264
+ @micr_number = micr_number unless micr_number == SKIP
265
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
266
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
267
+ @transfer_in = transfer_in unless transfer_in == SKIP
268
+ @transfer_out = transfer_out unless transfer_out == SKIP
269
+ @annuity_product_type = annuity_product_type unless annuity_product_type == SKIP
270
+ @annuity_value_basis = annuity_value_basis unless annuity_value_basis == SKIP
271
+ @payment_frequency = payment_frequency unless payment_frequency == SKIP
272
+ @annual_increase = annual_increase unless annual_increase == SKIP
273
+ @annual_increase_type = annual_increase_type unless annual_increase_type == SKIP
274
+ @net_present_value = net_present_value unless net_present_value == SKIP
275
+ @payment_amount = payment_amount unless payment_amount == SKIP
276
+ @payment_end_date = payment_end_date unless payment_end_date == SKIP
277
+ @payment_start_date = payment_start_date unless payment_start_date == SKIP
278
+ @period_certain_guarantee = period_certain_guarantee unless period_certain_guarantee == SKIP
279
+ @total_payment_count = total_payment_count unless total_payment_count == SKIP
280
+ @additional_properties = additional_properties
281
+ end
282
+
283
+ # Creates an instance of the object from a hash.
284
+ def self.from_hash(hash)
285
+ return nil unless hash
286
+
287
+ # Extract variables from the hash.
288
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
289
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
290
+ account_number_display =
291
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
292
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
293
+ description = hash.key?('description') ? hash['description'] : SKIP
294
+ error = ErrorEntityAnnuityBalances.from_hash(hash['error']) if hash['error']
295
+ # Parameter is an array, so we need to iterate through it
296
+ fi_attributes = nil
297
+ unless hash['fiAttributes'].nil?
298
+ fi_attributes = []
299
+ hash['fiAttributes'].each do |structure|
300
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
301
+ end
302
+ end
303
+
304
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
305
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
306
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
307
+ status = hash.key?('status') ? hash['status'] : SKIP
308
+ line_of_business =
309
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
310
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
311
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
312
+ interest_rate_type =
313
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
314
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
315
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
316
+ else
317
+ SKIP
318
+ end
319
+ last_activity_date = if hash.key?('lastActivityDate')
320
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
321
+ else
322
+ SKIP
323
+ end
324
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
325
+ parent_account_id =
326
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
327
+ prior_interest_rate =
328
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
329
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
330
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
331
+ annuity_product_type =
332
+ hash.key?('annuityProductType') ? hash['annuityProductType'] : SKIP
333
+ annuity_value_basis =
334
+ hash.key?('annuityValueBasis') ? hash['annuityValueBasis'] : SKIP
335
+ payment_frequency =
336
+ hash.key?('paymentFrequency') ? hash['paymentFrequency'] : SKIP
337
+ annual_increase =
338
+ hash.key?('annualIncrease') ? hash['annualIncrease'] : SKIP
339
+ annual_increase_type =
340
+ hash.key?('annualIncreaseType') ? hash['annualIncreaseType'] : SKIP
341
+ net_present_value =
342
+ hash.key?('netPresentValue') ? hash['netPresentValue'] : SKIP
343
+ payment_amount = hash.key?('paymentAmount') ? hash['paymentAmount'] : SKIP
344
+ payment_end_date = if hash.key?('paymentEndDate')
345
+ (DateTimeHelper.from_rfc3339(hash['paymentEndDate']) if hash['paymentEndDate'])
346
+ else
347
+ SKIP
348
+ end
349
+ payment_start_date = if hash.key?('paymentStartDate')
350
+ (DateTimeHelper.from_rfc3339(hash['paymentStartDate']) if hash['paymentStartDate'])
351
+ else
352
+ SKIP
353
+ end
354
+ period_certain_guarantee =
355
+ hash.key?('periodCertainGuarantee') ? hash['periodCertainGuarantee'] : SKIP
356
+ total_payment_count =
357
+ hash.key?('totalPaymentCount') ? hash['totalPaymentCount'] : SKIP
358
+
359
+ # Create a new hash for additional properties, removing known properties.
360
+ new_hash = hash.reject { |k, _| names.value?(k) }
361
+
362
+ additional_properties = APIHelper.get_additional_properties(
363
+ new_hash, proc { |value| value }
364
+ )
365
+
366
+ # Create object from extracted values.
367
+ AnnuityBalances.new(account_id: account_id,
368
+ account_type: account_type,
369
+ account_number_display: account_number_display,
370
+ currency: currency,
371
+ description: description,
372
+ error: error,
373
+ fi_attributes: fi_attributes,
374
+ nickname: nickname,
375
+ product_name: product_name,
376
+ status: status,
377
+ line_of_business: line_of_business,
378
+ balance_type: balance_type,
379
+ interest_rate: interest_rate,
380
+ interest_rate_type: interest_rate_type,
381
+ interest_rate_as_of: interest_rate_as_of,
382
+ last_activity_date: last_activity_date,
383
+ micr_number: micr_number,
384
+ parent_account_id: parent_account_id,
385
+ prior_interest_rate: prior_interest_rate,
386
+ transfer_in: transfer_in,
387
+ transfer_out: transfer_out,
388
+ annuity_product_type: annuity_product_type,
389
+ annuity_value_basis: annuity_value_basis,
390
+ payment_frequency: payment_frequency,
391
+ annual_increase: annual_increase,
392
+ annual_increase_type: annual_increase_type,
393
+ net_present_value: net_present_value,
394
+ payment_amount: payment_amount,
395
+ payment_end_date: payment_end_date,
396
+ payment_start_date: payment_start_date,
397
+ period_certain_guarantee: period_certain_guarantee,
398
+ total_payment_count: total_payment_count,
399
+ additional_properties: additional_properties)
400
+ end
401
+
402
+ def to_custom_interest_rate_as_of
403
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
404
+ end
405
+
406
+ def to_custom_last_activity_date
407
+ DateTimeHelper.to_rfc3339(last_activity_date)
408
+ end
409
+
410
+ def to_custom_payment_end_date
411
+ DateTimeHelper.to_rfc3339(payment_end_date)
412
+ end
413
+
414
+ def to_custom_payment_start_date
415
+ DateTimeHelper.to_rfc3339(payment_start_date)
416
+ end
417
+
418
+ # Validates an instance of the object from a given value.
419
+ # @param [AnnuityBalances | Hash] The value against the validation is performed.
420
+ def self.validate(value)
421
+ if value.instance_of? self
422
+ return APIHelper.valid_type?(value.account_id,
423
+ ->(val) { val.instance_of? String })
424
+ end
425
+
426
+ return false unless value.instance_of? Hash
427
+
428
+ APIHelper.valid_type?(value['accountId'],
429
+ ->(val) { val.instance_of? String })
430
+ end
431
+
432
+ # Provides a human-readable string representation of the object.
433
+ def to_s
434
+ class_name = self.class.name.split('::').last
435
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
436
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
437
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
438
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
439
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
440
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
441
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
442
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
443
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, annuity_product_type:"\
444
+ " #{@annuity_product_type}, annuity_value_basis: #{@annuity_value_basis}, payment_frequency:"\
445
+ " #{@payment_frequency}, annual_increase: #{@annual_increase}, annual_increase_type:"\
446
+ " #{@annual_increase_type}, net_present_value: #{@net_present_value}, payment_amount:"\
447
+ " #{@payment_amount}, payment_end_date: #{@payment_end_date}, payment_start_date:"\
448
+ " #{@payment_start_date}, period_certain_guarantee: #{@period_certain_guarantee},"\
449
+ " total_payment_count: #{@total_payment_count}, additional_properties:"\
450
+ " #{@additional_properties}>"
451
+ end
452
+
453
+ # Provides a debugging-friendly string with detailed object information.
454
+ def inspect
455
+ class_name = self.class.name.split('::').last
456
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
457
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
458
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
459
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
460
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
461
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
462
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
463
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
464
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
465
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
466
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
467
+ " annuity_product_type: #{@annuity_product_type.inspect}, annuity_value_basis:"\
468
+ " #{@annuity_value_basis.inspect}, payment_frequency: #{@payment_frequency.inspect},"\
469
+ " annual_increase: #{@annual_increase.inspect}, annual_increase_type:"\
470
+ " #{@annual_increase_type.inspect}, net_present_value: #{@net_present_value.inspect},"\
471
+ " payment_amount: #{@payment_amount.inspect}, payment_end_date:"\
472
+ " #{@payment_end_date.inspect}, payment_start_date: #{@payment_start_date.inspect},"\
473
+ " period_certain_guarantee: #{@period_certain_guarantee.inspect}, total_payment_count:"\
474
+ " #{@total_payment_count.inspect}, additional_properties: #{@additional_properties}>"
475
+ end
476
+ end
477
+ end
@@ -0,0 +1,36 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # AnnuityProductType.
8
+ class AnnuityProductType
9
+ ANNUITY_PRODUCT_TYPE = [
10
+ # TODO: Write general description for CURRENCY
11
+ CURRENCY = 'CURRENCY'.freeze,
12
+
13
+ # TODO: Write general description for SHARES
14
+ SHARES = 'SHARES'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ true
21
+ end
22
+
23
+ def self.from_value(value, default_value = CURRENCY)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'currency' then CURRENCY
30
+ when 'shares' then SHARES
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # AnnuityValueBasis.
8
+ class AnnuityValueBasis
9
+ ANNUITY_VALUE_BASIS = [
10
+ # TODO: Write general description for FIXED
11
+ FIXED = 'FIXED'.freeze,
12
+
13
+ # TODO: Write general description for VARIABLE
14
+ VARIABLE = 'VARIABLE'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ true
21
+ end
22
+
23
+ def self.from_value(value, default_value = FIXED)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'fixed' then FIXED
30
+ when 'variable' then VARIABLE
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,85 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # ArrayOfAccountPaymentNetworks Model.
8
+ class ArrayOfAccountPaymentNetworks < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Array of payment networks
13
+ # @return [Array[PaymentNetworkSupportedByAccount]]
14
+ attr_accessor :payment_networks
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['payment_networks'] = 'paymentNetworks'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ payment_networks
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(payment_networks: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @payment_networks = payment_networks unless payment_networks == 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
+ # Parameter is an array, so we need to iterate through it
49
+ payment_networks = nil
50
+ unless hash['paymentNetworks'].nil?
51
+ payment_networks = []
52
+ hash['paymentNetworks'].each do |structure|
53
+ payment_networks << (PaymentNetworkSupportedByAccount.from_hash(structure) if structure)
54
+ end
55
+ end
56
+
57
+ payment_networks = SKIP unless hash.key?('paymentNetworks')
58
+
59
+ # Create a new hash for additional properties, removing known properties.
60
+ new_hash = hash.reject { |k, _| names.value?(k) }
61
+
62
+ additional_properties = APIHelper.get_additional_properties(
63
+ new_hash, proc { |value| value }
64
+ )
65
+
66
+ # Create object from extracted values.
67
+ ArrayOfAccountPaymentNetworks.new(payment_networks: payment_networks,
68
+ additional_properties: additional_properties)
69
+ end
70
+
71
+ # Provides a human-readable string representation of the object.
72
+ def to_s
73
+ class_name = self.class.name.split('::').last
74
+ "<#{class_name} payment_networks: #{@payment_networks}, additional_properties:"\
75
+ " #{@additional_properties}>"
76
+ end
77
+
78
+ # Provides a debugging-friendly string with detailed object information.
79
+ def inspect
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} payment_networks: #{@payment_networks.inspect}, additional_properties:"\
82
+ " #{@additional_properties}>"
83
+ end
84
+ end
85
+ end