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,150 @@
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
+ # Information about the mutual fund security specific to the type of security
9
+ class MutualFundSecurityEntity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Mutual fund type
14
+ # @return [MutualFundType]
15
+ attr_accessor :mutual_fund_type
16
+
17
+ # Units in the FI's street name, positive quantity
18
+ # @return [Float]
19
+ attr_accessor :units_street
20
+
21
+ # Units in user's name directly, positive quantity
22
+ # @return [Float]
23
+ attr_accessor :units_user
24
+
25
+ # Reinvest dividends
26
+ # @return [TrueClass | FalseClass]
27
+ attr_accessor :reinvest_dividends
28
+
29
+ # Reinvest capital gains
30
+ # @return [TrueClass | FalseClass]
31
+ attr_accessor :reinvest_capital_gains
32
+
33
+ # Current yield reported as portion of the fund's assets
34
+ # @return [Float]
35
+ attr_accessor :myield
36
+
37
+ # As-of date for yield value
38
+ # @return [DateTime]
39
+ attr_accessor :yield_as_of_date
40
+
41
+ # A mapping from model property names to API property names.
42
+ def self.names
43
+ @_hash = {} if @_hash.nil?
44
+ @_hash['mutual_fund_type'] = 'mutualFundType'
45
+ @_hash['units_street'] = 'unitsStreet'
46
+ @_hash['units_user'] = 'unitsUser'
47
+ @_hash['reinvest_dividends'] = 'reinvestDividends'
48
+ @_hash['reinvest_capital_gains'] = 'reinvestCapitalGains'
49
+ @_hash['myield'] = 'yield'
50
+ @_hash['yield_as_of_date'] = 'yieldAsOfDate'
51
+ @_hash
52
+ end
53
+
54
+ # An array for optional fields
55
+ def self.optionals
56
+ %w[
57
+ mutual_fund_type
58
+ units_street
59
+ units_user
60
+ reinvest_dividends
61
+ reinvest_capital_gains
62
+ myield
63
+ yield_as_of_date
64
+ ]
65
+ end
66
+
67
+ # An array for nullable fields
68
+ def self.nullables
69
+ []
70
+ end
71
+
72
+ def initialize(mutual_fund_type: SKIP, units_street: SKIP, units_user: SKIP,
73
+ reinvest_dividends: SKIP, reinvest_capital_gains: SKIP,
74
+ myield: SKIP, yield_as_of_date: SKIP,
75
+ additional_properties: nil)
76
+ # Add additional model properties to the instance
77
+ additional_properties = {} if additional_properties.nil?
78
+
79
+ @mutual_fund_type = mutual_fund_type unless mutual_fund_type == SKIP
80
+ @units_street = units_street unless units_street == SKIP
81
+ @units_user = units_user unless units_user == SKIP
82
+ @reinvest_dividends = reinvest_dividends unless reinvest_dividends == SKIP
83
+ @reinvest_capital_gains = reinvest_capital_gains unless reinvest_capital_gains == SKIP
84
+ @myield = myield unless myield == SKIP
85
+ @yield_as_of_date = yield_as_of_date unless yield_as_of_date == SKIP
86
+ @additional_properties = additional_properties
87
+ end
88
+
89
+ # Creates an instance of the object from a hash.
90
+ def self.from_hash(hash)
91
+ return nil unless hash
92
+
93
+ # Extract variables from the hash.
94
+ mutual_fund_type =
95
+ hash.key?('mutualFundType') ? hash['mutualFundType'] : SKIP
96
+ units_street = hash.key?('unitsStreet') ? hash['unitsStreet'] : SKIP
97
+ units_user = hash.key?('unitsUser') ? hash['unitsUser'] : SKIP
98
+ reinvest_dividends =
99
+ hash.key?('reinvestDividends') ? hash['reinvestDividends'] : SKIP
100
+ reinvest_capital_gains =
101
+ hash.key?('reinvestCapitalGains') ? hash['reinvestCapitalGains'] : SKIP
102
+ myield = hash.key?('yield') ? hash['yield'] : SKIP
103
+ yield_as_of_date = if hash.key?('yieldAsOfDate')
104
+ (DateTimeHelper.from_rfc3339(hash['yieldAsOfDate']) if hash['yieldAsOfDate'])
105
+ else
106
+ SKIP
107
+ end
108
+
109
+ # Create a new hash for additional properties, removing known properties.
110
+ new_hash = hash.reject { |k, _| names.value?(k) }
111
+
112
+ additional_properties = APIHelper.get_additional_properties(
113
+ new_hash, proc { |value| value }
114
+ )
115
+
116
+ # Create object from extracted values.
117
+ MutualFundSecurityEntity.new(mutual_fund_type: mutual_fund_type,
118
+ units_street: units_street,
119
+ units_user: units_user,
120
+ reinvest_dividends: reinvest_dividends,
121
+ reinvest_capital_gains: reinvest_capital_gains,
122
+ myield: myield,
123
+ yield_as_of_date: yield_as_of_date,
124
+ additional_properties: additional_properties)
125
+ end
126
+
127
+ def to_custom_yield_as_of_date
128
+ DateTimeHelper.to_rfc3339(yield_as_of_date)
129
+ end
130
+
131
+ # Provides a human-readable string representation of the object.
132
+ def to_s
133
+ class_name = self.class.name.split('::').last
134
+ "<#{class_name} mutual_fund_type: #{@mutual_fund_type}, units_street: #{@units_street},"\
135
+ " units_user: #{@units_user}, reinvest_dividends: #{@reinvest_dividends},"\
136
+ " reinvest_capital_gains: #{@reinvest_capital_gains}, myield: #{@myield}, yield_as_of_date:"\
137
+ " #{@yield_as_of_date}, additional_properties: #{@additional_properties}>"
138
+ end
139
+
140
+ # Provides a debugging-friendly string with detailed object information.
141
+ def inspect
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} mutual_fund_type: #{@mutual_fund_type.inspect}, units_street:"\
144
+ " #{@units_street.inspect}, units_user: #{@units_user.inspect}, reinvest_dividends:"\
145
+ " #{@reinvest_dividends.inspect}, reinvest_capital_gains:"\
146
+ " #{@reinvest_capital_gains.inspect}, myield: #{@myield.inspect}, yield_as_of_date:"\
147
+ " #{@yield_as_of_date.inspect}, additional_properties: #{@additional_properties}>"
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,40 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Mutual fund type
8
+ class MutualFundType
9
+ MUTUAL_FUND_TYPE = [
10
+ # TODO: Write general description for OPENEND
11
+ OPENEND = 'OPENEND'.freeze,
12
+
13
+ # TODO: Write general description for CLOSEEND
14
+ CLOSEEND = 'CLOSEEND'.freeze,
15
+
16
+ # TODO: Write general description for OTHER
17
+ OTHER = 'OTHER'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ true
24
+ end
25
+
26
+ def self.from_value(value, default_value = OPENEND)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'openend' then OPENEND
33
+ when 'closeend' then CLOSEEND
34
+ when 'other' then OTHER
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,99 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # The issued JWT will have an expiration that is set by the provider and will
8
+ # be valid only for the data permissioned by the end-user. Required: -
9
+ # `grant_type`. Use `authorization_code` as the grant type. - `redirect_uri`.
10
+ # You must include your app's registered redirect uri. - `code`. To obtain id
11
+ # and refresh tokens, you must first obtain an authorization code. Pass it in
12
+ # the body of the request as code. Note, the code expires in 5 minutes.
13
+ class ObtainTokens < BaseModel
14
+ SKIP = Object.new
15
+ private_constant :SKIP
16
+
17
+ # Set to `authorization_code` to indicate an authorization code will be
18
+ # returned
19
+ # @return [String]
20
+ attr_accessor :grant_type
21
+
22
+ # URI where user will be redirected after end-users authorization is
23
+ # complete. It must be the same as the URI called in the authorization
24
+ # request
25
+ # @return [String]
26
+ attr_accessor :redirect_uri
27
+
28
+ # Authorization code from end-user's authentication.
29
+ # @return [String]
30
+ attr_accessor :code
31
+
32
+ # A mapping from model property names to API property names.
33
+ def self.names
34
+ @_hash = {} if @_hash.nil?
35
+ @_hash['grant_type'] = 'grant_type'
36
+ @_hash['redirect_uri'] = 'redirect_uri'
37
+ @_hash['code'] = 'code'
38
+ @_hash
39
+ end
40
+
41
+ # An array for optional fields
42
+ def self.optionals
43
+ []
44
+ end
45
+
46
+ # An array for nullable fields
47
+ def self.nullables
48
+ []
49
+ end
50
+
51
+ def initialize(grant_type: 'authorization_code', redirect_uri:, code:,
52
+ additional_properties: nil)
53
+ # Add additional model properties to the instance
54
+ additional_properties = {} if additional_properties.nil?
55
+
56
+ @grant_type = grant_type
57
+ @redirect_uri = redirect_uri
58
+ @code = code
59
+ @additional_properties = additional_properties
60
+ end
61
+
62
+ # Creates an instance of the object from a hash.
63
+ def self.from_hash(hash)
64
+ return nil unless hash
65
+
66
+ # Extract variables from the hash.
67
+ grant_type = hash['grant_type'] ||= 'authorization_code'
68
+ redirect_uri = hash.key?('redirect_uri') ? hash['redirect_uri'] : nil
69
+ code = hash.key?('code') ? hash['code'] : nil
70
+
71
+ # Create a new hash for additional properties, removing known properties.
72
+ new_hash = hash.reject { |k, _| names.value?(k) }
73
+
74
+ additional_properties = APIHelper.get_additional_properties(
75
+ new_hash, proc { |value| value }
76
+ )
77
+
78
+ # Create object from extracted values.
79
+ ObtainTokens.new(grant_type: grant_type,
80
+ redirect_uri: redirect_uri,
81
+ code: code,
82
+ additional_properties: additional_properties)
83
+ end
84
+
85
+ # Provides a human-readable string representation of the object.
86
+ def to_s
87
+ class_name = self.class.name.split('::').last
88
+ "<#{class_name} grant_type: #{@grant_type}, redirect_uri: #{@redirect_uri}, code: #{@code},"\
89
+ " additional_properties: #{@additional_properties}>"
90
+ end
91
+
92
+ # Provides a debugging-friendly string with detailed object information.
93
+ def inspect
94
+ class_name = self.class.name.split('::').last
95
+ "<#{class_name} grant_type: #{@grant_type.inspect}, redirect_uri: #{@redirect_uri.inspect},"\
96
+ " code: #{@code.inspect}, additional_properties: #{@additional_properties}>"
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,228 @@
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
+ # Information on an open order.
9
+ class OpenOrderEntity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # Long term persistent identity of the order. Id for this order transaction.
14
+ # @return [String]
15
+ attr_accessor :order_id
16
+
17
+ # Unique identifier of the security.
18
+ # @return [String]
19
+ attr_accessor :security_id
20
+
21
+ # Security identifier type
22
+ # @return [SecurityIdType]
23
+ attr_accessor :security_id_type
24
+
25
+ # Market symbol
26
+ # @return [String]
27
+ attr_accessor :symbol
28
+
29
+ # Description of order
30
+ # @return [String]
31
+ attr_accessor :description
32
+
33
+ # Number of units (shares, bonds, etc.)
34
+ # @return [Float]
35
+ attr_accessor :units
36
+
37
+ # Type of order.
38
+ # @return [OrderType]
39
+ attr_accessor :order_type
40
+
41
+ # Order date
42
+ # @return [DateTime]
43
+ attr_accessor :order_date
44
+
45
+ # Unit price
46
+ # @return [Float]
47
+ attr_accessor :unit_price
48
+
49
+ # Type of unit.
50
+ # @return [UnitTypeOpenOrderEntity]
51
+ attr_accessor :unit_type
52
+
53
+ # This order is good for DAY, GOODTILLCANCEL, IMMEDIATE
54
+ # @return [OrderDuration]
55
+ attr_accessor :order_duration
56
+
57
+ # This order is good for DAY, GOODTILLCANCEL, IMMEDIATE
58
+ # @return [SubAccount]
59
+ attr_accessor :sub_account
60
+
61
+ # Limit Price
62
+ # @return [Float]
63
+ attr_accessor :limit_price
64
+
65
+ # Stop price
66
+ # @return [Float]
67
+ attr_accessor :stop_price
68
+
69
+ # For 401(k) accounts, source of money for this order. Default if not
70
+ # present is OTHERNONVEST.
71
+ # @return [Inv401KSourceOpenOrderEntity]
72
+ attr_accessor :inv401k_source
73
+
74
+ # A mapping from model property names to API property names.
75
+ def self.names
76
+ @_hash = {} if @_hash.nil?
77
+ @_hash['order_id'] = 'orderId'
78
+ @_hash['security_id'] = 'securityId'
79
+ @_hash['security_id_type'] = 'securityIdType'
80
+ @_hash['symbol'] = 'symbol'
81
+ @_hash['description'] = 'description'
82
+ @_hash['units'] = 'units'
83
+ @_hash['order_type'] = 'orderType'
84
+ @_hash['order_date'] = 'orderDate'
85
+ @_hash['unit_price'] = 'unitPrice'
86
+ @_hash['unit_type'] = 'unitType'
87
+ @_hash['order_duration'] = 'orderDuration'
88
+ @_hash['sub_account'] = 'subAccount'
89
+ @_hash['limit_price'] = 'limitPrice'
90
+ @_hash['stop_price'] = 'stopPrice'
91
+ @_hash['inv401k_source'] = 'inv401kSource'
92
+ @_hash
93
+ end
94
+
95
+ # An array for optional fields
96
+ def self.optionals
97
+ %w[
98
+ order_id
99
+ security_id
100
+ security_id_type
101
+ symbol
102
+ description
103
+ units
104
+ order_type
105
+ order_date
106
+ unit_price
107
+ unit_type
108
+ order_duration
109
+ sub_account
110
+ limit_price
111
+ stop_price
112
+ inv401k_source
113
+ ]
114
+ end
115
+
116
+ # An array for nullable fields
117
+ def self.nullables
118
+ []
119
+ end
120
+
121
+ def initialize(order_id: SKIP, security_id: SKIP, security_id_type: SKIP,
122
+ symbol: SKIP, description: SKIP, units: SKIP,
123
+ order_type: SKIP, order_date: SKIP, unit_price: SKIP,
124
+ unit_type: SKIP, order_duration: SKIP, sub_account: SKIP,
125
+ limit_price: SKIP, stop_price: SKIP, inv401k_source: SKIP,
126
+ additional_properties: nil)
127
+ # Add additional model properties to the instance
128
+ additional_properties = {} if additional_properties.nil?
129
+
130
+ @order_id = order_id unless order_id == SKIP
131
+ @security_id = security_id unless security_id == SKIP
132
+ @security_id_type = security_id_type unless security_id_type == SKIP
133
+ @symbol = symbol unless symbol == SKIP
134
+ @description = description unless description == SKIP
135
+ @units = units unless units == SKIP
136
+ @order_type = order_type unless order_type == SKIP
137
+ @order_date = order_date unless order_date == SKIP
138
+ @unit_price = unit_price unless unit_price == SKIP
139
+ @unit_type = unit_type unless unit_type == SKIP
140
+ @order_duration = order_duration unless order_duration == SKIP
141
+ @sub_account = sub_account unless sub_account == SKIP
142
+ @limit_price = limit_price unless limit_price == SKIP
143
+ @stop_price = stop_price unless stop_price == SKIP
144
+ @inv401k_source = inv401k_source unless inv401k_source == SKIP
145
+ @additional_properties = additional_properties
146
+ end
147
+
148
+ # Creates an instance of the object from a hash.
149
+ def self.from_hash(hash)
150
+ return nil unless hash
151
+
152
+ # Extract variables from the hash.
153
+ order_id = hash.key?('orderId') ? hash['orderId'] : SKIP
154
+ security_id = hash.key?('securityId') ? hash['securityId'] : SKIP
155
+ security_id_type =
156
+ hash.key?('securityIdType') ? hash['securityIdType'] : SKIP
157
+ symbol = hash.key?('symbol') ? hash['symbol'] : SKIP
158
+ description = hash.key?('description') ? hash['description'] : SKIP
159
+ units = hash.key?('units') ? hash['units'] : SKIP
160
+ order_type = hash.key?('orderType') ? hash['orderType'] : SKIP
161
+ order_date = if hash.key?('orderDate')
162
+ (DateTimeHelper.from_rfc3339(hash['orderDate']) if hash['orderDate'])
163
+ else
164
+ SKIP
165
+ end
166
+ unit_price = hash.key?('unitPrice') ? hash['unitPrice'] : SKIP
167
+ unit_type = hash.key?('unitType') ? hash['unitType'] : SKIP
168
+ order_duration = hash.key?('orderDuration') ? hash['orderDuration'] : SKIP
169
+ sub_account = hash.key?('subAccount') ? hash['subAccount'] : SKIP
170
+ limit_price = hash.key?('limitPrice') ? hash['limitPrice'] : SKIP
171
+ stop_price = hash.key?('stopPrice') ? hash['stopPrice'] : SKIP
172
+ inv401k_source = hash.key?('inv401kSource') ? hash['inv401kSource'] : SKIP
173
+
174
+ # Create a new hash for additional properties, removing known properties.
175
+ new_hash = hash.reject { |k, _| names.value?(k) }
176
+
177
+ additional_properties = APIHelper.get_additional_properties(
178
+ new_hash, proc { |value| value }
179
+ )
180
+
181
+ # Create object from extracted values.
182
+ OpenOrderEntity.new(order_id: order_id,
183
+ security_id: security_id,
184
+ security_id_type: security_id_type,
185
+ symbol: symbol,
186
+ description: description,
187
+ units: units,
188
+ order_type: order_type,
189
+ order_date: order_date,
190
+ unit_price: unit_price,
191
+ unit_type: unit_type,
192
+ order_duration: order_duration,
193
+ sub_account: sub_account,
194
+ limit_price: limit_price,
195
+ stop_price: stop_price,
196
+ inv401k_source: inv401k_source,
197
+ additional_properties: additional_properties)
198
+ end
199
+
200
+ def to_custom_order_date
201
+ DateTimeHelper.to_rfc3339(order_date)
202
+ end
203
+
204
+ # Provides a human-readable string representation of the object.
205
+ def to_s
206
+ class_name = self.class.name.split('::').last
207
+ "<#{class_name} order_id: #{@order_id}, security_id: #{@security_id}, security_id_type:"\
208
+ " #{@security_id_type}, symbol: #{@symbol}, description: #{@description}, units: #{@units},"\
209
+ " order_type: #{@order_type}, order_date: #{@order_date}, unit_price: #{@unit_price},"\
210
+ " unit_type: #{@unit_type}, order_duration: #{@order_duration}, sub_account:"\
211
+ " #{@sub_account}, limit_price: #{@limit_price}, stop_price: #{@stop_price}, inv401k_source:"\
212
+ " #{@inv401k_source}, additional_properties: #{@additional_properties}>"
213
+ end
214
+
215
+ # Provides a debugging-friendly string with detailed object information.
216
+ def inspect
217
+ class_name = self.class.name.split('::').last
218
+ "<#{class_name} order_id: #{@order_id.inspect}, security_id: #{@security_id.inspect},"\
219
+ " security_id_type: #{@security_id_type.inspect}, symbol: #{@symbol.inspect}, description:"\
220
+ " #{@description.inspect}, units: #{@units.inspect}, order_type: #{@order_type.inspect},"\
221
+ " order_date: #{@order_date.inspect}, unit_price: #{@unit_price.inspect}, unit_type:"\
222
+ " #{@unit_type.inspect}, order_duration: #{@order_duration.inspect}, sub_account:"\
223
+ " #{@sub_account.inspect}, limit_price: #{@limit_price.inspect}, stop_price:"\
224
+ " #{@stop_price.inspect}, inv401k_source: #{@inv401k_source.inspect}, additional_properties:"\
225
+ " #{@additional_properties}>"
226
+ end
227
+ end
228
+ end
@@ -0,0 +1,125 @@
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
+ # OptionSecurity Model.
9
+ class OptionSecurity < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [DateTime]
15
+ attr_accessor :expire_date
16
+
17
+ # TODO: Write general description for this method
18
+ # @return [String]
19
+ attr_accessor :option_type
20
+
21
+ # TODO: Write general description for this method
22
+ # @return [String]
23
+ attr_accessor :secured
24
+
25
+ # TODO: Write general description for this method
26
+ # @return [Float]
27
+ attr_accessor :strike_price
28
+
29
+ # A mapping from model property names to API property names.
30
+ def self.names
31
+ @_hash = {} if @_hash.nil?
32
+ @_hash['expire_date'] = 'expireDate'
33
+ @_hash['option_type'] = 'optionType'
34
+ @_hash['secured'] = 'secured'
35
+ @_hash['strike_price'] = 'strikePrice'
36
+ @_hash
37
+ end
38
+
39
+ # An array for optional fields
40
+ def self.optionals
41
+ %w[
42
+ expire_date
43
+ option_type
44
+ secured
45
+ strike_price
46
+ ]
47
+ end
48
+
49
+ # An array for nullable fields
50
+ def self.nullables
51
+ []
52
+ end
53
+
54
+ def initialize(expire_date: SKIP, option_type: SKIP, secured: SKIP,
55
+ strike_price: SKIP, additional_properties: nil)
56
+ # Add additional model properties to the instance
57
+ additional_properties = {} if additional_properties.nil?
58
+
59
+ @expire_date = expire_date unless expire_date == SKIP
60
+ @option_type = option_type unless option_type == SKIP
61
+ @secured = secured unless secured == SKIP
62
+ @strike_price = strike_price unless strike_price == SKIP
63
+ @additional_properties = additional_properties
64
+ end
65
+
66
+ # Creates an instance of the object from a hash.
67
+ def self.from_hash(hash)
68
+ return nil unless hash
69
+
70
+ # Extract variables from the hash.
71
+ expire_date = if hash.key?('expireDate')
72
+ (DateTimeHelper.from_rfc3339(hash['expireDate']) if hash['expireDate'])
73
+ else
74
+ SKIP
75
+ end
76
+ option_type = hash.key?('optionType') ? hash['optionType'] : SKIP
77
+ secured = hash.key?('secured') ? hash['secured'] : SKIP
78
+ strike_price = hash.key?('strikePrice') ? hash['strikePrice'] : SKIP
79
+
80
+ # Create a new hash for additional properties, removing known properties.
81
+ new_hash = hash.reject { |k, _| names.value?(k) }
82
+
83
+ additional_properties = APIHelper.get_additional_properties(
84
+ new_hash, proc { |value| value }
85
+ )
86
+
87
+ # Create object from extracted values.
88
+ OptionSecurity.new(expire_date: expire_date,
89
+ option_type: option_type,
90
+ secured: secured,
91
+ strike_price: strike_price,
92
+ additional_properties: additional_properties)
93
+ end
94
+
95
+ def to_custom_expire_date
96
+ DateTimeHelper.to_rfc3339(expire_date)
97
+ end
98
+
99
+ # Validates an instance of the object from a given value.
100
+ # @param [OptionSecurity | Hash] The value against the validation is performed.
101
+ def self.validate(value)
102
+ return true if value.instance_of? self
103
+
104
+ return false unless value.instance_of? Hash
105
+
106
+ true
107
+ end
108
+
109
+ # Provides a human-readable string representation of the object.
110
+ def to_s
111
+ class_name = self.class.name.split('::').last
112
+ "<#{class_name} expire_date: #{@expire_date}, option_type: #{@option_type}, secured:"\
113
+ " #{@secured}, strike_price: #{@strike_price}, additional_properties:"\
114
+ " #{@additional_properties}>"
115
+ end
116
+
117
+ # Provides a debugging-friendly string with detailed object information.
118
+ def inspect
119
+ class_name = self.class.name.split('::').last
120
+ "<#{class_name} expire_date: #{@expire_date.inspect}, option_type: #{@option_type.inspect},"\
121
+ " secured: #{@secured.inspect}, strike_price: #{@strike_price.inspect},"\
122
+ " additional_properties: #{@additional_properties}>"
123
+ end
124
+ end
125
+ end