mt-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 (318) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +188 -0
  4. data/bin/console +15 -0
  5. data/lib/modern_treasury/api_helper.rb +10 -0
  6. data/lib/modern_treasury/client.rb +275 -0
  7. data/lib/modern_treasury/configuration.rb +206 -0
  8. data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +130 -0
  9. data/lib/modern_treasury/controllers/account_detail_controller.rb +131 -0
  10. data/lib/modern_treasury/controllers/balance_report_controller.rb +76 -0
  11. data/lib/modern_treasury/controllers/base_controller.rb +60 -0
  12. data/lib/modern_treasury/controllers/connection_controller.rb +40 -0
  13. data/lib/modern_treasury/controllers/counterparty_controller.rb +188 -0
  14. data/lib/modern_treasury/controllers/document_controller.rb +285 -0
  15. data/lib/modern_treasury/controllers/event_controller.rb +72 -0
  16. data/lib/modern_treasury/controllers/expected_payment_controller.rb +162 -0
  17. data/lib/modern_treasury/controllers/external_account_controller.rb +202 -0
  18. data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +150 -0
  19. data/lib/modern_treasury/controllers/internal_account_controller.rb +134 -0
  20. data/lib/modern_treasury/controllers/invoice_controller.rb +98 -0
  21. data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +136 -0
  22. data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +292 -0
  23. data/lib/modern_treasury/controllers/ledger_account_controller.rb +202 -0
  24. data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +126 -0
  25. data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +60 -0
  26. data/lib/modern_treasury/controllers/ledger_controller.rb +152 -0
  27. data/lib/modern_treasury/controllers/ledger_entry_controller.rb +148 -0
  28. data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +119 -0
  29. data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +328 -0
  30. data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +61 -0
  31. data/lib/modern_treasury/controllers/line_item_controller.rb +107 -0
  32. data/lib/modern_treasury/controllers/paper_item_controller.rb +69 -0
  33. data/lib/modern_treasury/controllers/payment_flow_controller.rb +138 -0
  34. data/lib/modern_treasury/controllers/payment_order_controller.rb +368 -0
  35. data/lib/modern_treasury/controllers/payment_reference_controller.rb +64 -0
  36. data/lib/modern_treasury/controllers/ping_controller.rb +34 -0
  37. data/lib/modern_treasury/controllers/return_controller.rb +105 -0
  38. data/lib/modern_treasury/controllers/reversal_controller.rb +99 -0
  39. data/lib/modern_treasury/controllers/routing_detail_controller.rb +131 -0
  40. data/lib/modern_treasury/controllers/transaction_controller.rb +133 -0
  41. data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +39 -0
  42. data/lib/modern_treasury/controllers/validation_controller.rb +41 -0
  43. data/lib/modern_treasury/controllers/virtual_account_controller.rb +142 -0
  44. data/lib/modern_treasury/exceptions/api_exception.rb +21 -0
  45. data/lib/modern_treasury/exceptions/error_message_exception.rb +46 -0
  46. data/lib/modern_treasury/http/auth/basic_auth.rb +62 -0
  47. data/lib/modern_treasury/http/http_call_back.rb +10 -0
  48. data/lib/modern_treasury/http/http_method_enum.rb +10 -0
  49. data/lib/modern_treasury/http/http_request.rb +10 -0
  50. data/lib/modern_treasury/http/http_response.rb +10 -0
  51. data/lib/modern_treasury/http/proxy_settings.rb +22 -0
  52. data/lib/modern_treasury/models/account.rb +304 -0
  53. data/lib/modern_treasury/models/account1.rb +217 -0
  54. data/lib/modern_treasury/models/account_collection_flow.rb +178 -0
  55. data/lib/modern_treasury/models/account_collection_flow_create_request.rb +70 -0
  56. data/lib/modern_treasury/models/account_collection_flow_update_request.rb +61 -0
  57. data/lib/modern_treasury/models/account_detail.rb +211 -0
  58. data/lib/modern_treasury/models/account_detail1.rb +74 -0
  59. data/lib/modern_treasury/models/account_detail_create_request.rb +75 -0
  60. data/lib/modern_treasury/models/account_number_type2_enum.rb +48 -0
  61. data/lib/modern_treasury/models/account_number_type_enum.rb +49 -0
  62. data/lib/modern_treasury/models/account_type5_enum.rb +56 -0
  63. data/lib/modern_treasury/models/account_type_enum.rb +56 -0
  64. data/lib/modern_treasury/models/accounting.rb +88 -0
  65. data/lib/modern_treasury/models/accounting1.rb +63 -0
  66. data/lib/modern_treasury/models/accounts_type1_enum.rb +26 -0
  67. data/lib/modern_treasury/models/accounts_type_enum.rb +36 -0
  68. data/lib/modern_treasury/models/address.rb +231 -0
  69. data/lib/modern_treasury/models/address_request.rb +118 -0
  70. data/lib/modern_treasury/models/async_response.rb +68 -0
  71. data/lib/modern_treasury/models/balance.rb +164 -0
  72. data/lib/modern_treasury/models/balance_report.rb +178 -0
  73. data/lib/modern_treasury/models/balance_report_type1_enum.rb +44 -0
  74. data/lib/modern_treasury/models/balance_report_type_enum.rb +45 -0
  75. data/lib/modern_treasury/models/balance_type_enum.rb +63 -0
  76. data/lib/modern_treasury/models/balances.rb +71 -0
  77. data/lib/modern_treasury/models/balances1.rb +81 -0
  78. data/lib/modern_treasury/models/balances2.rb +120 -0
  79. data/lib/modern_treasury/models/balances3.rb +130 -0
  80. data/lib/modern_treasury/models/base_model.rb +110 -0
  81. data/lib/modern_treasury/models/charge_bearer_enum.rb +42 -0
  82. data/lib/modern_treasury/models/code1_enum.rb +200 -0
  83. data/lib/modern_treasury/models/code_enum.rb +68 -0
  84. data/lib/modern_treasury/models/connection.rb +209 -0
  85. data/lib/modern_treasury/models/contact_detail.rb +200 -0
  86. data/lib/modern_treasury/models/contact_detail_create_request.rb +75 -0
  87. data/lib/modern_treasury/models/contact_identifier_type_enum.rb +40 -0
  88. data/lib/modern_treasury/models/content_type_enum.rb +36 -0
  89. data/lib/modern_treasury/models/counterparty.rb +200 -0
  90. data/lib/modern_treasury/models/counterparty_billing_address.rb +106 -0
  91. data/lib/modern_treasury/models/counterparty_collect_account_request.rb +104 -0
  92. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +82 -0
  93. data/lib/modern_treasury/models/counterparty_create_request.rb +161 -0
  94. data/lib/modern_treasury/models/counterparty_shipping_address.rb +107 -0
  95. data/lib/modern_treasury/models/counterparty_update_request.rb +107 -0
  96. data/lib/modern_treasury/models/created_at_enum.rb +36 -0
  97. data/lib/modern_treasury/models/currency1_enum.rb +37 -0
  98. data/lib/modern_treasury/models/currency_enum.rb +784 -0
  99. data/lib/modern_treasury/models/direction10_enum.rb +38 -0
  100. data/lib/modern_treasury/models/direction14_enum.rb +36 -0
  101. data/lib/modern_treasury/models/direction15_enum.rb +36 -0
  102. data/lib/modern_treasury/models/direction1_enum.rb +37 -0
  103. data/lib/modern_treasury/models/direction4_enum.rb +36 -0
  104. data/lib/modern_treasury/models/direction5_enum.rb +39 -0
  105. data/lib/modern_treasury/models/direction9_enum.rb +37 -0
  106. data/lib/modern_treasury/models/direction_enum.rb +38 -0
  107. data/lib/modern_treasury/models/document.rb +207 -0
  108. data/lib/modern_treasury/models/document_create_request.rb +92 -0
  109. data/lib/modern_treasury/models/document_detail.rb +154 -0
  110. data/lib/modern_treasury/models/documentable_type1_enum.rb +72 -0
  111. data/lib/modern_treasury/models/documentable_type2_enum.rb +72 -0
  112. data/lib/modern_treasury/models/documentable_type_enum.rb +75 -0
  113. data/lib/modern_treasury/models/effective_at_enum.rb +36 -0
  114. data/lib/modern_treasury/models/errors.rb +81 -0
  115. data/lib/modern_treasury/models/event.rb +162 -0
  116. data/lib/modern_treasury/models/expected_payment.rb +343 -0
  117. data/lib/modern_treasury/models/expected_payment_create_request.rb +254 -0
  118. data/lib/modern_treasury/models/expected_payment_update_request.rb +239 -0
  119. data/lib/modern_treasury/models/external_account.rb +283 -0
  120. data/lib/modern_treasury/models/external_account_complete_verification_request.rb +62 -0
  121. data/lib/modern_treasury/models/external_account_create_request.rb +230 -0
  122. data/lib/modern_treasury/models/external_account_update_request.rb +132 -0
  123. data/lib/modern_treasury/models/external_account_verify_request.rb +83 -0
  124. data/lib/modern_treasury/models/fallback_type_enum.rb +28 -0
  125. data/lib/modern_treasury/models/field_enum.rb +112 -0
  126. data/lib/modern_treasury/models/file.rb +81 -0
  127. data/lib/modern_treasury/models/foreign_exchange_indicator_enum.rb +38 -0
  128. data/lib/modern_treasury/models/incoming_payment_detail.rb +348 -0
  129. data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +141 -0
  130. data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +63 -0
  131. data/lib/modern_treasury/models/internal_account.rb +361 -0
  132. data/lib/modern_treasury/models/internal_account_create_request.rb +135 -0
  133. data/lib/modern_treasury/models/internal_account_update_request.rb +95 -0
  134. data/lib/modern_treasury/models/invoice.rb +342 -0
  135. data/lib/modern_treasury/models/invoice_create_request.rb +235 -0
  136. data/lib/modern_treasury/models/invoice_line_item.rb +171 -0
  137. data/lib/modern_treasury/models/invoice_line_item_create_request.rb +104 -0
  138. data/lib/modern_treasury/models/invoice_line_item_update_request.rb +240 -0
  139. data/lib/modern_treasury/models/invoice_update_request.rb +251 -0
  140. data/lib/modern_treasury/models/invoicer_address.rb +106 -0
  141. data/lib/modern_treasury/models/itemizable_type1_enum.rb +36 -0
  142. data/lib/modern_treasury/models/itemizable_type_enum.rb +36 -0
  143. data/lib/modern_treasury/models/ledger.rb +158 -0
  144. data/lib/modern_treasury/models/ledger_account.rb +220 -0
  145. data/lib/modern_treasury/models/ledger_account_category.rb +187 -0
  146. data/lib/modern_treasury/models/ledger_account_category_create_request.rb +125 -0
  147. data/lib/modern_treasury/models/ledger_account_category_update_request.rb +84 -0
  148. data/lib/modern_treasury/models/ledger_account_create_request.rb +150 -0
  149. data/lib/modern_treasury/models/ledger_account_normal_balance_enum.rb +36 -0
  150. data/lib/modern_treasury/models/ledger_account_payout.rb +238 -0
  151. data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +152 -0
  152. data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +85 -0
  153. data/lib/modern_treasury/models/ledger_account_statement.rb +233 -0
  154. data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +122 -0
  155. data/lib/modern_treasury/models/ledger_account_update_request.rb +84 -0
  156. data/lib/modern_treasury/models/ledger_balance.rb +97 -0
  157. data/lib/modern_treasury/models/ledger_balances.rb +81 -0
  158. data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +123 -0
  159. data/lib/modern_treasury/models/ledger_create_request.rb +83 -0
  160. data/lib/modern_treasury/models/ledger_entry.rb +247 -0
  161. data/lib/modern_treasury/models/ledger_entry_create_request.rb +177 -0
  162. data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +214 -0
  163. data/lib/modern_treasury/models/ledger_event_handler.rb +182 -0
  164. data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +78 -0
  165. data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +119 -0
  166. data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +80 -0
  167. data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +103 -0
  168. data/lib/modern_treasury/models/ledger_transaction.rb +259 -0
  169. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +164 -0
  170. data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +142 -0
  171. data/lib/modern_treasury/models/ledger_transaction_update_request.rb +115 -0
  172. data/lib/modern_treasury/models/ledger_transaction_version.rb +254 -0
  173. data/lib/modern_treasury/models/ledger_type_enum.rb +37 -0
  174. data/lib/modern_treasury/models/ledger_update_request.rb +84 -0
  175. data/lib/modern_treasury/models/ledgerable_event.rb +206 -0
  176. data/lib/modern_treasury/models/ledgerable_event_create_request.rb +140 -0
  177. data/lib/modern_treasury/models/ledgerable_type2_enum.rb +71 -0
  178. data/lib/modern_treasury/models/ledgerable_type5_enum.rb +69 -0
  179. data/lib/modern_treasury/models/ledgerable_type6_enum.rb +68 -0
  180. data/lib/modern_treasury/models/ledgerable_type_enum.rb +38 -0
  181. data/lib/modern_treasury/models/legacy_document_create_request.rb +70 -0
  182. data/lib/modern_treasury/models/line_item.rb +200 -0
  183. data/lib/modern_treasury/models/line_item_request.rb +98 -0
  184. data/lib/modern_treasury/models/line_item_update_request.rb +63 -0
  185. data/lib/modern_treasury/models/mreturn.rb +425 -0
  186. data/lib/modern_treasury/models/normal_balance2_enum.rb +36 -0
  187. data/lib/modern_treasury/models/normal_balance_enum.rb +36 -0
  188. data/lib/modern_treasury/models/order_by.rb +72 -0
  189. data/lib/modern_treasury/models/originating_account_number_type_enum.rb +48 -0
  190. data/lib/modern_treasury/models/originating_routing_number_type_enum.rb +68 -0
  191. data/lib/modern_treasury/models/paper_item.rb +249 -0
  192. data/lib/modern_treasury/models/party_address.rb +106 -0
  193. data/lib/modern_treasury/models/party_type5_enum.rb +36 -0
  194. data/lib/modern_treasury/models/party_type_enum.rb +36 -0
  195. data/lib/modern_treasury/models/payment_direction_enum.rb +36 -0
  196. data/lib/modern_treasury/models/payment_flow.rb +230 -0
  197. data/lib/modern_treasury/models/payment_flow_create_request.rb +103 -0
  198. data/lib/modern_treasury/models/payment_flow_update_request.rb +61 -0
  199. data/lib/modern_treasury/models/payment_method1_enum.rb +46 -0
  200. data/lib/modern_treasury/models/payment_method_enum.rb +42 -0
  201. data/lib/modern_treasury/models/payment_order.rb +820 -0
  202. data/lib/modern_treasury/models/payment_order_async_create_request.rb +536 -0
  203. data/lib/modern_treasury/models/payment_order_create_request.rb +556 -0
  204. data/lib/modern_treasury/models/payment_order_update_request.rb +543 -0
  205. data/lib/modern_treasury/models/payment_reference.rb +175 -0
  206. data/lib/modern_treasury/models/payment_reference_object.rb +156 -0
  207. data/lib/modern_treasury/models/payment_type13_enum.rb +96 -0
  208. data/lib/modern_treasury/models/payment_type1_enum.rb +97 -0
  209. data/lib/modern_treasury/models/payment_type2_enum.rb +96 -0
  210. data/lib/modern_treasury/models/payment_type4_enum.rb +96 -0
  211. data/lib/modern_treasury/models/payment_type5_enum.rb +36 -0
  212. data/lib/modern_treasury/models/payment_type6_enum.rb +97 -0
  213. data/lib/modern_treasury/models/payment_type_enum.rb +37 -0
  214. data/lib/modern_treasury/models/ping_response.rb +60 -0
  215. data/lib/modern_treasury/models/priority4_enum.rb +36 -0
  216. data/lib/modern_treasury/models/priority_enum.rb +38 -0
  217. data/lib/modern_treasury/models/reason1_enum.rb +50 -0
  218. data/lib/modern_treasury/models/reason_enum.rb +48 -0
  219. data/lib/modern_treasury/models/receiving_account.rb +304 -0
  220. data/lib/modern_treasury/models/receiving_account1.rb +219 -0
  221. data/lib/modern_treasury/models/receiving_account_type_enum.rb +36 -0
  222. data/lib/modern_treasury/models/reconciliation_method_enum.rb +38 -0
  223. data/lib/modern_treasury/models/reference_number_type1_enum.rb +248 -0
  224. data/lib/modern_treasury/models/reference_number_type_enum.rb +248 -0
  225. data/lib/modern_treasury/models/referenceable_type1_enum.rb +40 -0
  226. data/lib/modern_treasury/models/referenceable_type_enum.rb +41 -0
  227. data/lib/modern_treasury/models/return_create_request.rb +119 -0
  228. data/lib/modern_treasury/models/returnable_type1_enum.rb +48 -0
  229. data/lib/modern_treasury/models/returnable_type_enum.rb +48 -0
  230. data/lib/modern_treasury/models/reversal.rb +151 -0
  231. data/lib/modern_treasury/models/reversal_create_request.rb +86 -0
  232. data/lib/modern_treasury/models/role_enum.rb +36 -0
  233. data/lib/modern_treasury/models/routing_detail.rb +242 -0
  234. data/lib/modern_treasury/models/routing_detail1.rb +83 -0
  235. data/lib/modern_treasury/models/routing_detail_create_request.rb +87 -0
  236. data/lib/modern_treasury/models/routing_number_lookup_request.rb +124 -0
  237. data/lib/modern_treasury/models/routing_number_type1_enum.rb +68 -0
  238. data/lib/modern_treasury/models/routing_number_type7_enum.rb +55 -0
  239. data/lib/modern_treasury/models/routing_number_type8_enum.rb +68 -0
  240. data/lib/modern_treasury/models/routing_number_type_enum.rb +69 -0
  241. data/lib/modern_treasury/models/status11_enum.rb +40 -0
  242. data/lib/modern_treasury/models/status12_enum.rb +40 -0
  243. data/lib/modern_treasury/models/status15_enum.rb +41 -0
  244. data/lib/modern_treasury/models/status16_enum.rb +41 -0
  245. data/lib/modern_treasury/models/status17_enum.rb +45 -0
  246. data/lib/modern_treasury/models/status18_enum.rb +74 -0
  247. data/lib/modern_treasury/models/status19_enum.rb +52 -0
  248. data/lib/modern_treasury/models/status1_enum.rb +40 -0
  249. data/lib/modern_treasury/models/status20_enum.rb +40 -0
  250. data/lib/modern_treasury/models/status21_enum.rb +40 -0
  251. data/lib/modern_treasury/models/status22_enum.rb +40 -0
  252. data/lib/modern_treasury/models/status24_enum.rb +72 -0
  253. data/lib/modern_treasury/models/status2_enum.rb +41 -0
  254. data/lib/modern_treasury/models/status3_enum.rb +72 -0
  255. data/lib/modern_treasury/models/status4_enum.rb +52 -0
  256. data/lib/modern_treasury/models/status5_enum.rb +48 -0
  257. data/lib/modern_treasury/models/status6_enum.rb +49 -0
  258. data/lib/modern_treasury/models/status7_enum.rb +37 -0
  259. data/lib/modern_treasury/models/status8_enum.rb +37 -0
  260. data/lib/modern_treasury/models/status9_enum.rb +41 -0
  261. data/lib/modern_treasury/models/status_enum.rb +45 -0
  262. data/lib/modern_treasury/models/subtype_enum.rb +71 -0
  263. data/lib/modern_treasury/models/supported_payment_type_enum.rb +96 -0
  264. data/lib/modern_treasury/models/transactable_type_enum.rb +53 -0
  265. data/lib/modern_treasury/models/transaction.rb +311 -0
  266. data/lib/modern_treasury/models/transaction_line_item.rb +211 -0
  267. data/lib/modern_treasury/models/type10_enum.rb +64 -0
  268. data/lib/modern_treasury/models/type11_enum.rb +97 -0
  269. data/lib/modern_treasury/models/type12_enum.rb +37 -0
  270. data/lib/modern_treasury/models/type13_enum.rb +96 -0
  271. data/lib/modern_treasury/models/type14_enum.rb +64 -0
  272. data/lib/modern_treasury/models/type16_enum.rb +36 -0
  273. data/lib/modern_treasury/models/type1_enum.rb +97 -0
  274. data/lib/modern_treasury/models/type4_enum.rb +65 -0
  275. data/lib/modern_treasury/models/type5_enum.rb +97 -0
  276. data/lib/modern_treasury/models/type6_enum.rb +77 -0
  277. data/lib/modern_treasury/models/type_enum.rb +37 -0
  278. data/lib/modern_treasury/models/vendor_code_type1_enum.rb +111 -0
  279. data/lib/modern_treasury/models/vendor_code_type_enum.rb +108 -0
  280. data/lib/modern_treasury/models/verification_status1_enum.rb +44 -0
  281. data/lib/modern_treasury/models/verification_status_enum.rb +40 -0
  282. data/lib/modern_treasury/models/virtual_account.rb +247 -0
  283. data/lib/modern_treasury/models/virtual_account_create_request.rb +172 -0
  284. data/lib/modern_treasury/models/virtual_account_update_request.rb +85 -0
  285. data/lib/modern_treasury/utilities/date_time_helper.rb +11 -0
  286. data/lib/modern_treasury/utilities/file_wrapper.rb +28 -0
  287. data/lib/modern_treasury/utilities/union_type_lookup.rb +32 -0
  288. data/lib/modern_treasury.rb +316 -0
  289. data/test/controllers/controller_test_base.rb +23 -0
  290. data/test/controllers/test_account_collection_flow_controller.rb +64 -0
  291. data/test/controllers/test_connection_controller.rb +41 -0
  292. data/test/controllers/test_counterparty_controller.rb +65 -0
  293. data/test/controllers/test_document_controller.rb +41 -0
  294. data/test/controllers/test_event_controller.rb +46 -0
  295. data/test/controllers/test_expected_payment_controller.rb +71 -0
  296. data/test/controllers/test_external_account_controller.rb +63 -0
  297. data/test/controllers/test_incoming_payment_detail_controller.rb +68 -0
  298. data/test/controllers/test_internal_account_controller.rb +65 -0
  299. data/test/controllers/test_invoice_controller.rb +56 -0
  300. data/test/controllers/test_ledger_account_category_controller.rb +67 -0
  301. data/test/controllers/test_ledger_account_controller.rb +70 -0
  302. data/test/controllers/test_ledger_account_payout_controller.rb +62 -0
  303. data/test/controllers/test_ledger_account_statement_controller.rb +36 -0
  304. data/test/controllers/test_ledger_controller.rb +59 -0
  305. data/test/controllers/test_ledger_entry_controller.rb +65 -0
  306. data/test/controllers/test_ledger_event_handler_controller.rb +63 -0
  307. data/test/controllers/test_ledger_transaction_controller.rb +112 -0
  308. data/test/controllers/test_ledgerable_event_controller.rb +36 -0
  309. data/test/controllers/test_paper_item_controller.rb +43 -0
  310. data/test/controllers/test_payment_flow_controller.rb +67 -0
  311. data/test/controllers/test_payment_order_controller.rb +76 -0
  312. data/test/controllers/test_payment_reference_controller.rb +43 -0
  313. data/test/controllers/test_ping_controller.rb +31 -0
  314. data/test/controllers/test_return_controller.rb +64 -0
  315. data/test/controllers/test_transaction_controller.rb +56 -0
  316. data/test/controllers/test_virtual_account_controller.rb +63 -0
  317. data/test/http_response_catcher.rb +19 -0
  318. metadata +429 -0
