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