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,148 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerEntryController
8
+ class LedgerEntryController < BaseController
9
+ # Get a list of all ledger entries.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Hash[String, String]] id Optional parameter: TODO: type
13
+ # description here
14
+ # @param [String] ledger_account_id Optional parameter: TODO: type
15
+ # description here
16
+ # @param [String] ledger_transaction_id Optional parameter: TODO: type
17
+ # description here
18
+ # @param [String] ledger_account_payout_id Optional parameter: TODO: type
19
+ # description here
20
+ # @param [Hash[String, Date]] effective_date Optional parameter: Use `gt`
21
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
22
+ # transaction's effective date. Format YYYY-MM-DD
23
+ # @param [Hash[String, DateTime]] effective_at Optional parameter: Use `gt`
24
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
25
+ # transaction's effective time. Format ISO8601
26
+ # @param [Hash[String, DateTime]] updated_at Optional parameter: Use `gt`
27
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted
28
+ # at timestamp. For example, for all times after Jan 1 2000 12:00 UTC, use
29
+ # updated_at%5Bgt%5D=2000-01-01T12:00:00Z.
30
+ # @param [Integer] as_of_lock_version Optional parameter: Shows all ledger
31
+ # entries that were present on a ledger account at a particular
32
+ # `lock_version`. You must also specify `ledger_account_id`.
33
+ # @param [Hash[String, Integer]] ledger_account_lock_version Optional
34
+ # parameter: Use `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to
35
+ # filter by the lock_version of a ledger account. For example, for all
36
+ # entries created at or before before lock_version 1000 of a ledger account,
37
+ # use `ledger_account_lock_version%5Blte%5D=1000`.
38
+ # @param [String] ledger_account_category_id Optional parameter: Get all
39
+ # ledger entries that match the direction specified. One of `credit`,
40
+ # `debit`.
41
+ # @param [String] ledger_account_statement_id Optional parameter: Get all
42
+ # ledger entries that are included in the ledger account statement.
43
+ # @param [TrueClass | FalseClass] show_deleted Optional parameter: If true,
44
+ # response will include ledger entries that were deleted. When you update a
45
+ # ledger transaction to specify a new set of entries, the previous entries
46
+ # are deleted.
47
+ # @param [Direction15Enum] direction Optional parameter: If true, response
48
+ # will include ledger entries that were deleted. When you update a ledger
49
+ # transaction to specify a new set of entries, the previous entries are
50
+ # deleted.
51
+ # @param [Status22Enum] status Optional parameter: Get all ledger entries
52
+ # that match the status specified. One of `pending`, `posted`, or
53
+ # `archived`.
54
+ # @param [OrderBy] order_by Optional parameter: Order by `created_at` or
55
+ # `effective_at` in `asc` or `desc` order. For example, to order by
56
+ # `effective_at asc`, use `order_by%5Beffective_at%5D=asc`. Ordering by only
57
+ # one field at a time is supported.
58
+ # @param [TrueClass | FalseClass] show_balances Optional parameter: If true,
59
+ # response will include the balances attached to the ledger entry. If there
60
+ # is no balance available, null will be returned instead.
61
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
62
+ # you want to query for records with metadata key `Type` and value `Loan`,
63
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
64
+ # parameters.
65
+ # @param [String] after_cursor Optional parameter: TODO: type description
66
+ # here
67
+ # @return [Array[LedgerEntry]] Response from the API call.
68
+ def list_ledger_entries(per_page: nil,
69
+ id: nil,
70
+ ledger_account_id: nil,
71
+ ledger_transaction_id: nil,
72
+ ledger_account_payout_id: nil,
73
+ effective_date: nil,
74
+ effective_at: nil,
75
+ updated_at: nil,
76
+ as_of_lock_version: nil,
77
+ ledger_account_lock_version: nil,
78
+ ledger_account_category_id: nil,
79
+ ledger_account_statement_id: nil,
80
+ show_deleted: nil,
81
+ direction: nil,
82
+ status: nil,
83
+ order_by: nil,
84
+ show_balances: nil,
85
+ metadata: nil,
86
+ after_cursor: nil)
87
+ @api_call
88
+ .request(new_request_builder(HttpMethodEnum::GET,
89
+ '/api/ledger_entries',
90
+ Server::DEFAULT)
91
+ .query_param(new_parameter(per_page, key: 'per_page'))
92
+ .query_param(new_parameter(id, key: 'id'))
93
+ .query_param(new_parameter(ledger_account_id, key: 'ledger_account_id'))
94
+ .query_param(new_parameter(ledger_transaction_id, key: 'ledger_transaction_id'))
95
+ .query_param(new_parameter(ledger_account_payout_id, key: 'ledger_account_payout_id'))
96
+ .query_param(new_parameter(effective_date, key: 'effective_date'))
97
+ .query_param(new_parameter(effective_at, key: 'effective_at'))
98
+ .query_param(new_parameter(updated_at, key: 'updated_at'))
99
+ .query_param(new_parameter(as_of_lock_version, key: 'as_of_lock_version'))
100
+ .query_param(new_parameter(ledger_account_lock_version, key: 'ledger_account_lock_version'))
101
+ .query_param(new_parameter(ledger_account_category_id, key: 'ledger_account_category_id'))
102
+ .query_param(new_parameter(ledger_account_statement_id, key: 'ledger_account_statement_id'))
103
+ .query_param(new_parameter(show_deleted, key: 'show_deleted'))
104
+ .query_param(new_parameter(direction, key: 'direction'))
105
+ .query_param(new_parameter(status, key: 'status'))
106
+ .query_param(new_parameter(order_by, key: 'order_by'))
107
+ .query_param(new_parameter(show_balances, key: 'show_balances'))
108
+ .query_param(new_parameter(metadata, key: 'metadata'))
109
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
110
+ .header_param(new_parameter('application/json', key: 'accept'))
111
+ .auth(Single.new('basic_auth')))
112
+ .response(new_response_handler
113
+ .deserializer(APIHelper.method(:custom_type_deserializer))
114
+ .deserialize_into(LedgerEntry.method(:from_hash))
115
+ .is_response_array(true)
116
+ .local_error('422',
117
+ 'unsuccessful',
118
+ ErrorMessageException))
119
+ .execute
120
+ end
121
+
122
+ # Get details on a single ledger entry.
123
+ # @param [String] id Required parameter: id
124
+ # @param [TrueClass | FalseClass] show_balances Optional parameter: If true,
125
+ # response will include the balances attached to the ledger entry. If there
126
+ # is no balance available, null will be returned instead.
127
+ # @return [LedgerEntry] Response from the API call.
128
+ def get_ledger_entry(id,
129
+ show_balances: nil)
130
+ @api_call
131
+ .request(new_request_builder(HttpMethodEnum::GET,
132
+ '/api/ledger_entries/{id}',
133
+ Server::DEFAULT)
134
+ .template_param(new_parameter(id, key: 'id')
135
+ .should_encode(true))
136
+ .query_param(new_parameter(show_balances, key: 'show_balances'))
137
+ .header_param(new_parameter('application/json', key: 'accept'))
138
+ .auth(Single.new('basic_auth')))
139
+ .response(new_response_handler
140
+ .deserializer(APIHelper.method(:custom_type_deserializer))
141
+ .deserialize_into(LedgerEntry.method(:from_hash))
142
+ .local_error('404',
143
+ 'not found',
144
+ ErrorMessageException))
145
+ .execute
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,119 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerEventHandlerController
8
+ class LedgerEventHandlerController < BaseController
9
+ # Get a list of ledger event handlers.
10
+ # @param [Integer] per_page Optional parameter: TODO: type description
11
+ # here
12
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
13
+ # you want to query for records with metadata key `Type` and value `Loan`,
14
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
15
+ # parameters.
16
+ # @param [String] name Optional parameter: TODO: type description here
17
+ # @param [Hash[String, DateTime]] created_at Optional parameter: Use `gt`
18
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted
19
+ # at timestamp. For example, for all times after Jan 1 2000 12:00 UTC, use
20
+ # created_at%5Bgt%5D=2000-01-01T12:00:00Z.
21
+ # @param [String] after_cursor Optional parameter: TODO: type description
22
+ # here
23
+ # @return [Array[LedgerEventHandler]] Response from the API call.
24
+ def list_ledger_event_handlers(per_page: nil,
25
+ metadata: nil,
26
+ name: nil,
27
+ created_at: nil,
28
+ after_cursor: nil)
29
+ @api_call
30
+ .request(new_request_builder(HttpMethodEnum::GET,
31
+ '/api/ledger_event_handlers',
32
+ Server::DEFAULT)
33
+ .query_param(new_parameter(per_page, key: 'per_page'))
34
+ .query_param(new_parameter(metadata, key: 'metadata'))
35
+ .query_param(new_parameter(name, key: 'name'))
36
+ .query_param(new_parameter(created_at, key: 'created_at'))
37
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
38
+ .header_param(new_parameter('application/json', key: 'accept'))
39
+ .auth(Single.new('basic_auth')))
40
+ .response(new_response_handler
41
+ .deserializer(APIHelper.method(:custom_type_deserializer))
42
+ .deserialize_into(LedgerEventHandler.method(:from_hash))
43
+ .is_response_array(true))
44
+ .execute
45
+ end
46
+
47
+ # TODO: type endpoint description here
48
+ # @param [String] idempotency_key Optional parameter: This key should be
49
+ # something unique, preferably something like an UUID.
50
+ # @param [LedgerEventHandlerCreateRequest] body Optional parameter: TODO:
51
+ # type description here
52
+ # @return [LedgerEventHandler] Response from the API call.
53
+ def create_ledger_event_handler(idempotency_key: nil,
54
+ body: nil)
55
+ @api_call
56
+ .request(new_request_builder(HttpMethodEnum::POST,
57
+ '/api/ledger_event_handlers',
58
+ Server::DEFAULT)
59
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
60
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
61
+ .body_param(new_parameter(body))
62
+ .header_param(new_parameter('application/json', key: 'accept'))
63
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
64
+ .auth(Single.new('basic_auth')))
65
+ .response(new_response_handler
66
+ .deserializer(APIHelper.method(:custom_type_deserializer))
67
+ .deserialize_into(LedgerEventHandler.method(:from_hash))
68
+ .local_error('400',
69
+ 'parameter_invalid',
70
+ APIException)
71
+ .local_error('422',
72
+ 'unsuccessful',
73
+ ErrorMessageException))
74
+ .execute
75
+ end
76
+
77
+ # Get details on a single ledger event handler.
78
+ # @param [String] id Required parameter: id
79
+ # @return [LedgerEventHandler] Response from the API call.
80
+ def get_ledger_event_handler(id)
81
+ @api_call
82
+ .request(new_request_builder(HttpMethodEnum::GET,
83
+ '/api/ledger_event_handlers/{id}',
84
+ Server::DEFAULT)
85
+ .template_param(new_parameter(id, key: 'id')
86
+ .should_encode(true))
87
+ .header_param(new_parameter('application/json', key: 'accept'))
88
+ .auth(Single.new('basic_auth')))
89
+ .response(new_response_handler
90
+ .deserializer(APIHelper.method(:custom_type_deserializer))
91
+ .deserialize_into(LedgerEventHandler.method(:from_hash))
92
+ .local_error('404',
93
+ 'not found',
94
+ ErrorMessageException))
95
+ .execute
96
+ end
97
+
98
+ # Archive a ledger event handler.
99
+ # @param [String] id Required parameter: id
100
+ # @return [LedgerEventHandler] Response from the API call.
101
+ def delete_ledger_event_handler(id)
102
+ @api_call
103
+ .request(new_request_builder(HttpMethodEnum::DELETE,
104
+ '/api/ledger_event_handlers/{id}',
105
+ Server::DEFAULT)
106
+ .template_param(new_parameter(id, key: 'id')
107
+ .should_encode(true))
108
+ .header_param(new_parameter('application/json', key: 'accept'))
109
+ .auth(Single.new('basic_auth')))
110
+ .response(new_response_handler
111
+ .deserializer(APIHelper.method(:custom_type_deserializer))
112
+ .deserialize_into(LedgerEventHandler.method(:from_hash))
113
+ .local_error('404',
114
+ 'not found',
115
+ ErrorMessageException))
116
+ .execute
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,328 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerTransactionController
8
+ class LedgerTransactionController < BaseController
9
+ # Create a ledger transaction reversal.
10
+ # @param [String] id Required parameter: The id of ledger transaction to
11
+ # reverse.
12
+ # @param [LedgerTransactionReversalCreateRequest] body Optional parameter:
13
+ # TODO: type description here
14
+ # @return [LedgerTransaction] Response from the API call.
15
+ def create_ledger_transaction_reversal(id,
16
+ body: nil)
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/api/ledger_transactions/{id}/reversal',
20
+ Server::DEFAULT)
21
+ .template_param(new_parameter(id, key: 'id')
22
+ .should_encode(true))
23
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
24
+ .body_param(new_parameter(body))
25
+ .header_param(new_parameter('application/json', key: 'accept'))
26
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
27
+ .auth(Single.new('basic_auth')))
28
+ .response(new_response_handler
29
+ .deserializer(APIHelper.method(:custom_type_deserializer))
30
+ .deserialize_into(LedgerTransaction.method(:from_hash))
31
+ .local_error('404',
32
+ 'not found',
33
+ ErrorMessageException)
34
+ .local_error('422',
35
+ 'unsuccessful',
36
+ ErrorMessageException))
37
+ .execute
38
+ end
39
+
40
+ # Get a list of ledger transaction versions.
41
+ # @param [Integer] per_page Optional parameter: TODO: type description
42
+ # here
43
+ # @param [Hash[String, DateTime]] created_at Optional parameter: Use `gt`
44
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
45
+ # created_at timestamp. For example, for all dates after Jan 1 2000 12:00
46
+ # UTC, use created_at%5Bgt%5D=2000-01-01T12:00:00Z.
47
+ # @param [Hash[String, Integer]] version Optional parameter: Use `gt` (>),
48
+ # `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the version.
49
+ # For example, for all versions after 2, use version%5Bgt%5D=2.
50
+ # @param [String] ledger_transaction_id Optional parameter: Get all the
51
+ # ledger transaction versions corresponding to the ID of a ledger
52
+ # transaction.
53
+ # @param [String] ledger_account_statement_id Optional parameter: Get all
54
+ # ledger transaction versions that are included in the ledger account
55
+ # statement.
56
+ # @param [String] after_cursor Optional parameter: TODO: type description
57
+ # here
58
+ # @return [Array[LedgerTransactionVersion]] Response from the API call.
59
+ def list_ledger_transaction_versions(per_page: nil,
60
+ created_at: nil,
61
+ version: nil,
62
+ ledger_transaction_id: nil,
63
+ ledger_account_statement_id: nil,
64
+ after_cursor: nil)
65
+ @api_call
66
+ .request(new_request_builder(HttpMethodEnum::GET,
67
+ '/api/ledger_transaction_versions',
68
+ Server::DEFAULT)
69
+ .query_param(new_parameter(per_page, key: 'per_page'))
70
+ .query_param(new_parameter(created_at, key: 'created_at'))
71
+ .query_param(new_parameter(version, key: 'version'))
72
+ .query_param(new_parameter(ledger_transaction_id, key: 'ledger_transaction_id'))
73
+ .query_param(new_parameter(ledger_account_statement_id, key: 'ledger_account_statement_id'))
74
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
75
+ .header_param(new_parameter('application/json', key: 'accept'))
76
+ .auth(Single.new('basic_auth')))
77
+ .response(new_response_handler
78
+ .deserializer(APIHelper.method(:custom_type_deserializer))
79
+ .deserialize_into(LedgerTransactionVersion.method(:from_hash))
80
+ .is_response_array(true)
81
+ .local_error('404',
82
+ 'not found',
83
+ ErrorMessageException))
84
+ .execute
85
+ end
86
+
87
+ # Get a list of ledger transactions.
88
+ # @param [Integer] per_page Optional parameter: TODO: type description
89
+ # here
90
+ # @param [Hash[String, String]] id Optional parameter: TODO: type
91
+ # description here
92
+ # @param [Hash[String, String]] metadata Optional parameter: For example, if
93
+ # you want to query for records with metadata key `Type` and value `Loan`,
94
+ # the query would be `metadata%5BType%5D=Loan`. This encodes the query
95
+ # parameters.
96
+ # @param [String] ledger_id Optional parameter: TODO: type description
97
+ # here
98
+ # @param [String] ledger_account_id Optional parameter: TODO: type
99
+ # description here
100
+ # @param [Hash[String, DateTime]] effective_at Optional parameter: Use "gt"
101
+ # (>), "gte" (>=), "lt" (<), "lte" (<=), or "eq" (=) to filter by effective
102
+ # at. For example, for all transactions after Jan 1 2000, use
103
+ # effective_at%5Bgt%5D=2000-01-01T00:00:00:00.000Z.
104
+ # @param [Hash[String, DateTime]] effective_date Optional parameter: Use
105
+ # `gt` (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by
106
+ # effective date. For example, for all dates after Jan 1 2000, use
107
+ # effective_date%5Bgt%5D=2000-01-01.
108
+ # @param [Hash[String, DateTime]] posted_at Optional parameter: Use `gt`
109
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted
110
+ # at timestamp. For example, for all times after Jan 1 2000 12:00 UTC, use
111
+ # posted_at%5Bgt%5D=2000-01-01T12:00:00Z.
112
+ # @param [Hash[String, DateTime]] updated_at Optional parameter: Use `gt`
113
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the posted
114
+ # at timestamp. For example, for all times after Jan 1 2000 12:00 UTC, use
115
+ # updated_at%5Bgt%5D=2000-01-01T12:00:00Z.
116
+ # @param [OrderBy] order_by Optional parameter: Order by `created_at` or
117
+ # `effective_at` in `asc` or `desc` order. For example, to order by
118
+ # `effective_at asc`, use `order_by%5Beffective_at%5D=asc`. Ordering by only
119
+ # one field at a time is supported.
120
+ # @param [Status22Enum] status Optional parameter: Example:
121
+ # @param [String] external_id Optional parameter: TODO: type description
122
+ # here
123
+ # @param [String] ledger_account_category_id Optional parameter: TODO: type
124
+ # description here
125
+ # @param [String] ledger_account_payout_id Optional parameter: TODO: type
126
+ # description here
127
+ # @param [String] reverses_ledger_transaction_id Optional parameter: TODO:
128
+ # type description here
129
+ # @param [String] ledgerable_id Optional parameter: TODO: type description
130
+ # here
131
+ # @param [LedgerableType6Enum] ledgerable_type Optional parameter:
132
+ # Example:
133
+ # @param [String] after_cursor Optional parameter: TODO: type description
134
+ # here
135
+ # @return [Array[LedgerTransaction]] Response from the API call.
136
+ def list_ledger_transactions(per_page: nil,
137
+ id: nil,
138
+ metadata: nil,
139
+ ledger_id: nil,
140
+ ledger_account_id: nil,
141
+ effective_at: nil,
142
+ effective_date: nil,
143
+ posted_at: nil,
144
+ updated_at: nil,
145
+ order_by: nil,
146
+ status: nil,
147
+ external_id: nil,
148
+ ledger_account_category_id: nil,
149
+ ledger_account_payout_id: nil,
150
+ reverses_ledger_transaction_id: nil,
151
+ ledgerable_id: nil,
152
+ ledgerable_type: nil,
153
+ after_cursor: nil)
154
+ @api_call
155
+ .request(new_request_builder(HttpMethodEnum::GET,
156
+ '/api/ledger_transactions',
157
+ Server::DEFAULT)
158
+ .query_param(new_parameter(per_page, key: 'per_page'))
159
+ .query_param(new_parameter(id, key: 'id'))
160
+ .query_param(new_parameter(metadata, key: 'metadata'))
161
+ .query_param(new_parameter(ledger_id, key: 'ledger_id'))
162
+ .query_param(new_parameter(ledger_account_id, key: 'ledger_account_id'))
163
+ .query_param(new_parameter(effective_at, key: 'effective_at'))
164
+ .query_param(new_parameter(effective_date, key: 'effective_date'))
165
+ .query_param(new_parameter(posted_at, key: 'posted_at'))
166
+ .query_param(new_parameter(updated_at, key: 'updated_at'))
167
+ .query_param(new_parameter(order_by, key: 'order_by'))
168
+ .query_param(new_parameter(status, key: 'status'))
169
+ .query_param(new_parameter(external_id, key: 'external_id'))
170
+ .query_param(new_parameter(ledger_account_category_id, key: 'ledger_account_category_id'))
171
+ .query_param(new_parameter(ledger_account_payout_id, key: 'ledger_account_payout_id'))
172
+ .query_param(new_parameter(reverses_ledger_transaction_id, key: 'reverses_ledger_transaction_id'))
173
+ .query_param(new_parameter(ledgerable_id, key: 'ledgerable_id'))
174
+ .query_param(new_parameter(ledgerable_type, key: 'ledgerable_type'))
175
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
176
+ .header_param(new_parameter('application/json', key: 'accept'))
177
+ .auth(Single.new('basic_auth')))
178
+ .response(new_response_handler
179
+ .deserializer(APIHelper.method(:custom_type_deserializer))
180
+ .deserialize_into(LedgerTransaction.method(:from_hash))
181
+ .is_response_array(true)
182
+ .local_error('422',
183
+ 'parameter invalid',
184
+ ErrorMessageException))
185
+ .execute
186
+ end
187
+
188
+ # Create a ledger transaction.
189
+ # @param [String] idempotency_key Optional parameter: This key should be
190
+ # something unique, preferably something like an UUID.
191
+ # @param [LedgerTransactionCreateRequest] body Optional parameter: TODO:
192
+ # type description here
193
+ # @return [LedgerTransaction] Response from the API call.
194
+ def create_ledger_transaction(idempotency_key: nil,
195
+ body: nil)
196
+ @api_call
197
+ .request(new_request_builder(HttpMethodEnum::POST,
198
+ '/api/ledger_transactions',
199
+ Server::DEFAULT)
200
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
201
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
202
+ .body_param(new_parameter(body))
203
+ .header_param(new_parameter('application/json', key: 'accept'))
204
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
205
+ .auth(Single.new('basic_auth')))
206
+ .response(new_response_handler
207
+ .deserializer(APIHelper.method(:custom_type_deserializer))
208
+ .deserialize_into(LedgerTransaction.method(:from_hash))
209
+ .local_error('403',
210
+ 'forbidden',
211
+ ErrorMessageException)
212
+ .local_error('404',
213
+ 'not found',
214
+ ErrorMessageException)
215
+ .local_error('422',
216
+ 'unsuccessful',
217
+ ErrorMessageException)
218
+ .local_error('429',
219
+ 'too many requests',
220
+ ErrorMessageException))
221
+ .execute
222
+ end
223
+
224
+ # Get details on a single ledger transaction.
225
+ # @param [String] id Required parameter: id
226
+ # @return [LedgerTransaction] Response from the API call.
227
+ def get_ledger_transaction(id)
228
+ @api_call
229
+ .request(new_request_builder(HttpMethodEnum::GET,
230
+ '/api/ledger_transactions/{id}',
231
+ Server::DEFAULT)
232
+ .template_param(new_parameter(id, key: 'id')
233
+ .should_encode(true))
234
+ .header_param(new_parameter('application/json', key: 'accept'))
235
+ .auth(Single.new('basic_auth')))
236
+ .response(new_response_handler
237
+ .deserializer(APIHelper.method(:custom_type_deserializer))
238
+ .deserialize_into(LedgerTransaction.method(:from_hash))
239
+ .local_error('404',
240
+ 'not found',
241
+ ErrorMessageException))
242
+ .execute
243
+ end
244
+
245
+ # Update the details of a ledger transaction.
246
+ # @param [String] id Required parameter: id
247
+ # @param [LedgerTransactionUpdateRequest] body Optional parameter: TODO:
248
+ # type description here
249
+ # @return [LedgerTransaction] Response from the API call.
250
+ def update_ledger_transaction(id,
251
+ body: nil)
252
+ @api_call
253
+ .request(new_request_builder(HttpMethodEnum::PATCH,
254
+ '/api/ledger_transactions/{id}',
255
+ Server::DEFAULT)
256
+ .template_param(new_parameter(id, key: 'id')
257
+ .should_encode(true))
258
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
259
+ .body_param(new_parameter(body))
260
+ .header_param(new_parameter('application/json', key: 'accept'))
261
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
262
+ .auth(Single.new('basic_auth')))
263
+ .response(new_response_handler
264
+ .deserializer(APIHelper.method(:custom_type_deserializer))
265
+ .deserialize_into(LedgerTransaction.method(:from_hash))
266
+ .local_error('400',
267
+ 'parameter_invalid',
268
+ ErrorMessageException)
269
+ .local_error('403',
270
+ 'forbidden',
271
+ ErrorMessageException)
272
+ .local_error('404',
273
+ 'not found',
274
+ ErrorMessageException)
275
+ .local_error('422',
276
+ 'unsuccessful',
277
+ ErrorMessageException)
278
+ .local_error('429',
279
+ 'too many requests',
280
+ ErrorMessageException))
281
+ .execute
282
+ end
283
+
284
+ # Get a list of ledger transaction versions.
285
+ # @param [String] id Required parameter: id
286
+ # @param [String] after_cursor Optional parameter: TODO: type description
287
+ # here
288
+ # @param [Integer] per_page Optional parameter: TODO: type description
289
+ # here
290
+ # @param [Hash[String, DateTime]] created_at Optional parameter: Use `gt`
291
+ # (>), `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the
292
+ # created_at timestamp. For example, for all dates after Jan 1 2000 12:00
293
+ # UTC, use created_at%5Bgt%5D=2000-01-01T12:00:00Z.
294
+ # @param [Hash[String, Integer]] version Optional parameter: Use `gt` (>),
295
+ # `gte` (>=), `lt` (<), `lte` (<=), or `eq` (=) to filter by the version.
296
+ # For example, for all versions after 2, use version%5Bgt%5D=2.
297
+ # @return [Array[LedgerTransactionVersion]] Response from the API call.
298
+ def list_ledger_transaction_versions1(id,
299
+ after_cursor: nil,
300
+ per_page: nil,
301
+ created_at: nil,
302
+ version: nil)
303
+ @api_call
304
+ .request(new_request_builder(HttpMethodEnum::GET,
305
+ '/api/ledger_transactions/{id}/versions',
306
+ Server::DEFAULT)
307
+ .template_param(new_parameter(id, key: 'id')
308
+ .should_encode(true))
309
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
310
+ .query_param(new_parameter(per_page, key: 'per_page'))
311
+ .query_param(new_parameter(created_at, key: 'created_at'))
312
+ .query_param(new_parameter(version, key: 'version'))
313
+ .header_param(new_parameter('application/json', key: 'accept'))
314
+ .auth(Single.new('basic_auth')))
315
+ .response(new_response_handler
316
+ .deserializer(APIHelper.method(:custom_type_deserializer))
317
+ .deserialize_into(LedgerTransactionVersion.method(:from_hash))
318
+ .is_response_array(true)
319
+ .local_error('404',
320
+ 'not found',
321
+ ErrorMessageException)
322
+ .local_error('422',
323
+ 'unsuccessful',
324
+ ErrorMessageException))
325
+ .execute
326
+ end
327
+ end
328
+ end
@@ -0,0 +1,61 @@
1
+ # modern_treasury
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module ModernTreasury
7
+ # LedgerableEventController
8
+ class LedgerableEventController < BaseController
9
+ # Translation missing:
10
+ # en.openapi.descriptions.ledger.operations.create_ledgerable_event
11
+ # @param [String] idempotency_key Optional parameter: This key should be
12
+ # something unique, preferably something like an UUID.
13
+ # @param [LedgerableEventCreateRequest] body Optional parameter: TODO: type
14
+ # description here
15
+ # @return [LedgerableEvent] Response from the API call.
16
+ def create_ledgerable_event(idempotency_key: nil,
17
+ body: nil)
18
+ @api_call
19
+ .request(new_request_builder(HttpMethodEnum::POST,
20
+ '/api/ledgerable_events',
21
+ Server::DEFAULT)
22
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
23
+ .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
24
+ .body_param(new_parameter(body))
25
+ .header_param(new_parameter('application/json', key: 'accept'))
26
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
27
+ .auth(Single.new('basic_auth')))
28
+ .response(new_response_handler
29
+ .deserializer(APIHelper.method(:custom_type_deserializer))
30
+ .deserialize_into(LedgerableEvent.method(:from_hash))
31
+ .local_error('403',
32
+ 'forbidden',
33
+ ErrorMessageException)
34
+ .local_error('422',
35
+ 'unsuccessful',
36
+ ErrorMessageException))
37
+ .execute
38
+ end
39
+
40
+ # Get details on a single ledgerable event.
41
+ # @param [String] id Required parameter: id
42
+ # @return [LedgerableEvent] Response from the API call.
43
+ def get_ledgerable_event(id)
44
+ @api_call
45
+ .request(new_request_builder(HttpMethodEnum::GET,
46
+ '/api/ledgerable_events/{id}',
47
+ Server::DEFAULT)
48
+ .template_param(new_parameter(id, key: 'id')
49
+ .should_encode(true))
50
+ .header_param(new_parameter('application/json', key: 'accept'))
51
+ .auth(Single.new('basic_auth')))
52
+ .response(new_response_handler
53
+ .deserializer(APIHelper.method(:custom_type_deserializer))
54
+ .deserialize_into(LedgerableEvent.method(:from_hash))
55
+ .local_error('404',
56
+ 'not found',
57
+ ErrorMessageException))
58
+ .execute
59
+ end
60
+ end
61
+ end