@@ -0,0 +1,99 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # ReversalController
8
+ class ReversalController < BaseController
9
+ # Get a list of all reversals of a payment order.
10
+ # @param [String] payment_order_id Required parameter: The ID of the
11
+ # relevant Payment Order.
12
+ # @param [String] after_cursor Optional parameter: TODO: type description
13
+ # here
14
+ # @param [Integer] per_page Optional parameter: TODO: type description
15
+ # here
16
+ # @return [Array[Reversal]] Response from the API call.
17
+ def list_reversals(payment_order_id,
18
+ after_cursor: nil,
19
+ per_page: nil)
20
+ @api_call
21
+ .request(new_request_builder(HttpMethodEnum::GET,
22
+ '/api/payment_orders/{payment_order_id}/reversals',
23
+ Server::DEFAULT)
24
+ .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
25
+ .should_encode(true))
26
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
27
+ .query_param(new_parameter(per_page, key: 'per_page'))
28
+ .header_param(new_parameter('application/json', key: 'accept'))
29
+ .auth(Single.new('basic_auth')))
30
+ .response(new_response_handler
31
+ .deserializer(APIHelper.method(:custom_type_deserializer))
32
+ .deserialize_into(Reversal.method(:from_hash))
33
+ .is_response_array(true))
34
+ .execute
35
+ end
36
+
37
+ # Create a reversal for a payment order.
38
+ # @param [UUID | String] payment_order_id Required parameter: The ID of the
39
+ # relevant Payment Order.
40
+ # @param [String] idempotency_key Optional parameter: This key should be
41
+ # something unique, preferably something like an UUID.
42
+ # @param [ReversalCreateRequest] body Optional parameter: TODO: type
43
+ # description here
44
+ # @return [Reversal] Response from the API call.
45
+ def create_reversal(payment_order_id,
46
+ idempotency_key: nil,
47
+ body: nil)
48
+ @api_call
49
+ .request(new_request_builder(HttpMethodEnum::POST,
50
+ '/api/payment_orders/{payment_order_id}/reversals',
51
+ Server::DEFAULT)
52
+ .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
53
+ .should_encode(true))
54
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
55
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
56
+ .body_param(new_parameter(body))
57
+ .header_param(new_parameter('application/json', key: 'accept'))
58
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
59
+ .auth(Single.new('basic_auth')))
60
+ .response(new_response_handler
61
+ .deserializer(APIHelper.method(:custom_type_deserializer))
62
+ .deserialize_into(Reversal.method(:from_hash))
63
+ .local_error('404',
64
+ 'unsuccessful',
65
+ ErrorMessageException)
66
+ .local_error('422',
67
+ 'unsuccessful',
68
+ ErrorMessageException))
69
+ .execute
70
+ end
71
+
72
+ # Get details on a single reversal of a payment order.
73
+ # @param [UUID | String] payment_order_id Required parameter: The id of the
74
+ # payment order being reversed.
75
+ # @param [UUID | String] reversal_id Required parameter: The ID of the
76
+ # reversal.
77
+ # @return [Reversal] Response from the API call.
78
+ def get_reversal(payment_order_id,
79
+ reversal_id)
80
+ @api_call
81
+ .request(new_request_builder(HttpMethodEnum::GET,
82
+ '/api/payment_orders/{payment_order_id}/reversals/{reversal_id}',
83
+ Server::DEFAULT)
84
+ .template_param(new_parameter(payment_order_id, key: 'payment_order_id')
85
+ .should_encode(true))
86
+ .template_param(new_parameter(reversal_id, key: 'reversal_id')
87
+ .should_encode(true))
88
+ .header_param(new_parameter('application/json', key: 'accept'))
89
+ .auth(Single.new('basic_auth')))
90
+ .response(new_response_handler
91
+ .deserializer(APIHelper.method(:custom_type_deserializer))
92
+ .deserialize_into(Reversal.method(:from_hash))
93
+ .local_error('404',
94
+ 'not found',
95
+ ErrorMessageException))
96
+ .execute
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,131 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # RoutingDetailController
8
+ class RoutingDetailController < BaseController
9
+ # Get a list of routing details for a single internal or external account.
10
+ # @param [AccountsTypeEnum] accounts_type Required parameter: Example:
11
+ # @param [String] account_id Required parameter: The ID of the account.
12
+ # @param [String] after_cursor Optional parameter: TODO: type description
13
+ # here
14
+ # @param [Integer] per_page Optional parameter: TODO: type description
15
+ # here
16
+ # @return [Array[RoutingDetail]] Response from the API call.
17
+ def list_routing_details(accounts_type,
18
+ account_id,
19
+ after_cursor: nil,
20
+ per_page: nil)
21
+ @api_call
22
+ .request(new_request_builder(HttpMethodEnum::GET,
23
+ '/api/{accounts_type}/{account_id}/routing_details',
24
+ Server::DEFAULT)
25
+ .template_param(new_parameter(accounts_type, key: 'accounts_type')
26
+ .should_encode(true))
27
+ .template_param(new_parameter(account_id, key: 'account_id')
28
+ .should_encode(true))
29
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
30
+ .query_param(new_parameter(per_page, key: 'per_page'))
31
+ .header_param(new_parameter('application/json', key: 'accept'))
32
+ .auth(Single.new('basic_auth')))
33
+ .response(new_response_handler
34
+ .deserializer(APIHelper.method(:custom_type_deserializer))
35
+ .deserialize_into(RoutingDetail.method(:from_hash))
36
+ .is_response_array(true))
37
+ .execute
38
+ end
39
+
40
+ # Create a routing detail for a single external account.
41
+ # @param [AccountsType1Enum] accounts_type Required parameter: Example:
42
+ # @param [String] account_id Required parameter: The ID of the account.
43
+ # @param [String] idempotency_key Optional parameter: This key should be
44
+ # something unique, preferably something like an UUID.
45
+ # @param [RoutingDetailCreateRequest] body Optional parameter: TODO: type
46
+ # description here
47
+ # @return [RoutingDetail] Response from the API call.
48
+ def create_routing_detail(accounts_type,
49
+ account_id,
50
+ idempotency_key: nil,
51
+ body: nil)
52
+ @api_call
53
+ .request(new_request_builder(HttpMethodEnum::POST,
54
+ '/api/{accounts_type}/{account_id}/routing_details',
55
+ Server::DEFAULT)
56
+ .template_param(new_parameter(accounts_type, key: 'accounts_type')
57
+ .should_encode(true))
58
+ .template_param(new_parameter(account_id, key: 'account_id')
59
+ .should_encode(true))
60
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
61
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
62
+ .body_param(new_parameter(body))
63
+ .header_param(new_parameter('application/json', key: 'accept'))
64
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
65
+ .auth(Single.new('basic_auth')))
66
+ .response(new_response_handler
67
+ .deserializer(APIHelper.method(:custom_type_deserializer))
68
+ .deserialize_into(RoutingDetail.method(:from_hash))
69
+ .local_error('404',
70
+ 'unsuccessful',
71
+ ErrorMessageException)
72
+ .local_error('422',
73
+ 'unsuccessful',
74
+ ErrorMessageException))
75
+ .execute
76
+ end
77
+
78
+ # Get a single routing detail for a single internal or external account.
79
+ # @param [AccountsTypeEnum] accounts_type Required parameter: Example:
80
+ # @param [String] account_id Required parameter: The ID of the account.
81
+ # @param [String] id Required parameter: The ID of the routing detail.
82
+ # @return [RoutingDetail] Response from the API call.
83
+ def get_routing_detail(accounts_type,
84
+ account_id,
85
+ id)
86
+ @api_call
87
+ .request(new_request_builder(HttpMethodEnum::GET,
88
+ '/api/{accounts_type}/{account_id}/routing_details/{id}',
89
+ Server::DEFAULT)
90
+ .template_param(new_parameter(accounts_type, key: 'accounts_type')
91
+ .should_encode(true))
92
+ .template_param(new_parameter(account_id, key: 'account_id')
93
+ .should_encode(true))
94
+ .template_param(new_parameter(id, key: 'id')
95
+ .should_encode(true))
96
+ .header_param(new_parameter('application/json', key: 'accept'))
97
+ .auth(Single.new('basic_auth')))
98
+ .response(new_response_handler
99
+ .deserializer(APIHelper.method(:custom_type_deserializer))
100
+ .deserialize_into(RoutingDetail.method(:from_hash))
101
+ .local_error('404',
102
+ 'not found',
103
+ ErrorMessageException))
104
+ .execute
105
+ end
106
+
107
+ # Delete a routing detail for a single external account.
108
+ # @param [AccountsType1Enum] accounts_type Required parameter: Example:
109
+ # @param [String] account_id Required parameter: The ID of the account.
110
+ # @param [String] id Required parameter: The ID of the routing detail.
111
+ # @return [void] Response from the API call.
112
+ def delete_routing_detail(accounts_type,
113
+ account_id,
114
+ id)
115
+ @api_call
116
+ .request(new_request_builder(HttpMethodEnum::DELETE,
117
+ '/api/{accounts_type}/{account_id}/routing_details/{id}',
118
+ Server::DEFAULT)
119
+ .template_param(new_parameter(accounts_type, key: 'accounts_type')
120
+ .should_encode(true))
121
+ .template_param(new_parameter(account_id, key: 'account_id')
122
+ .should_encode(true))
123
+ .template_param(new_parameter(id, key: 'id')
124
+ .should_encode(true))
125
+ .auth(Single.new('basic_auth')))
126
+ .response(new_response_handler
127
+ .is_response_void(true))
128
+ .execute
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,133 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # TransactionController
8
+ class TransactionController < BaseController
9
+ # Get a list of all transactions.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [UUID | String] internal_account_id Optional parameter: Specify
13
+ # `internal_account_id` if you wish to see transactions to/from a specific
14
+ # account.
15
+ # @param [UUID | String] virtual_account_id Optional parameter: TODO: type
16
+ # description here
17
+ # @param [TrueClass | FalseClass] posted Optional parameter: Either `true`
18
+ # or `false`.
19
+ # @param [Date] as_of_date_start Optional parameter: Filters transactions
20
+ # with an `as_of_date` starting on or after the specified date
21
+ # (YYYY-MM-DD).
22
+ # @param [Date] as_of_date_end Optional parameter: Filters transactions with
23
+ # an `as_of_date` starting on or before the specified date (YYYY-MM-DD).
24
+ # @param [String] direction Optional parameter: TODO: type description
25
+ # here
26
+ # @param [UUID | String] counterparty_id Optional parameter: TODO: type
27
+ # description here
28
+ # @param [String] payment_type Optional parameter: TODO: type description
29
+ # here
30
+ # @param [String] transactable_type Optional parameter: TODO: type
31
+ # description here
32
+ # @param [String] description Optional parameter: Filters for transactions
33
+ # including the queried string in the description.
34
+ # @param [String] vendor_id Optional parameter: Filters for transactions
35
+ # including the queried vendor id (an identifier given to transactions by
36
+ # the bank).
37
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
38
+ # you want to query for records with metadata key `Type` and value `Loan`,
39
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
40
+ # parameters.
41
+ # @param [String] after_cursor Optional parameter: TODO: type description
42
+ # here
43
+ # @return [Array[Transaction]] Response from the API call.
44
+ def list_transactions(per_page: nil,
45
+ internal_account_id: nil,
46
+ virtual_account_id: nil,
47
+ posted: nil,
48
+ as_of_date_start: nil,
49
+ as_of_date_end: nil,
50
+ direction: nil,
51
+ counterparty_id: nil,
52
+ payment_type: nil,
53
+ transactable_type: nil,
54
+ description: nil,
55
+ vendor_id: nil,
56
+ metadata: nil,
57
+ after_cursor: nil)
58
+ @api_call
59
+ .request(new_request_builder(HttpMethodEnum::GET,
60
+ '/api/transactions',
61
+ Server::DEFAULT)
62
+ .query_param(new_parameter(per_page, key: 'per_page'))
63
+ .query_param(new_parameter(internal_account_id, key: 'internal_account_id'))
64
+ .query_param(new_parameter(virtual_account_id, key: 'virtual_account_id'))
65
+ .query_param(new_parameter(posted, key: 'posted'))
66
+ .query_param(new_parameter(as_of_date_start, key: 'as_of_date_start'))
67
+ .query_param(new_parameter(as_of_date_end, key: 'as_of_date_end'))
68
+ .query_param(new_parameter(direction, key: 'direction'))
69
+ .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
70
+ .query_param(new_parameter(payment_type, key: 'payment_type'))
71
+ .query_param(new_parameter(transactable_type, key: 'transactable_type'))
72
+ .query_param(new_parameter(description, key: 'description'))
73
+ .query_param(new_parameter(vendor_id, key: 'vendor_id'))
74
+ .query_param(new_parameter(metadata, key: 'metadata'))
75
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
76
+ .header_param(new_parameter('application/json', key: 'accept'))
77
+ .auth(Single.new('basic_auth')))
78
+ .response(new_response_handler
79
+ .deserializer(APIHelper.method(:custom_type_deserializer))
80
+ .deserialize_into(Transaction.method(:from_hash))
81
+ .is_response_array(true))
82
+ .execute
83
+ end
84
+
85
+ # Get details on a single transaction.
86
+ # @param [String] id Required parameter: Transaction ID
87
+ # @return [Transaction] Response from the API call.
88
+ def get_transaction(id)
89
+ @api_call
90
+ .request(new_request_builder(HttpMethodEnum::GET,
91
+ '/api/transactions/{id}',
92
+ Server::DEFAULT)
93
+ .template_param(new_parameter(id, key: 'id')
94
+ .should_encode(true))
95
+ .header_param(new_parameter('application/json', key: 'accept'))
96
+ .auth(Single.new('basic_auth')))
97
+ .response(new_response_handler
98
+ .deserializer(APIHelper.method(:custom_type_deserializer))
99
+ .deserialize_into(Transaction.method(:from_hash))
100
+ .local_error('404',
101
+ 'not found',
102
+ ErrorMessageException))
103
+ .execute
104
+ end
105
+
106
+ # Update a single transaction.
107
+ # @param [String] id Required parameter: Transaction ID
108
+ # @param [IncomingPaymentDetailUpdateRequest] body Optional parameter: TODO:
109
+ # type description here
110
+ # @return [Transaction] Response from the API call.
111
+ def update_transaction(id,
112
+ body: nil)
113
+ @api_call
114
+ .request(new_request_builder(HttpMethodEnum::PATCH,
115
+ '/api/transactions/{id}',
116
+ Server::DEFAULT)
117
+ .template_param(new_parameter(id, key: 'id')
118
+ .should_encode(true))
119
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
120
+ .body_param(new_parameter(body))
121
+ .header_param(new_parameter('application/json', key: 'accept'))
122
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
123
+ .auth(Single.new('basic_auth')))
124
+ .response(new_response_handler
125
+ .deserializer(APIHelper.method(:custom_type_deserializer))
126
+ .deserialize_into(Transaction.method(:from_hash))
127
+ .local_error('404',
128
+ 'not found',
129
+ ErrorMessageException))
130
+ .execute
131
+ end
132
+ end
133
+ end
@@ -0,0 +1,39 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # TransactionLineItemController
8
+ class TransactionLineItemController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @param [String] transaction_id Required parameter: transaction_id
11
+ # @param [String] after_cursor Optional parameter: TODO: type description
12
+ # here
13
+ # @param [Type16Enum] type Optional parameter: Example:
14
+ # @param [Integer] per_page Optional parameter: TODO: type description
15
+ # here
16
+ # @return [Array[TransactionLineItem]] Response from the API call.
17
+ def list_transaction_line_items(transaction_id,
18
+ after_cursor: nil,
19
+ type: nil,
20
+ per_page: nil)
21
+ @api_call
22
+ .request(new_request_builder(HttpMethodEnum::GET,
23
+ '/api/transactions/{transaction_id}/line_items',
24
+ Server::DEFAULT)
25
+ .template_param(new_parameter(transaction_id, key: 'transaction_id')
26
+ .should_encode(true))
27
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
28
+ .query_param(new_parameter(type, key: 'type'))
29
+ .query_param(new_parameter(per_page, key: 'per_page'))
30
+ .header_param(new_parameter('application/json', key: 'accept'))
31
+ .auth(Single.new('basic_auth')))
32
+ .response(new_response_handler
33
+ .deserializer(APIHelper.method(:custom_type_deserializer))
34
+ .deserialize_into(TransactionLineItem.method(:from_hash))
35
+ .is_response_array(true))
36
+ .execute
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,41 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # ValidationController
8
+ class ValidationController < BaseController
9
+ # Validates the routing number information supplied without creating a
10
+ # routing detail
11
+ # @param [String] routing_number Required parameter: The routing number that
12
+ # is being validated.
13
+ # @param [RoutingNumberType8Enum] routing_number_type Required parameter:
14
+ # One of `aba`, `au_bsb`, `br_codigo`, `ca_cpa`, `cnaps`, `gb_sort_code`,
15
+ # `in_ifsc`, `my_branch_code`, or `swift`. In sandbox mode we currently only
16
+ # support `aba` and `swift` with routing numbers '123456789' and
17
+ # 'GRINUST0XXX' respectively.
18
+ # @return [RoutingNumberLookupRequest] Response from the API call.
19
+ def validate_routing_number(routing_number,
20
+ routing_number_type)
21
+ @api_call
22
+ .request(new_request_builder(HttpMethodEnum::GET,
23
+ '/api/validations/routing_numbers',
24
+ Server::DEFAULT)
25
+ .query_param(new_parameter(routing_number, key: 'routing_number'))
26
+ .query_param(new_parameter(routing_number_type, key: 'routing_number_type'))
27
+ .header_param(new_parameter('application/json', key: 'accept'))
28
+ .auth(Single.new('basic_auth')))
29
+ .response(new_response_handler
30
+ .deserializer(APIHelper.method(:custom_type_deserializer))
31
+ .deserialize_into(RoutingNumberLookupRequest.method(:from_hash))
32
+ .local_error('404',
33
+ 'not found',
34
+ ErrorMessageException)
35
+ .local_error('422',
36
+ 'unsuccessful with invalid parameter',
37
+ ErrorMessageException))
38
+ .execute
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,142 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # VirtualAccountController
8
+ class VirtualAccountController < BaseController
9
+ # Get a list of virtual accounts.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [UUID | String] internal_account_id Optional parameter: TODO: type
13
+ # description here
14
+ # @param [UUID | String] counterparty_id Optional parameter: TODO: type
15
+ # description here
16
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
17
+ # you want to query for records with metadata key `Type` and value `Loan`,
18
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
19
+ # parameters.
20
+ # @param [String] after_cursor Optional parameter: TODO: type description
21
+ # here
22
+ # @return [Array[VirtualAccount]] Response from the API call.
23
+ def list_virtual_accounts(per_page: nil,
24
+ internal_account_id: nil,
25
+ counterparty_id: nil,
26
+ metadata: nil,
27
+ after_cursor: nil)
28
+ @api_call
29
+ .request(new_request_builder(HttpMethodEnum::GET,
30
+ '/api/virtual_accounts',
31
+ Server::DEFAULT)
32
+ .query_param(new_parameter(per_page, key: 'per_page'))
33
+ .query_param(new_parameter(internal_account_id, key: 'internal_account_id'))
34
+ .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
35
+ .query_param(new_parameter(metadata, key: 'metadata'))
36
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
37
+ .header_param(new_parameter('application/json', key: 'accept'))
38
+ .auth(Single.new('basic_auth')))
39
+ .response(new_response_handler
40
+ .deserializer(APIHelper.method(:custom_type_deserializer))
41
+ .deserialize_into(VirtualAccount.method(:from_hash))
42
+ .is_response_array(true)
43
+ .local_error('401',
44
+ 'unsuccessful',
45
+ ErrorMessageException))
46
+ .execute
47
+ end
48
+
49
+ # TODO: type endpoint description here
50
+ # @param [String] idempotency_key Optional parameter: This key should be
51
+ # something unique, preferably something like an UUID.
52
+ # @param [VirtualAccountCreateRequest] body Optional parameter: TODO: type
53
+ # description here
54
+ # @return [VirtualAccount] Response from the API call.
55
+ def create_virtual_account(idempotency_key: nil,
56
+ body: nil)
57
+ @api_call
58
+ .request(new_request_builder(HttpMethodEnum::POST,
59
+ '/api/virtual_accounts',
60
+ Server::DEFAULT)
61
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
62
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
63
+ .body_param(new_parameter(body))
64
+ .header_param(new_parameter('application/json', key: 'accept'))
65
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
66
+ .auth(Single.new('basic_auth')))
67
+ .response(new_response_handler
68
+ .deserializer(APIHelper.method(:custom_type_deserializer))
69
+ .deserialize_into(VirtualAccount.method(:from_hash))
70
+ .local_error('401',
71
+ 'unauthorized',
72
+ ErrorMessageException)
73
+ .local_error('422',
74
+ 'unsuccessful',
75
+ ErrorMessageException))
76
+ .execute
77
+ end
78
+
79
+ # TODO: type endpoint description here
80
+ # @param [String] id Required parameter: Virtual Acccount ID
81
+ # @return [VirtualAccount] Response from the API call.
82
+ def get_virtual_account(id)
83
+ @api_call
84
+ .request(new_request_builder(HttpMethodEnum::GET,
85
+ '/api/virtual_accounts/{id}',
86
+ Server::DEFAULT)
87
+ .template_param(new_parameter(id, key: 'id')
88
+ .should_encode(true))
89
+ .header_param(new_parameter('application/json', key: 'accept'))
90
+ .auth(Single.new('basic_auth')))
91
+ .response(new_response_handler
92
+ .deserializer(APIHelper.method(:custom_type_deserializer))
93
+ .deserialize_into(VirtualAccount.method(:from_hash))
94
+ .local_error('404',
95
+ 'not found',
96
+ ErrorMessageException))
97
+ .execute
98
+ end
99
+
100
+ # TODO: type endpoint description here
101
+ # @param [String] id Required parameter: Virtual Acccount ID
102
+ # @param [VirtualAccountUpdateRequest] body Optional parameter: TODO: type
103
+ # description here
104
+ # @return [VirtualAccount] Response from the API call.
105
+ def update_virtual_account(id,
106
+ body: nil)
107
+ @api_call
108
+ .request(new_request_builder(HttpMethodEnum::PATCH,
109
+ '/api/virtual_accounts/{id}',
110
+ Server::DEFAULT)
111
+ .template_param(new_parameter(id, key: 'id')
112
+ .should_encode(true))
113
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
114
+ .body_param(new_parameter(body))
115
+ .header_param(new_parameter('application/json', key: 'accept'))
116
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
117
+ .auth(Single.new('basic_auth')))
118
+ .response(new_response_handler
119
+ .deserializer(APIHelper.method(:custom_type_deserializer))
120
+ .deserialize_into(VirtualAccount.method(:from_hash)))
121
+ .execute
122
+ end
123
+
124
+ # TODO: type endpoint description here
125
+ # @param [String] id Required parameter: Virtual Acccount ID
126
+ # @return [VirtualAccount] Response from the API call.
127
+ def delete_virtual_account(id)
128
+ @api_call
129
+ .request(new_request_builder(HttpMethodEnum::DELETE,
130
+ '/api/virtual_accounts/{id}',
131
+ Server::DEFAULT)
132
+ .template_param(new_parameter(id, key: 'id')
133
+ .should_encode(true))
134
+ .header_param(new_parameter('application/json', key: 'accept'))
135
+ .auth(Single.new('basic_auth')))
136
+ .response(new_response_handler
137
+ .deserializer(APIHelper.method(:custom_type_deserializer))
138
+ .deserialize_into(VirtualAccount.method(:from_hash)))
139
+ .execute
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,21 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # Class for exceptions when there is a network error, status code error, etc.
8
+ class APIException < CoreLibrary::ApiException
9
+ # Provides a human-readable string representation of the object.
10
+ def to_s
11
+ class_name = self.class.name.split('::').last
12
+ "<#{class_name} status_code: #{@response_code}, reason: #{@reason}>"
13
+ end
14
+
15
+ # Provides a debugging-friendly string with detailed object information.
16
+ def inspect
17
+ class_name = self.class.name.split('::').last
18
+ "<#{class_name} status_code: #{@response_code.inspect}, reason: #{@reason.inspect}>"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,46 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # error_message class.
8
+ class ErrorMessageException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Errors]
14
+ attr_accessor :errors
15
+
16
+ # The constructor.
17
+ # @param [String] reason The reason for raising an exception.
18
+ # @param [HttpResponse] response The HttpReponse of the API call.
19
+ def initialize(reason, response)
20
+ super(reason, response)
21
+ hash = APIHelper.json_deserialize(@response.raw_body)
22
+ unbox(hash)
23
+ end
24
+
25
+ # Populates this object by extracting properties from a hash.
26
+ # @param [Hash] hash The deserialized response sent by the server in the
27
+ # response body.
28
+ def unbox(hash)
29
+ return nil unless hash
30
+
31
+ @errors = Errors.from_hash(hash['errors']) if hash['errors']
32
+ end
33
+
34
+ # Provides a human-readable string representation of the object.
35
+ def to_s
36
+ class_name = self.class.name.split('::').last
37
+ "<#{class_name} errors: #{@errors}>"
38
+ end
39
+
40
+ # Provides a debugging-friendly string with detailed object information.
41
+ def inspect
42
+ class_name = self.class.name.split('::').last
43
+ "<#{class_name} errors: #{@errors.inspect}>"
44
+ end
45
+ end
46
+ end