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,110 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Types of relationships between accounts and holders. Suggested values
8
+ class AccountHolderRelationship
9
+ ACCOUNT_HOLDER_RELATIONSHIP = [
10
+ # TODO: Write general description for AUTHORIZED_USER
11
+ AUTHORIZED_USER = 'AUTHORIZED_USER'.freeze,
12
+
13
+ # TODO: Write general description for BUSINESS
14
+ BUSINESS = 'BUSINESS'.freeze,
15
+
16
+ # TODO: Write general description for FOR_BENEFIT_OF
17
+ FOR_BENEFIT_OF = 'FOR_BENEFIT_OF'.freeze,
18
+
19
+ # TODO: Write general description for FOR_BENEFIT_OF_PRIMARY
20
+ FOR_BENEFIT_OF_PRIMARY = 'FOR_BENEFIT_OF_PRIMARY'.freeze,
21
+
22
+ # TODO: Write general description for
23
+ # FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED
24
+ FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED = 'FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED'.freeze,
25
+
26
+ # TODO: Write general description for FOR_BENEFIT_OF_SECONDARY
27
+ FOR_BENEFIT_OF_SECONDARY = 'FOR_BENEFIT_OF_SECONDARY'.freeze,
28
+
29
+ # TODO: Write general description for
30
+ # FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED
31
+ FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED = 'FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED'.freeze,
32
+
33
+ # TODO: Write general description for FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED
34
+ FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED = 'FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED'.freeze,
35
+
36
+ # TODO: Write general description for POWER_OF_ATTORNEY
37
+ POWER_OF_ATTORNEY = 'POWER_OF_ATTORNEY'.freeze,
38
+
39
+ # TODO: Write general description for PRIMARY_JOINT_TENANTS
40
+ PRIMARY_JOINT_TENANTS = 'PRIMARY_JOINT_TENANTS'.freeze,
41
+
42
+ # TODO: Write general description for PRIMARY
43
+ PRIMARY = 'PRIMARY'.freeze,
44
+
45
+ # TODO: Write general description for PRIMARY_BORROWER
46
+ PRIMARY_BORROWER = 'PRIMARY_BORROWER'.freeze,
47
+
48
+ # TODO: Write general description for PRIMARY_JOINT
49
+ PRIMARY_JOINT = 'PRIMARY_JOINT'.freeze,
50
+
51
+ # TODO: Write general description for SECONDARY
52
+ SECONDARY = 'SECONDARY'.freeze,
53
+
54
+ # TODO: Write general description for SECONDARY_JOINT_TENANTS
55
+ SECONDARY_JOINT_TENANTS = 'SECONDARY_JOINT_TENANTS'.freeze,
56
+
57
+ # TODO: Write general description for SECONDARY_BORROWER
58
+ SECONDARY_BORROWER = 'SECONDARY_BORROWER'.freeze,
59
+
60
+ # TODO: Write general description for SECONDARY_JOINT
61
+ SECONDARY_JOINT = 'SECONDARY_JOINT'.freeze,
62
+
63
+ # TODO: Write general description for SOLE_OWNER
64
+ SOLE_OWNER = 'SOLE_OWNER'.freeze,
65
+
66
+ # TODO: Write general description for TRUSTEE
67
+ TRUSTEE = 'TRUSTEE'.freeze,
68
+
69
+ # TODO: Write general description for UNIFORM_TRANSFER_TO_MINOR
70
+ UNIFORM_TRANSFER_TO_MINOR = 'UNIFORM_TRANSFER_TO_MINOR'.freeze
71
+ ].freeze
72
+
73
+ def self.validate(value)
74
+ return false if value.nil?
75
+
76
+ true
77
+ end
78
+
79
+ def self.from_value(value, default_value = AUTHORIZED_USER)
80
+ return default_value if value.nil?
81
+
82
+ str = value.to_s.strip
83
+
84
+ case str.downcase
85
+ when 'authorized_user' then AUTHORIZED_USER
86
+ when 'business' then BUSINESS
87
+ when 'for_benefit_of' then FOR_BENEFIT_OF
88
+ when 'for_benefit_of_primary' then FOR_BENEFIT_OF_PRIMARY
89
+ when 'for_benefit_of_primary_joint_restricted' then FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED
90
+ when 'for_benefit_of_secondary' then FOR_BENEFIT_OF_SECONDARY
91
+ when 'for_benefit_of_secondary_joint_restricted' then FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED
92
+ when 'for_benefit_of_sole_owner_restricted' then FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED
93
+ when 'power_of_attorney' then POWER_OF_ATTORNEY
94
+ when 'primary_joint_tenants' then PRIMARY_JOINT_TENANTS
95
+ when 'primary' then PRIMARY
96
+ when 'primary_borrower' then PRIMARY_BORROWER
97
+ when 'primary_joint' then PRIMARY_JOINT
98
+ when 'secondary' then SECONDARY
99
+ when 'secondary_joint_tenants' then SECONDARY_JOINT_TENANTS
100
+ when 'secondary_borrower' then SECONDARY_BORROWER
101
+ when 'secondary_joint' then SECONDARY_JOINT
102
+ when 'sole_owner' then SOLE_OWNER
103
+ when 'trustee' then TRUSTEE
104
+ when 'uniform_transfer_to_minor' then UNIFORM_TRANSFER_TO_MINOR
105
+ else
106
+ default_value
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,110 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # Customer's relationship to the account
8
+ class AccountHolderRelationshipAccountHolderEntity
9
+ ACCOUNT_HOLDER_RELATIONSHIP_ACCOUNT_HOLDER_ENTITY = [
10
+ # TODO: Write general description for AUTHORIZED_USER
11
+ AUTHORIZED_USER = 'AUTHORIZED_USER'.freeze,
12
+
13
+ # TODO: Write general description for BUSINESS
14
+ BUSINESS = 'BUSINESS'.freeze,
15
+
16
+ # TODO: Write general description for FOR_BENEFIT_OF
17
+ FOR_BENEFIT_OF = 'FOR_BENEFIT_OF'.freeze,
18
+
19
+ # TODO: Write general description for FOR_BENEFIT_OF_PRIMARY
20
+ FOR_BENEFIT_OF_PRIMARY = 'FOR_BENEFIT_OF_PRIMARY'.freeze,
21
+
22
+ # TODO: Write general description for
23
+ # FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED
24
+ FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED = 'FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED'.freeze,
25
+
26
+ # TODO: Write general description for FOR_BENEFIT_OF_SECONDARY
27
+ FOR_BENEFIT_OF_SECONDARY = 'FOR_BENEFIT_OF_SECONDARY'.freeze,
28
+
29
+ # TODO: Write general description for
30
+ # FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED
31
+ FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED = 'FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED'.freeze,
32
+
33
+ # TODO: Write general description for FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED
34
+ FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED = 'FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED'.freeze,
35
+
36
+ # TODO: Write general description for POWER_OF_ATTORNEY
37
+ POWER_OF_ATTORNEY = 'POWER_OF_ATTORNEY'.freeze,
38
+
39
+ # TODO: Write general description for PRIMARY_JOINT_TENANTS
40
+ PRIMARY_JOINT_TENANTS = 'PRIMARY_JOINT_TENANTS'.freeze,
41
+
42
+ # TODO: Write general description for PRIMARY
43
+ PRIMARY = 'PRIMARY'.freeze,
44
+
45
+ # TODO: Write general description for PRIMARY_BORROWER
46
+ PRIMARY_BORROWER = 'PRIMARY_BORROWER'.freeze,
47
+
48
+ # TODO: Write general description for PRIMARY_JOINT
49
+ PRIMARY_JOINT = 'PRIMARY_JOINT'.freeze,
50
+
51
+ # TODO: Write general description for SECONDARY
52
+ SECONDARY = 'SECONDARY'.freeze,
53
+
54
+ # TODO: Write general description for SECONDARY_JOINT_TENANTS
55
+ SECONDARY_JOINT_TENANTS = 'SECONDARY_JOINT_TENANTS'.freeze,
56
+
57
+ # TODO: Write general description for SECONDARY_BORROWER
58
+ SECONDARY_BORROWER = 'SECONDARY_BORROWER'.freeze,
59
+
60
+ # TODO: Write general description for SECONDARY_JOINT
61
+ SECONDARY_JOINT = 'SECONDARY_JOINT'.freeze,
62
+
63
+ # TODO: Write general description for SOLE_OWNER
64
+ SOLE_OWNER = 'SOLE_OWNER'.freeze,
65
+
66
+ # TODO: Write general description for TRUSTEE
67
+ TRUSTEE = 'TRUSTEE'.freeze,
68
+
69
+ # TODO: Write general description for UNIFORM_TRANSFER_TO_MINOR
70
+ UNIFORM_TRANSFER_TO_MINOR = 'UNIFORM_TRANSFER_TO_MINOR'.freeze
71
+ ].freeze
72
+
73
+ def self.validate(value)
74
+ return false if value.nil?
75
+
76
+ true
77
+ end
78
+
79
+ def self.from_value(value, default_value = AUTHORIZED_USER)
80
+ return default_value if value.nil?
81
+
82
+ str = value.to_s.strip
83
+
84
+ case str.downcase
85
+ when 'authorized_user' then AUTHORIZED_USER
86
+ when 'business' then BUSINESS
87
+ when 'for_benefit_of' then FOR_BENEFIT_OF
88
+ when 'for_benefit_of_primary' then FOR_BENEFIT_OF_PRIMARY
89
+ when 'for_benefit_of_primary_joint_restricted' then FOR_BENEFIT_OF_PRIMARY_JOINT_RESTRICTED
90
+ when 'for_benefit_of_secondary' then FOR_BENEFIT_OF_SECONDARY
91
+ when 'for_benefit_of_secondary_joint_restricted' then FOR_BENEFIT_OF_SECONDARY_JOINT_RESTRICTED
92
+ when 'for_benefit_of_sole_owner_restricted' then FOR_BENEFIT_OF_SOLE_OWNER_RESTRICTED
93
+ when 'power_of_attorney' then POWER_OF_ATTORNEY
94
+ when 'primary_joint_tenants' then PRIMARY_JOINT_TENANTS
95
+ when 'primary' then PRIMARY
96
+ when 'primary_borrower' then PRIMARY_BORROWER
97
+ when 'primary_joint' then PRIMARY_JOINT
98
+ when 'secondary' then SECONDARY
99
+ when 'secondary_joint_tenants' then SECONDARY_JOINT_TENANTS
100
+ when 'secondary_borrower' then SECONDARY_BORROWER
101
+ when 'secondary_joint' then SECONDARY_JOINT
102
+ when 'sole_owner' then SOLE_OWNER
103
+ when 'trustee' then TRUSTEE
104
+ when 'uniform_transfer_to_minor' then UNIFORM_TRANSFER_TO_MINOR
105
+ else
106
+ default_value
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,335 @@
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
+ # AccountInformation Model.
9
+ class AccountInformation < 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 [ErrorEntityAccountInformation]
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
+ # A mapping from model property names to API property names.
106
+ def self.names
107
+ @_hash = {} if @_hash.nil?
108
+ @_hash['account_id'] = 'accountId'
109
+ @_hash['account_type'] = 'accountType'
110
+ @_hash['account_number_display'] = 'accountNumberDisplay'
111
+ @_hash['currency'] = 'currency'
112
+ @_hash['description'] = 'description'
113
+ @_hash['error'] = 'error'
114
+ @_hash['fi_attributes'] = 'fiAttributes'
115
+ @_hash['nickname'] = 'nickname'
116
+ @_hash['product_name'] = 'productName'
117
+ @_hash['status'] = 'status'
118
+ @_hash['line_of_business'] = 'lineOfBusiness'
119
+ @_hash['balance_type'] = 'balanceType'
120
+ @_hash['interest_rate'] = 'interestRate'
121
+ @_hash['interest_rate_type'] = 'interestRateType'
122
+ @_hash['interest_rate_as_of'] = 'interestRateAsOf'
123
+ @_hash['last_activity_date'] = 'lastActivityDate'
124
+ @_hash['micr_number'] = 'micrNumber'
125
+ @_hash['parent_account_id'] = 'parentAccountId'
126
+ @_hash['prior_interest_rate'] = 'priorInterestRate'
127
+ @_hash['transfer_in'] = 'transferIn'
128
+ @_hash['transfer_out'] = 'transferOut'
129
+ @_hash
130
+ end
131
+
132
+ # An array for optional fields
133
+ def self.optionals
134
+ %w[
135
+ account_type
136
+ account_number_display
137
+ currency
138
+ description
139
+ error
140
+ fi_attributes
141
+ nickname
142
+ product_name
143
+ status
144
+ line_of_business
145
+ balance_type
146
+ interest_rate
147
+ interest_rate_type
148
+ interest_rate_as_of
149
+ last_activity_date
150
+ micr_number
151
+ parent_account_id
152
+ prior_interest_rate
153
+ transfer_in
154
+ transfer_out
155
+ ]
156
+ end
157
+
158
+ # An array for nullable fields
159
+ def self.nullables
160
+ []
161
+ end
162
+
163
+ def initialize(account_id:, account_type: SKIP,
164
+ account_number_display: SKIP, currency: SKIP,
165
+ description: SKIP, error: SKIP, fi_attributes: SKIP,
166
+ nickname: SKIP, product_name: SKIP, status: SKIP,
167
+ line_of_business: SKIP, balance_type: SKIP,
168
+ interest_rate: SKIP, interest_rate_type: SKIP,
169
+ interest_rate_as_of: SKIP, last_activity_date: SKIP,
170
+ micr_number: SKIP, parent_account_id: SKIP,
171
+ prior_interest_rate: SKIP, transfer_in: SKIP,
172
+ transfer_out: SKIP, additional_properties: nil)
173
+ # Add additional model properties to the instance
174
+ additional_properties = {} if additional_properties.nil?
175
+
176
+ @account_id = account_id
177
+ @account_type = account_type unless account_type == SKIP
178
+ @account_number_display = account_number_display unless account_number_display == SKIP
179
+ @currency = currency unless currency == SKIP
180
+ @description = description unless description == SKIP
181
+ @error = error unless error == SKIP
182
+ @fi_attributes = fi_attributes unless fi_attributes == SKIP
183
+ @nickname = nickname unless nickname == SKIP
184
+ @product_name = product_name unless product_name == SKIP
185
+ @status = status unless status == SKIP
186
+ @line_of_business = line_of_business unless line_of_business == SKIP
187
+ @balance_type = balance_type unless balance_type == SKIP
188
+ @interest_rate = interest_rate unless interest_rate == SKIP
189
+ @interest_rate_type = interest_rate_type unless interest_rate_type == SKIP
190
+ @interest_rate_as_of = interest_rate_as_of unless interest_rate_as_of == SKIP
191
+ @last_activity_date = last_activity_date unless last_activity_date == SKIP
192
+ @micr_number = micr_number unless micr_number == SKIP
193
+ @parent_account_id = parent_account_id unless parent_account_id == SKIP
194
+ @prior_interest_rate = prior_interest_rate unless prior_interest_rate == SKIP
195
+ @transfer_in = transfer_in unless transfer_in == SKIP
196
+ @transfer_out = transfer_out unless transfer_out == SKIP
197
+ @additional_properties = additional_properties
198
+ end
199
+
200
+ # Creates an instance of the object from a hash.
201
+ def self.from_hash(hash)
202
+ return nil unless hash
203
+
204
+ # Extract variables from the hash.
205
+ account_id = hash.key?('accountId') ? hash['accountId'] : nil
206
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
207
+ account_number_display =
208
+ hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
209
+ currency = CurrencyEntity.from_hash(hash['currency']) if hash['currency']
210
+ description = hash.key?('description') ? hash['description'] : SKIP
211
+ error = ErrorEntityAccountInformation.from_hash(hash['error']) if hash['error']
212
+ # Parameter is an array, so we need to iterate through it
213
+ fi_attributes = nil
214
+ unless hash['fiAttributes'].nil?
215
+ fi_attributes = []
216
+ hash['fiAttributes'].each do |structure|
217
+ fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
218
+ end
219
+ end
220
+
221
+ fi_attributes = SKIP unless hash.key?('fiAttributes')
222
+ nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
223
+ product_name = hash.key?('productName') ? hash['productName'] : SKIP
224
+ status = hash.key?('status') ? hash['status'] : SKIP
225
+ line_of_business =
226
+ hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
227
+ balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
228
+ interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
229
+ interest_rate_type =
230
+ hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
231
+ interest_rate_as_of = if hash.key?('interestRateAsOf')
232
+ (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
233
+ else
234
+ SKIP
235
+ end
236
+ last_activity_date = if hash.key?('lastActivityDate')
237
+ (DateTimeHelper.from_rfc3339(hash['lastActivityDate']) if hash['lastActivityDate'])
238
+ else
239
+ SKIP
240
+ end
241
+ micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
242
+ parent_account_id =
243
+ hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
244
+ prior_interest_rate =
245
+ hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
246
+ transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
247
+ transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
248
+
249
+ # Create a new hash for additional properties, removing known properties.
250
+ new_hash = hash.reject { |k, _| names.value?(k) }
251
+
252
+ additional_properties = APIHelper.get_additional_properties(
253
+ new_hash, proc { |value| value }
254
+ )
255
+
256
+ # Create object from extracted values.
257
+ AccountInformation.new(account_id: account_id,
258
+ account_type: account_type,
259
+ account_number_display: account_number_display,
260
+ currency: currency,
261
+ description: description,
262
+ error: error,
263
+ fi_attributes: fi_attributes,
264
+ nickname: nickname,
265
+ product_name: product_name,
266
+ status: status,
267
+ line_of_business: line_of_business,
268
+ balance_type: balance_type,
269
+ interest_rate: interest_rate,
270
+ interest_rate_type: interest_rate_type,
271
+ interest_rate_as_of: interest_rate_as_of,
272
+ last_activity_date: last_activity_date,
273
+ micr_number: micr_number,
274
+ parent_account_id: parent_account_id,
275
+ prior_interest_rate: prior_interest_rate,
276
+ transfer_in: transfer_in,
277
+ transfer_out: transfer_out,
278
+ additional_properties: additional_properties)
279
+ end
280
+
281
+ def to_custom_interest_rate_as_of
282
+ DateTimeHelper.to_rfc3339(interest_rate_as_of)
283
+ end
284
+
285
+ def to_custom_last_activity_date
286
+ DateTimeHelper.to_rfc3339(last_activity_date)
287
+ end
288
+
289
+ # Validates an instance of the object from a given value.
290
+ # @param [AccountInformation | Hash] The value against the validation is performed.
291
+ def self.validate(value)
292
+ if value.instance_of? self
293
+ return APIHelper.valid_type?(value.account_id,
294
+ ->(val) { val.instance_of? String })
295
+ end
296
+
297
+ return false unless value.instance_of? Hash
298
+
299
+ APIHelper.valid_type?(value['accountId'],
300
+ ->(val) { val.instance_of? String })
301
+ end
302
+
303
+ # Provides a human-readable string representation of the object.
304
+ def to_s
305
+ class_name = self.class.name.split('::').last
306
+ "<#{class_name} account_id: #{@account_id}, account_type: #{@account_type},"\
307
+ " account_number_display: #{@account_number_display}, currency: #{@currency}, description:"\
308
+ " #{@description}, error: #{@error}, fi_attributes: #{@fi_attributes}, nickname:"\
309
+ " #{@nickname}, product_name: #{@product_name}, status: #{@status}, line_of_business:"\
310
+ " #{@line_of_business}, balance_type: #{@balance_type}, interest_rate: #{@interest_rate},"\
311
+ " interest_rate_type: #{@interest_rate_type}, interest_rate_as_of: #{@interest_rate_as_of},"\
312
+ " last_activity_date: #{@last_activity_date}, micr_number: #{@micr_number},"\
313
+ " parent_account_id: #{@parent_account_id}, prior_interest_rate: #{@prior_interest_rate},"\
314
+ " transfer_in: #{@transfer_in}, transfer_out: #{@transfer_out}, additional_properties:"\
315
+ " #{@additional_properties}>"
316
+ end
317
+
318
+ # Provides a debugging-friendly string with detailed object information.
319
+ def inspect
320
+ class_name = self.class.name.split('::').last
321
+ "<#{class_name} account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect},"\
322
+ " account_number_display: #{@account_number_display.inspect}, currency:"\
323
+ " #{@currency.inspect}, description: #{@description.inspect}, error: #{@error.inspect},"\
324
+ " fi_attributes: #{@fi_attributes.inspect}, nickname: #{@nickname.inspect}, product_name:"\
325
+ " #{@product_name.inspect}, status: #{@status.inspect}, line_of_business:"\
326
+ " #{@line_of_business.inspect}, balance_type: #{@balance_type.inspect}, interest_rate:"\
327
+ " #{@interest_rate.inspect}, interest_rate_type: #{@interest_rate_type.inspect},"\
328
+ " interest_rate_as_of: #{@interest_rate_as_of.inspect}, last_activity_date:"\
329
+ " #{@last_activity_date.inspect}, micr_number: #{@micr_number.inspect}, parent_account_id:"\
330
+ " #{@parent_account_id.inspect}, prior_interest_rate: #{@prior_interest_rate.inspect},"\
331
+ " transfer_in: #{@transfer_in.inspect}, transfer_out: #{@transfer_out.inspect},"\
332
+ " additional_properties: #{@additional_properties}>"
333
+ end
334
+ end
335
+ end
@@ -0,0 +1,48 @@
1
+ # akoya
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Akoya
7
+ # HTTP Method to use for the request
8
+ class Action
9
+ ACTION = [
10
+ # TODO: Write general description for GET
11
+ GET = 'GET'.freeze,
12
+
13
+ # TODO: Write general description for POST
14
+ POST = 'POST'.freeze,
15
+
16
+ # TODO: Write general description for PATCH
17
+ PATCH = 'PATCH'.freeze,
18
+
19
+ # TODO: Write general description for DELETE
20
+ DELETE = 'DELETE'.freeze,
21
+
22
+ # TODO: Write general description for PUT
23
+ PUT = 'PUT'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ true
30
+ end
31
+
32
+ def self.from_value(value, default_value = GET)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'get' then GET
39
+ when 'post' then POST
40
+ when 'patch' then PATCH
41
+ when 'delete' then DELETE
42
+ when 'put' then PUT
43
+ else
44
+ default_value
45
+ end
46
+ end
47
+ end
48
+ end