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,162 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # ExpectedPaymentController
8
+ class ExpectedPaymentController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Status20Enum] status Optional parameter: One of unreconciled,
13
+ # reconciled, or archived.
14
+ # @param [String] internal_account_id Optional parameter: Specify
15
+ # internal_account_id to see expected_payments for a specific account.
16
+ # @param [Direction15Enum] direction Optional parameter: One of credit,
17
+ # debit
18
+ # @param [Type13Enum] type Optional parameter: One of: ach, au_becs, bacs,
19
+ # book, check, eft, interac, provxchange, rtp,sen, sepa, signet, wire
20
+ # @param [String] counterparty_id Optional parameter: Specify
21
+ # counterparty_id to see expected_payments for a specific account.
22
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
23
+ # you want to query for records with metadata key `Type` and value `Loan`,
24
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
25
+ # parameters.
26
+ # @param [DateTime] created_at_lower_bound Optional parameter: Used to
27
+ # return expected payments created after some datetime
28
+ # @param [DateTime] created_at_upper_bound Optional parameter: Used to
29
+ # return expected payments created before some datetime
30
+ # @param [String] after_cursor Optional parameter: TODO: type description
31
+ # here
32
+ # @return [Array[ExpectedPayment]] Response from the API call.
33
+ def list_expected_payments(per_page: nil,
34
+ status: nil,
35
+ internal_account_id: nil,
36
+ direction: nil,
37
+ type: nil,
38
+ counterparty_id: nil,
39
+ metadata: nil,
40
+ created_at_lower_bound: nil,
41
+ created_at_upper_bound: nil,
42
+ after_cursor: nil)
43
+ @api_call
44
+ .request(new_request_builder(HttpMethodEnum::GET,
45
+ '/api/expected_payments',
46
+ Server::DEFAULT)
47
+ .query_param(new_parameter(per_page, key: 'per_page'))
48
+ .query_param(new_parameter(status, key: 'status'))
49
+ .query_param(new_parameter(internal_account_id, key: 'internal_account_id'))
50
+ .query_param(new_parameter(direction, key: 'direction'))
51
+ .query_param(new_parameter(type, key: 'type'))
52
+ .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
53
+ .query_param(new_parameter(metadata, key: 'metadata'))
54
+ .query_param(new_parameter(created_at_lower_bound, key: 'created_at_lower_bound'))
55
+ .query_param(new_parameter(created_at_upper_bound, key: 'created_at_upper_bound'))
56
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
57
+ .header_param(new_parameter('application/json', key: 'accept'))
58
+ .auth(Single.new('basic_auth')))
59
+ .response(new_response_handler
60
+ .deserializer(APIHelper.method(:custom_type_deserializer))
61
+ .deserialize_into(ExpectedPayment.method(:from_hash))
62
+ .is_response_array(true)
63
+ .local_error('401',
64
+ 'unsuccessful',
65
+ ErrorMessageException))
66
+ .execute
67
+ end
68
+
69
+ # TODO: type endpoint description here
70
+ # @param [String] idempotency_key Optional parameter: This key should be
71
+ # something unique, preferably something like an UUID.
72
+ # @param [ExpectedPaymentCreateRequest] body Optional parameter: TODO: type
73
+ # description here
74
+ # @return [ExpectedPayment] Response from the API call.
75
+ def create_expected_payment(idempotency_key: nil,
76
+ body: nil)
77
+ @api_call
78
+ .request(new_request_builder(HttpMethodEnum::POST,
79
+ '/api/expected_payments',
80
+ Server::DEFAULT)
81
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
82
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
83
+ .body_param(new_parameter(body))
84
+ .header_param(new_parameter('application/json', key: 'accept'))
85
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
86
+ .auth(Single.new('basic_auth')))
87
+ .response(new_response_handler
88
+ .deserializer(APIHelper.method(:custom_type_deserializer))
89
+ .deserialize_into(ExpectedPayment.method(:from_hash))
90
+ .local_error('422',
91
+ 'unsuccessful',
92
+ ErrorMessageException))
93
+ .execute
94
+ end
95
+
96
+ # TODO: type endpoint description here
97
+ # @param [String] id Required parameter: id
98
+ # @return [ExpectedPayment] Response from the API call.
99
+ def get_expected_payment(id)
100
+ @api_call
101
+ .request(new_request_builder(HttpMethodEnum::GET,
102
+ '/api/expected_payments/{id}',
103
+ Server::DEFAULT)
104
+ .template_param(new_parameter(id, key: 'id')
105
+ .should_encode(true))
106
+ .header_param(new_parameter('application/json', key: 'accept'))
107
+ .auth(Single.new('basic_auth')))
108
+ .response(new_response_handler
109
+ .deserializer(APIHelper.method(:custom_type_deserializer))
110
+ .deserialize_into(ExpectedPayment.method(:from_hash))
111
+ .local_error('404',
112
+ 'not found',
113
+ ErrorMessageException))
114
+ .execute
115
+ end
116
+
117
+ # TODO: type endpoint description here
118
+ # @param [String] id Required parameter: id
119
+ # @param [ExpectedPaymentUpdateRequest] body Optional parameter: TODO: type
120
+ # description here
121
+ # @return [ExpectedPayment] Response from the API call.
122
+ def update_expected_payment(id,
123
+ body: nil)
124
+ @api_call
125
+ .request(new_request_builder(HttpMethodEnum::PATCH,
126
+ '/api/expected_payments/{id}',
127
+ Server::DEFAULT)
128
+ .template_param(new_parameter(id, key: 'id')
129
+ .should_encode(true))
130
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
131
+ .body_param(new_parameter(body))
132
+ .header_param(new_parameter('application/json', key: 'accept'))
133
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
134
+ .auth(Single.new('basic_auth')))
135
+ .response(new_response_handler
136
+ .deserializer(APIHelper.method(:custom_type_deserializer))
137
+ .deserialize_into(ExpectedPayment.method(:from_hash)))
138
+ .execute
139
+ end
140
+
141
+ # TODO: type endpoint description here
142
+ # @param [String] id Required parameter: id
143
+ # @return [ExpectedPayment] Response from the API call.
144
+ def delete_expected_payment(id)
145
+ @api_call
146
+ .request(new_request_builder(HttpMethodEnum::DELETE,
147
+ '/api/expected_payments/{id}',
148
+ Server::DEFAULT)
149
+ .template_param(new_parameter(id, key: 'id')
150
+ .should_encode(true))
151
+ .header_param(new_parameter('application/json', key: 'accept'))
152
+ .auth(Single.new('basic_auth')))
153
+ .response(new_response_handler
154
+ .deserializer(APIHelper.method(:custom_type_deserializer))
155
+ .deserialize_into(ExpectedPayment.method(:from_hash))
156
+ .local_error('422',
157
+ 'parameter_invalid',
158
+ ErrorMessageException))
159
+ .execute
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,202 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # ExternalAccountController
8
+ class ExternalAccountController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @param [String] id Required parameter: external account id
11
+ # @param [String] idempotency_key Optional parameter: This key should be
12
+ # something unique, preferably something like an UUID.
13
+ # @param [ExternalAccountVerifyRequest] body Optional parameter: TODO: type
14
+ # description here
15
+ # @return [ExternalAccount] Response from the API call.
16
+ def verify_external_account(id,
17
+ idempotency_key: nil,
18
+ body: nil)
19
+ @api_call
20
+ .request(new_request_builder(HttpMethodEnum::POST,
21
+ '/api/external_accounts/{id}/verify',
22
+ Server::DEFAULT)
23
+ .template_param(new_parameter(id, key: 'id')
24
+ .should_encode(true))
25
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
26
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
27
+ .body_param(new_parameter(body))
28
+ .header_param(new_parameter('application/json', key: 'accept'))
29
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
30
+ .auth(Single.new('basic_auth')))
31
+ .response(new_response_handler
32
+ .deserializer(APIHelper.method(:custom_type_deserializer))
33
+ .deserialize_into(ExternalAccount.method(:from_hash))
34
+ .local_error('422',
35
+ 'unsuccessful',
36
+ ErrorMessageException))
37
+ .execute
38
+ end
39
+
40
+ # TODO: type endpoint description here
41
+ # @param [String] id Required parameter: external account id
42
+ # @param [String] idempotency_key Optional parameter: This key should be
43
+ # something unique, preferably something like an UUID.
44
+ # @param [ExternalAccountCompleteVerificationRequest] body Optional
45
+ # parameter: TODO: type description here
46
+ # @return [ExternalAccount] Response from the API call.
47
+ def complete_verification_external_account(id,
48
+ idempotency_key: nil,
49
+ body: nil)
50
+ @api_call
51
+ .request(new_request_builder(HttpMethodEnum::POST,
52
+ '/api/external_accounts/{id}/complete_verification',
53
+ Server::DEFAULT)
54
+ .template_param(new_parameter(id, key: 'id')
55
+ .should_encode(true))
56
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
57
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
58
+ .body_param(new_parameter(body))
59
+ .header_param(new_parameter('application/json', key: 'accept'))
60
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
61
+ .auth(Single.new('basic_auth')))
62
+ .response(new_response_handler
63
+ .deserializer(APIHelper.method(:custom_type_deserializer))
64
+ .deserialize_into(ExternalAccount.method(:from_hash))
65
+ .local_error('422',
66
+ 'unsuccessful',
67
+ ErrorMessageException))
68
+ .execute
69
+ end
70
+
71
+ # TODO: type endpoint description here
72
+ # @param [Integer] per_page Optional parameter: TODO: type description
73
+ # here
74
+ # @param [String] party_name Optional parameter: Searches the
75
+ # ExternalAccount's party_name AND the Counterparty's party_name
76
+ # @param [String] counterparty_id Optional parameter: TODO: type description
77
+ # here
78
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
79
+ # you want to query for records with metadata key `Type` and value `Loan`,
80
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
81
+ # parameters.
82
+ # @param [String] after_cursor Optional parameter: TODO: type description
83
+ # here
84
+ # @return [Array[ExternalAccount]] Response from the API call.
85
+ def list_external_accounts(per_page: nil,
86
+ party_name: nil,
87
+ counterparty_id: nil,
88
+ metadata: nil,
89
+ after_cursor: nil)
90
+ @api_call
91
+ .request(new_request_builder(HttpMethodEnum::GET,
92
+ '/api/external_accounts',
93
+ Server::DEFAULT)
94
+ .query_param(new_parameter(per_page, key: 'per_page'))
95
+ .query_param(new_parameter(party_name, key: 'party_name'))
96
+ .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
97
+ .query_param(new_parameter(metadata, key: 'metadata'))
98
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
99
+ .header_param(new_parameter('application/json', key: 'accept'))
100
+ .auth(Single.new('basic_auth')))
101
+ .response(new_response_handler
102
+ .deserializer(APIHelper.method(:custom_type_deserializer))
103
+ .deserialize_into(ExternalAccount.method(:from_hash))
104
+ .is_response_array(true)
105
+ .local_error('401',
106
+ 'unsuccessful',
107
+ ErrorMessageException))
108
+ .execute
109
+ end
110
+
111
+ # TODO: type endpoint description here
112
+ # @param [String] idempotency_key Optional parameter: This key should be
113
+ # something unique, preferably something like an UUID.
114
+ # @param [ExternalAccountCreateRequest] body Optional parameter: TODO: type
115
+ # description here
116
+ # @return [ExternalAccount] Response from the API call.
117
+ def create_external_account(idempotency_key: nil,
118
+ body: nil)
119
+ @api_call
120
+ .request(new_request_builder(HttpMethodEnum::POST,
121
+ '/api/external_accounts',
122
+ Server::DEFAULT)
123
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
124
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
125
+ .body_param(new_parameter(body))
126
+ .header_param(new_parameter('application/json', key: 'accept'))
127
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
128
+ .auth(Single.new('basic_auth')))
129
+ .response(new_response_handler
130
+ .deserializer(APIHelper.method(:custom_type_deserializer))
131
+ .deserialize_into(ExternalAccount.method(:from_hash))
132
+ .local_error('422',
133
+ 'unsuccessful',
134
+ ErrorMessageException))
135
+ .execute
136
+ end
137
+
138
+ # TODO: type endpoint description here
139
+ # @param [String] id Required parameter: external account id
140
+ # @return [ExternalAccount] Response from the API call.
141
+ def get_external_account(id)
142
+ @api_call
143
+ .request(new_request_builder(HttpMethodEnum::GET,
144
+ '/api/external_accounts/{id}',
145
+ Server::DEFAULT)
146
+ .template_param(new_parameter(id, key: 'id')
147
+ .should_encode(true))
148
+ .header_param(new_parameter('application/json', key: 'accept'))
149
+ .auth(Single.new('basic_auth')))
150
+ .response(new_response_handler
151
+ .deserializer(APIHelper.method(:custom_type_deserializer))
152
+ .deserialize_into(ExternalAccount.method(:from_hash))
153
+ .local_error('404',
154
+ 'not found',
155
+ ErrorMessageException))
156
+ .execute
157
+ end
158
+
159
+ # TODO: type endpoint description here
160
+ # @param [String] id Required parameter: external account id
161
+ # @param [ExternalAccountUpdateRequest] body Optional parameter: TODO: type
162
+ # description here
163
+ # @return [ExternalAccount] Response from the API call.
164
+ def update_external_account(id,
165
+ body: nil)
166
+ @api_call
167
+ .request(new_request_builder(HttpMethodEnum::PATCH,
168
+ '/api/external_accounts/{id}',
169
+ Server::DEFAULT)
170
+ .template_param(new_parameter(id, key: 'id')
171
+ .should_encode(true))
172
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
173
+ .body_param(new_parameter(body))
174
+ .header_param(new_parameter('application/json', key: 'accept'))
175
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
176
+ .auth(Single.new('basic_auth')))
177
+ .response(new_response_handler
178
+ .deserializer(APIHelper.method(:custom_type_deserializer))
179
+ .deserialize_into(ExternalAccount.method(:from_hash))
180
+ .local_error('404',
181
+ 'not found',
182
+ ErrorMessageException))
183
+ .execute
184
+ end
185
+
186
+ # TODO: type endpoint description here
187
+ # @param [String] id Required parameter: external account id
188
+ # @return [void] Response from the API call.
189
+ def delete_external_account(id)
190
+ @api_call
191
+ .request(new_request_builder(HttpMethodEnum::DELETE,
192
+ '/api/external_accounts/{id}',
193
+ Server::DEFAULT)
194
+ .template_param(new_parameter(id, key: 'id')
195
+ .should_encode(true))
196
+ .auth(Single.new('basic_auth')))
197
+ .response(new_response_handler
198
+ .is_response_void(true))
199
+ .execute
200
+ end
201
+ end
202
+ end
@@ -0,0 +1,150 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # IncomingPaymentDetailController
8
+ class IncomingPaymentDetailController < BaseController
9
+ # Get a list of Incoming Payment Details.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Direction15Enum] direction Optional parameter: One of `credit` or
13
+ # `debit`.
14
+ # @param [Status21Enum] status Optional parameter: The current status of the
15
+ # incoming payment order. One of `pending`, `completed`, or `returned`.
16
+ # @param [Type14Enum] type Optional parameter: One of: `ach`, `book`,
17
+ # `check`, `eft`, `interac`, `rtp`, `sepa`, `signet`, or `wire`.
18
+ # @param [Date] as_of_date_start Optional parameter: Filters incoming
19
+ # payment details with an as_of_date starting on or after the specified date
20
+ # (YYYY-MM-DD).
21
+ # @param [Date] as_of_date_end Optional parameter: Filters incoming payment
22
+ # details with an as_of_date starting on or before the specified date
23
+ # (YYYY-MM-DD).
24
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
25
+ # you want to query for records with metadata key `Type` and value `Loan`,
26
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
27
+ # parameters.
28
+ # @param [String] virtual_account_id Optional parameter: If the incoming
29
+ # payment detail is in a virtual account, the ID of the Virtual Account.
30
+ # @param [String] after_cursor Optional parameter: TODO: type description
31
+ # here
32
+ # @return [Array[IncomingPaymentDetail]] Response from the API call.
33
+ def list_incoming_payment_details(per_page: nil,
34
+ direction: nil,
35
+ status: nil,
36
+ type: nil,
37
+ as_of_date_start: nil,
38
+ as_of_date_end: nil,
39
+ metadata: nil,
40
+ virtual_account_id: nil,
41
+ after_cursor: nil)
42
+ @api_call
43
+ .request(new_request_builder(HttpMethodEnum::GET,
44
+ '/api/incoming_payment_details',
45
+ Server::DEFAULT)
46
+ .query_param(new_parameter(per_page, key: 'per_page'))
47
+ .query_param(new_parameter(direction, key: 'direction'))
48
+ .query_param(new_parameter(status, key: 'status'))
49
+ .query_param(new_parameter(type, key: 'type'))
50
+ .query_param(new_parameter(as_of_date_start, key: 'as_of_date_start'))
51
+ .query_param(new_parameter(as_of_date_end, key: 'as_of_date_end'))
52
+ .query_param(new_parameter(metadata, key: 'metadata'))
53
+ .query_param(new_parameter(virtual_account_id, key: 'virtual_account_id'))
54
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
55
+ .header_param(new_parameter('application/json', key: 'accept'))
56
+ .auth(Single.new('basic_auth')))
57
+ .response(new_response_handler
58
+ .deserializer(APIHelper.method(:custom_type_deserializer))
59
+ .deserialize_into(IncomingPaymentDetail.method(:from_hash))
60
+ .is_response_array(true)
61
+ .local_error('401',
62
+ 'unsuccessful',
63
+ ErrorMessageException))
64
+ .execute
65
+ end
66
+
67
+ # Get an existing Incoming Payment Detail.
68
+ # @param [String] id Required parameter: The unique identifier of the
69
+ # incoming payment detail.
70
+ # @return [IncomingPaymentDetail] Response from the API call.
71
+ def get_incoming_payment_detail(id)
72
+ @api_call
73
+ .request(new_request_builder(HttpMethodEnum::GET,
74
+ '/api/incoming_payment_details/{id}',
75
+ Server::DEFAULT)
76
+ .template_param(new_parameter(id, key: 'id')
77
+ .should_encode(true))
78
+ .header_param(new_parameter('application/json', key: 'accept'))
79
+ .auth(Single.new('basic_auth')))
80
+ .response(new_response_handler
81
+ .deserializer(APIHelper.method(:custom_type_deserializer))
82
+ .deserialize_into(IncomingPaymentDetail.method(:from_hash))
83
+ .local_error('404',
84
+ 'not found',
85
+ ErrorMessageException))
86
+ .execute
87
+ end
88
+
89
+ # Update an existing Incoming Payment Detail.
90
+ # @param [String] id Required parameter: The unique identifier of the
91
+ # incoming payment detail.
92
+ # @param [IncomingPaymentDetailUpdateRequest] body Optional parameter: TODO:
93
+ # type description here
94
+ # @return [IncomingPaymentDetail] Response from the API call.
95
+ def update_incoming_payment_detail(id,
96
+ body: nil)
97
+ @api_call
98
+ .request(new_request_builder(HttpMethodEnum::PATCH,
99
+ '/api/incoming_payment_details/{id}',
100
+ Server::DEFAULT)
101
+ .template_param(new_parameter(id, key: 'id')
102
+ .should_encode(true))
103
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
104
+ .body_param(new_parameter(body))
105
+ .header_param(new_parameter('application/json', key: 'accept'))
106
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
107
+ .auth(Single.new('basic_auth')))
108
+ .response(new_response_handler
109
+ .deserializer(APIHelper.method(:custom_type_deserializer))
110
+ .deserialize_into(IncomingPaymentDetail.method(:from_hash))
111
+ .local_error('404',
112
+ 'not found',
113
+ ErrorMessageException))
114
+ .execute
115
+ end
116
+
117
+ # Simulate Incoming Payment Detail
118
+ # @param [String] idempotency_key Optional parameter: This key should be
119
+ # something unique, preferably something like an UUID.
120
+ # @param [IncomingPaymentDetailCreateRequest] body Optional parameter: TODO:
121
+ # type description here
122
+ # @return [AsyncResponse] Response from the API call.
123
+ def create_async_incoming_payment_detail(idempotency_key: nil,
124
+ body: nil)
125
+ @api_call
126
+ .request(new_request_builder(HttpMethodEnum::POST,
127
+ '/api/simulations/incoming_payment_details/create_async',
128
+ Server::DEFAULT)
129
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
130
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
131
+ .body_param(new_parameter(body))
132
+ .header_param(new_parameter('application/json', key: 'accept'))
133
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
134
+ .auth(Single.new('basic_auth')))
135
+ .response(new_response_handler
136
+ .deserializer(APIHelper.method(:custom_type_deserializer))
137
+ .deserialize_into(AsyncResponse.method(:from_hash))
138
+ .local_error('404',
139
+ 'not found',
140
+ ErrorMessageException)
141
+ .local_error('405',
142
+ 'not allowed',
143
+ ErrorMessageException)
144
+ .local_error('422',
145
+ 'unsuccessful',
146
+ ErrorMessageException))
147
+ .execute
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,134 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # InternalAccountController
8
+ class InternalAccountController < BaseController
9
+ # TODO: type endpoint description here
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [CurrencyEnum] currency Optional parameter: The currency associated
13
+ # with the internal account.
14
+ # @param [String] counterparty_id Optional parameter: The counterparty
15
+ # associated with the internal account.
16
+ # @param [PaymentType13Enum] payment_type Optional parameter: The type of
17
+ # payment that can be made by the internal account.
18
+ # @param [PaymentDirectionEnum] payment_direction Optional parameter: The
19
+ # direction of payments that can be made by internal account.
20
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
21
+ # you want to query for records with metadata key `Type` and value `Loan`,
22
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
23
+ # parameters.
24
+ # @param [String] after_cursor Optional parameter: TODO: type description
25
+ # here
26
+ # @return [Array[InternalAccount]] Response from the API call.
27
+ def list_internal_accounts(per_page: nil,
28
+ currency: nil,
29
+ counterparty_id: nil,
30
+ payment_type: nil,
31
+ payment_direction: nil,
32
+ metadata: nil,
33
+ after_cursor: nil)
34
+ @api_call
35
+ .request(new_request_builder(HttpMethodEnum::GET,
36
+ '/api/internal_accounts',
37
+ Server::DEFAULT)
38
+ .query_param(new_parameter(per_page, key: 'per_page'))
39
+ .query_param(new_parameter(currency, key: 'currency'))
40
+ .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
41
+ .query_param(new_parameter(payment_type, key: 'payment_type'))
42
+ .query_param(new_parameter(payment_direction, key: 'payment_direction'))
43
+ .query_param(new_parameter(metadata, key: 'metadata'))
44
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
45
+ .header_param(new_parameter('application/json', key: 'accept'))
46
+ .auth(Single.new('basic_auth')))
47
+ .response(new_response_handler
48
+ .deserializer(APIHelper.method(:custom_type_deserializer))
49
+ .deserialize_into(InternalAccount.method(:from_hash))
50
+ .is_response_array(true))
51
+ .execute
52
+ end
53
+
54
+ # TODO: type endpoint description here
55
+ # @param [String] idempotency_key Optional parameter: This key should be
56
+ # something unique, preferably something like an UUID.
57
+ # @param [InternalAccountCreateRequest] body Optional parameter: TODO: type
58
+ # description here
59
+ # @return [InternalAccount] Response from the API call.
60
+ def create_internal_account(idempotency_key: nil,
61
+ body: nil)
62
+ @api_call
63
+ .request(new_request_builder(HttpMethodEnum::POST,
64
+ '/api/internal_accounts',
65
+ Server::DEFAULT)
66
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
67
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
68
+ .body_param(new_parameter(body))
69
+ .header_param(new_parameter('application/json', key: 'accept'))
70
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
71
+ .auth(Single.new('basic_auth')))
72
+ .response(new_response_handler
73
+ .deserializer(APIHelper.method(:custom_type_deserializer))
74
+ .deserialize_into(InternalAccount.method(:from_hash))
75
+ .local_error('404',
76
+ 'not found',
77
+ ErrorMessageException)
78
+ .local_error('422',
79
+ 'unsuccessful',
80
+ ErrorMessageException))
81
+ .execute
82
+ end
83
+
84
+ # TODO: type endpoint description here
85
+ # @param [String] id Required parameter: Unique identifier for the
86
+ # account.
87
+ # @return [InternalAccount] Response from the API call.
88
+ def get_internal_account(id)
89
+ @api_call
90
+ .request(new_request_builder(HttpMethodEnum::GET,
91
+ '/api/internal_accounts/{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(InternalAccount.method(:from_hash))
100
+ .local_error('404',
101
+ 'not found',
102
+ ErrorMessageException))
103
+ .execute
104
+ end
105
+
106
+ # TODO: type endpoint description here
107
+ # @param [String] id Required parameter: Unique identifier for the
108
+ # account.
109
+ # @param [InternalAccountUpdateRequest] body Optional parameter: TODO: type
110
+ # description here
111
+ # @return [InternalAccount] Response from the API call.
112
+ def update_internal_account(id,
113
+ body: nil)
114
+ @api_call
115
+ .request(new_request_builder(HttpMethodEnum::PATCH,
116
+ '/api/internal_accounts/{id}',
117
+ Server::DEFAULT)
118
+ .template_param(new_parameter(id, key: 'id')
119
+ .should_encode(true))
120
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
121
+ .body_param(new_parameter(body))
122
+ .header_param(new_parameter('application/json', key: 'accept'))
123
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
124
+ .auth(Single.new('basic_auth')))
125
+ .response(new_response_handler
126
+ .deserializer(APIHelper.method(:custom_type_deserializer))
127
+ .deserialize_into(InternalAccount.method(:from_hash))
128
+ .local_error('404',
129
+ 'unsuccessful',
130
+ ErrorMessageException))
131
+ .execute
132
+ end
133
+ end
134
+ end