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,403 @@
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
+ # UsBankInvestmentHoldings Model.
9
+ class UsBankInvestmentHoldings < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Array[AssetClass]]
15
+ attr_accessor :asset_classes
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [TrueClass | FalseClass]
19
+ attr_accessor :average_cost
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [Float]
23
+ attr_accessor :change_in_price
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [Currency]
27
+ attr_accessor :currency
28
+
29
+ # TODO: Write general description for this method
30
+ # @return [Float]
31
+ attr_accessor :current_unit_price
32
+
33
+ # TODO: Write general description for this method
34
+ # @return [DateTime]
35
+ attr_accessor :current_unit_price_date
36
+
37
+ # TODO: Write general description for this method
38
+ # @return [DebtSecurity]
39
+ attr_accessor :debt_security
40
+
41
+ # TODO: Write general description for this method
42
+ # @return [String]
43
+ attr_accessor :description
44
+
45
+ # TODO: Write general description for this method
46
+ # @return [Array[FiAssetClass]]
47
+ attr_accessor :fi_asset_classes
48
+
49
+ # TODO: Write general description for this method
50
+ # @return [Array[FiAttribute]]
51
+ attr_accessor :fi_attributes
52
+
53
+ # TODO: Write general description for this method
54
+ # @return [String]
55
+ attr_accessor :holding_id
56
+
57
+ # TODO: Write general description for this method
58
+ # @return [String]
59
+ attr_accessor :holding_name
60
+
61
+ # TODO: Write general description for this method
62
+ # @return [String]
63
+ attr_accessor :holding_type
64
+
65
+ # TODO: Write general description for this method
66
+ # @return [Float]
67
+ attr_accessor :market_value
68
+
69
+ # TODO: Write general description for this method
70
+ # @return [MutualFundSecurity]
71
+ attr_accessor :mutual_fund_security
72
+
73
+ # TODO: Write general description for this method
74
+ # @return [OptionSecurity]
75
+ attr_accessor :option_security
76
+
77
+ # TODO: Write general description for this method
78
+ # @return [DateTime]
79
+ attr_accessor :original_purchase_date
80
+
81
+ # TODO: Write general description for this method
82
+ # @return [Object]
83
+ attr_accessor :other_security
84
+
85
+ # TODO: Write general description for this method
86
+ # @return [Float]
87
+ attr_accessor :purchased_price
88
+
89
+ # TODO: Write general description for this method
90
+ # @return [String]
91
+ attr_accessor :security_id
92
+
93
+ # TODO: Write general description for this method
94
+ # @return [String]
95
+ attr_accessor :security_id_type
96
+
97
+ # TODO: Write general description for this method
98
+ # @return [Object]
99
+ attr_accessor :stock_security
100
+
101
+ # TODO: Write general description for this method
102
+ # @return [Object]
103
+ attr_accessor :sweep_security
104
+
105
+ # TODO: Write general description for this method
106
+ # @return [String]
107
+ attr_accessor :symbol
108
+
109
+ # TODO: Write general description for this method
110
+ # @return [Array[TaxLot]]
111
+ attr_accessor :tax_lots
112
+
113
+ # TODO: Write general description for this method
114
+ # @return [Float]
115
+ attr_accessor :units
116
+
117
+ # A mapping from model property names to API property names.
118
+ def self.names
119
+ @_hash = {} if @_hash.nil?
120
+ @_hash['asset_classes'] = 'assetClasses'
121
+ @_hash['average_cost'] = 'averageCost'
122
+ @_hash['change_in_price'] = 'changeInPrice'
123
+ @_hash['currency'] = 'currency'
124
+ @_hash['current_unit_price'] = 'currentUnitPrice'
125
+ @_hash['current_unit_price_date'] = 'currentUnitPriceDate'
126
+ @_hash['debt_security'] = 'debtSecurity'
127
+ @_hash['description'] = 'description'
128
+ @_hash['fi_asset_classes'] = 'fiAssetClasses'
129
+ @_hash['fi_attributes'] = 'fiAttributes'
130
+ @_hash['holding_id'] = 'holdingId'
131
+ @_hash['holding_name'] = 'holdingName'
132
+ @_hash['holding_type'] = 'holdingType'
133
+ @_hash['market_value'] = 'marketValue'
134
+ @_hash['mutual_fund_security'] = 'mutualFundSecurity'
135
+ @_hash['option_security'] = 'optionSecurity'
136
+ @_hash['original_purchase_date'] = 'originalPurchaseDate'
137
+ @_hash['other_security'] = 'otherSecurity'
138
+ @_hash['purchased_price'] = 'purchasedPrice'
139
+ @_hash['security_id'] = 'securityId'
140
+ @_hash['security_id_type'] = 'securityIdType'
141
+ @_hash['stock_security'] = 'stockSecurity'
142
+ @_hash['sweep_security'] = 'sweepSecurity'
143
+ @_hash['symbol'] = 'symbol'
144
+ @_hash['tax_lots'] = 'taxLots'
145
+ @_hash['units'] = 'units'
146
+ @_hash
147
+ end
148
+
149
+ # An array for optional fields
150
+ def self.optionals
151
+ %w[
152
+ asset_classes
153
+ average_cost
154
+ change_in_price
155
+ currency
156
+ current_unit_price
157
+ current_unit_price_date
158
+ debt_security
159
+ description
160
+ fi_asset_classes
161
+ fi_attributes
162
+ holding_id
163
+ holding_name
164
+ holding_type
165
+ market_value
166
+ mutual_fund_security
167
+ option_security
168
+ original_purchase_date
169
+ other_security
170
+ purchased_price
171
+ security_id
172
+ security_id_type
173
+ stock_security
174
+ sweep_security
175
+ symbol
176
+ tax_lots
177
+ units
178
+ ]
179
+ end
180
+
181
+ # An array for nullable fields
182
+ def self.nullables
183
+ []
184
+ end
185
+
186
+ def initialize(asset_classes: SKIP, average_cost: SKIP,
187
+ change_in_price: SKIP, currency: SKIP,
188
+ current_unit_price: SKIP, current_unit_price_date: SKIP,
189
+ debt_security: SKIP, description: SKIP,
190
+ fi_asset_classes: SKIP, fi_attributes: SKIP,
191
+ holding_id: SKIP, holding_name: SKIP, holding_type: SKIP,
192
+ market_value: SKIP, mutual_fund_security: SKIP,
193
+ option_security: SKIP, original_purchase_date: SKIP,
194
+ other_security: SKIP, purchased_price: SKIP,
195
+ security_id: SKIP, security_id_type: SKIP,
196
+ stock_security: SKIP, sweep_security: SKIP, symbol: SKIP,
197
+ tax_lots: SKIP, units: SKIP, additional_properties: nil)
198
+ # Add additional model properties to the instance
199
+ additional_properties = {} if additional_properties.nil?
200
+
201
+ @asset_classes = asset_classes unless asset_classes == SKIP
202
+ @average_cost = average_cost unless average_cost == SKIP
203
+ @change_in_price = change_in_price unless change_in_price == SKIP
204
+ @currency = currency unless currency == SKIP
205
+ @current_unit_price = current_unit_price unless current_unit_price == SKIP
206
+ @current_unit_price_date = current_unit_price_date unless current_unit_price_date == SKIP
207
+ @debt_security = debt_security unless debt_security == SKIP
208
+ @description = description unless description == SKIP
209
+ @fi_asset_classes = fi_asset_classes unless fi_asset_classes == SKIP
210
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
211
+ @holding_id = holding_id unless holding_id == SKIP
212
+ @holding_name = holding_name unless holding_name == SKIP
213
+ @holding_type = holding_type unless holding_type == SKIP
214
+ @market_value = market_value unless market_value == SKIP
215
+ @mutual_fund_security = mutual_fund_security unless mutual_fund_security == SKIP
216
+ @option_security = option_security unless option_security == SKIP
217
+ @original_purchase_date = original_purchase_date unless original_purchase_date == SKIP
218
+ @other_security = other_security unless other_security == SKIP
219
+ @purchased_price = purchased_price unless purchased_price == SKIP
220
+ @security_id = security_id unless security_id == SKIP
221
+ @security_id_type = security_id_type unless security_id_type == SKIP
222
+ @stock_security = stock_security unless stock_security == SKIP
223
+ @sweep_security = sweep_security unless sweep_security == SKIP
224
+ @symbol = symbol unless symbol == SKIP
225
+ @tax_lots = tax_lots unless tax_lots == SKIP
226
+ @units = units unless units == SKIP
227
+ @additional_properties = additional_properties
228
+ end
229
+
230
+ # Creates an instance of the object from a hash.
231
+ def self.from_hash(hash)
232
+ return nil unless hash
233
+
234
+ # Extract variables from the hash.
235
+ # Parameter is an array, so we need to iterate through it
236
+ asset_classes = nil
237
+ unless hash['assetClasses'].nil?
238
+ asset_classes = []
239
+ hash['assetClasses'].each do |structure|
240
+ asset_classes << (AssetClass.from_hash(structure) if structure)
241
+ end
242
+ end
243
+
244
+ asset_classes = SKIP unless hash.key?('assetClasses')
245
+ average_cost = hash.key?('averageCost') ? hash['averageCost'] : SKIP
246
+ change_in_price =
247
+ hash.key?('changeInPrice') ? hash['changeInPrice'] : SKIP
248
+ currency = Currency.from_hash(hash['currency']) if hash['currency']
249
+ current_unit_price =
250
+ hash.key?('currentUnitPrice') ? hash['currentUnitPrice'] : SKIP
251
+ current_unit_price_date = if hash.key?('currentUnitPriceDate')
252
+ (DateTimeHelper.from_rfc3339(hash['currentUnitPriceDate']) if hash['currentUnitPriceDate'])
253
+ else
254
+ SKIP
255
+ end
256
+ debt_security = DebtSecurity.from_hash(hash['debtSecurity']) if hash['debtSecurity']
257
+ description = hash.key?('description') ? hash['description'] : SKIP
258
+ # Parameter is an array, so we need to iterate through it
259
+ fi_asset_classes = nil
260
+ unless hash['fiAssetClasses'].nil?
261
+ fi_asset_classes = []
262
+ hash['fiAssetClasses'].each do |structure|
263
+ fi_asset_classes << (FiAssetClass.from_hash(structure) if structure)
264
+ end
265
+ end
266
+
267
+ fi_asset_classes = SKIP unless hash.key?('fiAssetClasses')
268
+ # Parameter is an array, so we need to iterate through it
269
+ fi_attributes = nil
270
+ unless hash['fiAttributes'].nil?
271
+ fi_attributes = []
272
+ hash['fiAttributes'].each do |structure|
273
+ fi_attributes << (FiAttribute.from_hash(structure) if structure)
274
+ end
275
+ end
276
+
277
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
278
+ holding_id = hash.key?('holdingId') ? hash['holdingId'] : SKIP
279
+ holding_name = hash.key?('holdingName') ? hash['holdingName'] : SKIP
280
+ holding_type = hash.key?('holdingType') ? hash['holdingType'] : SKIP
281
+ market_value = hash.key?('marketValue') ? hash['marketValue'] : SKIP
282
+ mutual_fund_security = MutualFundSecurity.from_hash(hash['mutualFundSecurity']) if
283
+ hash['mutualFundSecurity']
284
+ option_security = OptionSecurity.from_hash(hash['optionSecurity']) if hash['optionSecurity']
285
+ original_purchase_date = if hash.key?('originalPurchaseDate')
286
+ (DateTimeHelper.from_rfc3339(hash['originalPurchaseDate']) if hash['originalPurchaseDate'])
287
+ else
288
+ SKIP
289
+ end
290
+ other_security = hash.key?('otherSecurity') ? hash['otherSecurity'] : SKIP
291
+ purchased_price =
292
+ hash.key?('purchasedPrice') ? hash['purchasedPrice'] : SKIP
293
+ security_id = hash.key?('securityId') ? hash['securityId'] : SKIP
294
+ security_id_type =
295
+ hash.key?('securityIdType') ? hash['securityIdType'] : SKIP
296
+ stock_security = hash.key?('stockSecurity') ? hash['stockSecurity'] : SKIP
297
+ sweep_security = hash.key?('sweepSecurity') ? hash['sweepSecurity'] : SKIP
298
+ symbol = hash.key?('symbol') ? hash['symbol'] : SKIP
299
+ # Parameter is an array, so we need to iterate through it
300
+ tax_lots = nil
301
+ unless hash['taxLots'].nil?
302
+ tax_lots = []
303
+ hash['taxLots'].each do |structure|
304
+ tax_lots << (TaxLot.from_hash(structure) if structure)
305
+ end
306
+ end
307
+
308
+ tax_lots = SKIP unless hash.key?('taxLots')
309
+ units = hash.key?('units') ? hash['units'] : 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
+ UsBankInvestmentHoldings.new(asset_classes: asset_classes,
320
+ average_cost: average_cost,
321
+ change_in_price: change_in_price,
322
+ currency: currency,
323
+ current_unit_price: current_unit_price,
324
+ current_unit_price_date: current_unit_price_date,
325
+ debt_security: debt_security,
326
+ description: description,
327
+ fi_asset_classes: fi_asset_classes,
328
+ fi_attributes: fi_attributes,
329
+ holding_id: holding_id,
330
+ holding_name: holding_name,
331
+ holding_type: holding_type,
332
+ market_value: market_value,
333
+ mutual_fund_security: mutual_fund_security,
334
+ option_security: option_security,
335
+ original_purchase_date: original_purchase_date,
336
+ other_security: other_security,
337
+ purchased_price: purchased_price,
338
+ security_id: security_id,
339
+ security_id_type: security_id_type,
340
+ stock_security: stock_security,
341
+ sweep_security: sweep_security,
342
+ symbol: symbol,
343
+ tax_lots: tax_lots,
344
+ units: units,
345
+ additional_properties: additional_properties)
346
+ end
347
+
348
+ def to_custom_current_unit_price_date
349
+ DateTimeHelper.to_rfc3339(current_unit_price_date)
350
+ end
351
+
352
+ def to_custom_original_purchase_date
353
+ DateTimeHelper.to_rfc3339(original_purchase_date)
354
+ end
355
+
356
+ # Validates an instance of the object from a given value.
357
+ # @param [UsBankInvestmentHoldings | Hash] The value against the validation is performed.
358
+ def self.validate(value)
359
+ return true if value.instance_of? self
360
+
361
+ return false unless value.instance_of? Hash
362
+
363
+ true
364
+ end
365
+
366
+ # Provides a human-readable string representation of the object.
367
+ def to_s
368
+ class_name = self.class.name.split('::').last
369
+ "<#{class_name} asset_classes: #{@asset_classes}, average_cost: #{@average_cost},"\
370
+ " change_in_price: #{@change_in_price}, currency: #{@currency}, current_unit_price:"\
371
+ " #{@current_unit_price}, current_unit_price_date: #{@current_unit_price_date},"\
372
+ " debt_security: #{@debt_security}, description: #{@description}, fi_asset_classes:"\
373
+ " #{@fi_asset_classes}, fi_attributes: #{@fi_attributes}, holding_id: #{@holding_id},"\
374
+ " holding_name: #{@holding_name}, holding_type: #{@holding_type}, market_value:"\
375
+ " #{@market_value}, mutual_fund_security: #{@mutual_fund_security}, option_security:"\
376
+ " #{@option_security}, original_purchase_date: #{@original_purchase_date}, other_security:"\
377
+ " #{@other_security}, purchased_price: #{@purchased_price}, security_id: #{@security_id},"\
378
+ " security_id_type: #{@security_id_type}, stock_security: #{@stock_security},"\
379
+ " sweep_security: #{@sweep_security}, symbol: #{@symbol}, tax_lots: #{@tax_lots}, units:"\
380
+ " #{@units}, additional_properties: #{@additional_properties}>"
381
+ end
382
+
383
+ # Provides a debugging-friendly string with detailed object information.
384
+ def inspect
385
+ class_name = self.class.name.split('::').last
386
+ "<#{class_name} asset_classes: #{@asset_classes.inspect}, average_cost:"\
387
+ " #{@average_cost.inspect}, change_in_price: #{@change_in_price.inspect}, currency:"\
388
+ " #{@currency.inspect}, current_unit_price: #{@current_unit_price.inspect},"\
389
+ " current_unit_price_date: #{@current_unit_price_date.inspect}, debt_security:"\
390
+ " #{@debt_security.inspect}, description: #{@description.inspect}, fi_asset_classes:"\
391
+ " #{@fi_asset_classes.inspect}, fi_attributes: #{@fi_attributes.inspect}, holding_id:"\
392
+ " #{@holding_id.inspect}, holding_name: #{@holding_name.inspect}, holding_type:"\
393
+ " #{@holding_type.inspect}, market_value: #{@market_value.inspect}, mutual_fund_security:"\
394
+ " #{@mutual_fund_security.inspect}, option_security: #{@option_security.inspect},"\
395
+ " original_purchase_date: #{@original_purchase_date.inspect}, other_security:"\
396
+ " #{@other_security.inspect}, purchased_price: #{@purchased_price.inspect}, security_id:"\
397
+ " #{@security_id.inspect}, security_id_type: #{@security_id_type.inspect}, stock_security:"\
398
+ " #{@stock_security.inspect}, sweep_security: #{@sweep_security.inspect}, symbol:"\
399
+ " #{@symbol.inspect}, tax_lots: #{@tax_lots.inspect}, units: #{@units.inspect},"\
400
+ " additional_properties: #{@additional_properties}>"
401
+ end
402
+ end
403
+ end
@@ -0,0 +1,135 @@
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
+ # Vesting Model.
9
+ class Vesting < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Vested quantity (Vested shares total qty of vesting tranche)
14
+ # @return [Float]
15
+ attr_accessor :vested_quantity
16
+
17
+ # Vested balance at grant (aggregate of all vestings)
18
+ # @return [Float]
19
+ attr_accessor :vested_value
20
+
21
+ # Vested balance at grant (aggregate of all vestings)
22
+ # @return [DateTime]
23
+ attr_accessor :vesting_date
24
+
25
+ # Vested balance at grant (aggregate of all vestings)
26
+ # @return [DateTime]
27
+ attr_accessor :vest_expire_date
28
+
29
+ # Vested balance at grant (aggregate of all vestings)
30
+ # @return [String]
31
+ attr_accessor :vested_status
32
+
33
+ # A mapping from model property names to API property names.
34
+ def self.names
35
+ @_hash = {} if @_hash.nil?
36
+ @_hash['vested_quantity'] = 'vestedQuantity'
37
+ @_hash['vested_value'] = 'vestedValue'
38
+ @_hash['vesting_date'] = 'vestingDate'
39
+ @_hash['vest_expire_date'] = 'vestExpireDate'
40
+ @_hash['vested_status'] = 'vestedStatus'
41
+ @_hash
42
+ end
43
+
44
+ # An array for optional fields
45
+ def self.optionals
46
+ %w[
47
+ vested_quantity
48
+ vested_value
49
+ vesting_date
50
+ vest_expire_date
51
+ vested_status
52
+ ]
53
+ end
54
+
55
+ # An array for nullable fields
56
+ def self.nullables
57
+ []
58
+ end
59
+
60
+ def initialize(vested_quantity: SKIP, vested_value: SKIP,
61
+ vesting_date: SKIP, vest_expire_date: SKIP,
62
+ vested_status: SKIP, additional_properties: nil)
63
+ # Add additional model properties to the instance
64
+ additional_properties = {} if additional_properties.nil?
65
+
66
+ @vested_quantity = vested_quantity unless vested_quantity == SKIP
67
+ @vested_value = vested_value unless vested_value == SKIP
68
+ @vesting_date = vesting_date unless vesting_date == SKIP
69
+ @vest_expire_date = vest_expire_date unless vest_expire_date == SKIP
70
+ @vested_status = vested_status unless vested_status == SKIP
71
+ @additional_properties = additional_properties
72
+ end
73
+
74
+ # Creates an instance of the object from a hash.
75
+ def self.from_hash(hash)
76
+ return nil unless hash
77
+
78
+ # Extract variables from the hash.
79
+ vested_quantity =
80
+ hash.key?('vestedQuantity') ? hash['vestedQuantity'] : SKIP
81
+ vested_value = hash.key?('vestedValue') ? hash['vestedValue'] : SKIP
82
+ vesting_date = if hash.key?('vestingDate')
83
+ (DateTimeHelper.from_rfc3339(hash['vestingDate']) if hash['vestingDate'])
84
+ else
85
+ SKIP
86
+ end
87
+ vest_expire_date = if hash.key?('vestExpireDate')
88
+ (DateTimeHelper.from_rfc3339(hash['vestExpireDate']) if hash['vestExpireDate'])
89
+ else
90
+ SKIP
91
+ end
92
+ vested_status = hash.key?('vestedStatus') ? hash['vestedStatus'] : SKIP
93
+
94
+ # Create a new hash for additional properties, removing known properties.
95
+ new_hash = hash.reject { |k, _| names.value?(k) }
96
+
97
+ additional_properties = APIHelper.get_additional_properties(
98
+ new_hash, proc { |value| value }
99
+ )
100
+
101
+ # Create object from extracted values.
102
+ Vesting.new(vested_quantity: vested_quantity,
103
+ vested_value: vested_value,
104
+ vesting_date: vesting_date,
105
+ vest_expire_date: vest_expire_date,
106
+ vested_status: vested_status,
107
+ additional_properties: additional_properties)
108
+ end
109
+
110
+ def to_custom_vesting_date
111
+ DateTimeHelper.to_rfc3339(vesting_date)
112
+ end
113
+
114
+ def to_custom_vest_expire_date
115
+ DateTimeHelper.to_rfc3339(vest_expire_date)
116
+ end
117
+
118
+ # Provides a human-readable string representation of the object.
119
+ def to_s
120
+ class_name = self.class.name.split('::').last
121
+ "<#{class_name} vested_quantity: #{@vested_quantity}, vested_value: #{@vested_value},"\
122
+ " vesting_date: #{@vesting_date}, vest_expire_date: #{@vest_expire_date}, vested_status:"\
123
+ " #{@vested_status}, additional_properties: #{@additional_properties}>"
124
+ end
125
+
126
+ # Provides a debugging-friendly string with detailed object information.
127
+ def inspect
128
+ class_name = self.class.name.split('::').last
129
+ "<#{class_name} vested_quantity: #{@vested_quantity.inspect}, vested_value:"\
130
+ " #{@vested_value.inspect}, vesting_date: #{@vesting_date.inspect}, vest_expire_date:"\
131
+ " #{@vest_expire_date.inspect}, vested_status: #{@vested_status.inspect},"\
132
+ " additional_properties: #{@additional_properties}>"
133
+ end
134
+ end
135
+ end