mt-sdk 0.0.1 → 0.0.4

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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +67 -60
  3. data/lib/modern_treasury/client.rb +9 -7
  4. data/lib/modern_treasury/configuration.rb +18 -47
  5. data/lib/modern_treasury/controllers/account_collection_flow_controller.rb +17 -11
  6. data/lib/modern_treasury/controllers/account_detail_controller.rb +23 -9
  7. data/lib/modern_treasury/controllers/balance_report_controller.rb +9 -4
  8. data/lib/modern_treasury/controllers/base_controller.rb +8 -1
  9. data/lib/modern_treasury/controllers/connection_controller.rb +8 -7
  10. data/lib/modern_treasury/controllers/counterparty_controller.rb +23 -13
  11. data/lib/modern_treasury/controllers/document_controller.rb +50 -26
  12. data/lib/modern_treasury/controllers/event_controller.rb +11 -8
  13. data/lib/modern_treasury/controllers/expected_payment_controller.rb +24 -17
  14. data/lib/modern_treasury/controllers/external_account_controller.rb +26 -14
  15. data/lib/modern_treasury/controllers/incoming_payment_detail_controller.rb +20 -14
  16. data/lib/modern_treasury/controllers/internal_account_controller.rb +19 -13
  17. data/lib/modern_treasury/controllers/invoice_controller.rb +18 -12
  18. data/lib/modern_treasury/controllers/invoice_line_item_controller.rb +22 -9
  19. data/lib/modern_treasury/controllers/ledger_account_category_controller.rb +35 -15
  20. data/lib/modern_treasury/controllers/ledger_account_controller.rb +19 -11
  21. data/lib/modern_treasury/controllers/ledger_account_payout_controller.rb +16 -10
  22. data/lib/modern_treasury/controllers/ledger_account_statement_controller.rb +5 -2
  23. data/lib/modern_treasury/controllers/ledger_controller.rb +19 -11
  24. data/lib/modern_treasury/controllers/ledger_entry_controller.rb +15 -13
  25. data/lib/modern_treasury/controllers/ledger_event_handler_controller.rb +16 -10
  26. data/lib/modern_treasury/controllers/ledger_transaction_controller.rb +32 -22
  27. data/lib/modern_treasury/controllers/ledgerable_event_controller.rb +5 -2
  28. data/lib/modern_treasury/controllers/line_item_controller.rb +18 -7
  29. data/lib/modern_treasury/controllers/paper_item_controller.rb +10 -7
  30. data/lib/modern_treasury/controllers/payment_flow_controller.rb +17 -11
  31. data/lib/modern_treasury/controllers/payment_order_controller.rb +45 -34
  32. data/lib/modern_treasury/controllers/payment_reference_controller.rb +14 -11
  33. data/lib/modern_treasury/controllers/ping_controller.rb +2 -1
  34. data/lib/modern_treasury/controllers/return_controller.rb +14 -10
  35. data/lib/modern_treasury/controllers/reversal_controller.rb +10 -3
  36. data/lib/modern_treasury/controllers/routing_detail_controller.rb +23 -9
  37. data/lib/modern_treasury/controllers/transaction_controller.rb +14 -9
  38. data/lib/modern_treasury/controllers/transaction_line_item_controller.rb +4 -2
  39. data/lib/modern_treasury/controllers/validation_controller.rb +8 -5
  40. data/lib/modern_treasury/controllers/virtual_account_controller.rb +21 -13
  41. data/lib/modern_treasury/http/api_response.rb +19 -0
  42. data/lib/modern_treasury/logging/configuration/api_logging_configuration.rb +186 -0
  43. data/lib/modern_treasury/logging/sdk_logger.rb +17 -0
  44. data/lib/modern_treasury/models/account.rb +26 -26
  45. data/lib/modern_treasury/models/account1.rb +34 -21
  46. data/lib/modern_treasury/models/account_collection_flow.rb +15 -16
  47. data/lib/modern_treasury/models/account_collection_flow_create_request.rb +18 -5
  48. data/lib/modern_treasury/models/account_collection_flow_update_request.rb +16 -4
  49. data/lib/modern_treasury/models/account_detail.rb +15 -16
  50. data/lib/modern_treasury/models/account_detail1.rb +19 -6
  51. data/lib/modern_treasury/models/account_detail_create_request.rb +19 -6
  52. data/lib/modern_treasury/models/{account_number_type_enum.rb → account_number_type.rb} +3 -3
  53. data/lib/modern_treasury/models/{account_number_type2_enum.rb → account_number_type2.rb} +3 -3
  54. data/lib/modern_treasury/models/{account_type_enum.rb → account_type.rb} +3 -3
  55. data/lib/modern_treasury/models/{account_type5_enum.rb → account_type5.rb} +3 -3
  56. data/lib/modern_treasury/models/accounting.rb +19 -5
  57. data/lib/modern_treasury/models/accounting1.rb +17 -5
  58. data/lib/modern_treasury/models/{accounts_type_enum.rb → accounts_type.rb} +3 -3
  59. data/lib/modern_treasury/models/{accounts_type1_enum.rb → accounts_type1.rb} +3 -3
  60. data/lib/modern_treasury/models/address.rb +13 -14
  61. data/lib/modern_treasury/models/address_request.rb +23 -10
  62. data/lib/modern_treasury/models/async_response.rb +3 -3
  63. data/lib/modern_treasury/models/balance.rb +15 -17
  64. data/lib/modern_treasury/models/balance_report.rb +14 -15
  65. data/lib/modern_treasury/models/{balance_report_type_enum.rb → balance_report_type.rb} +3 -3
  66. data/lib/modern_treasury/models/{balance_report_type1_enum.rb → balance_report_type1.rb} +3 -3
  67. data/lib/modern_treasury/models/{balance_type_enum.rb → balance_type.rb} +3 -3
  68. data/lib/modern_treasury/models/balances.rb +2 -2
  69. data/lib/modern_treasury/models/balances1.rb +3 -3
  70. data/lib/modern_treasury/models/balances2.rb +7 -7
  71. data/lib/modern_treasury/models/balances3.rb +8 -8
  72. data/lib/modern_treasury/models/{charge_bearer_enum.rb → charge_bearer.rb} +3 -3
  73. data/lib/modern_treasury/models/{code_enum.rb → code.rb} +3 -3
  74. data/lib/modern_treasury/models/{code1_enum.rb → code1.rb} +3 -3
  75. data/lib/modern_treasury/models/connection.rb +11 -12
  76. data/lib/modern_treasury/models/contact_detail.rb +13 -14
  77. data/lib/modern_treasury/models/contact_detail_create_request.rb +20 -6
  78. data/lib/modern_treasury/models/{contact_identifier_type_enum.rb → contact_identifier_type.rb} +3 -3
  79. data/lib/modern_treasury/models/{content_type_enum.rb → content_type.rb} +3 -3
  80. data/lib/modern_treasury/models/counterparty.rb +16 -17
  81. data/lib/modern_treasury/models/counterparty_billing_address.rb +23 -10
  82. data/lib/modern_treasury/models/counterparty_collect_account_request.rb +23 -10
  83. data/lib/modern_treasury/models/counterparty_collect_account_response.rb +4 -4
  84. data/lib/modern_treasury/models/counterparty_create_request.rb +31 -17
  85. data/lib/modern_treasury/models/counterparty_shipping_address.rb +23 -10
  86. data/lib/modern_treasury/models/counterparty_update_request.rb +23 -9
  87. data/lib/modern_treasury/models/{created_at_enum.rb → created_at.rb} +3 -3
  88. data/lib/modern_treasury/models/{currency_enum.rb → currency.rb} +3 -3
  89. data/lib/modern_treasury/models/{currency1_enum.rb → currency1.rb} +3 -3
  90. data/lib/modern_treasury/models/{direction_enum.rb → direction.rb} +3 -3
  91. data/lib/modern_treasury/models/{direction1_enum.rb → direction1.rb} +3 -3
  92. data/lib/modern_treasury/models/{direction10_enum.rb → direction10.rb} +3 -3
  93. data/lib/modern_treasury/models/{direction14_enum.rb → direction14.rb} +3 -3
  94. data/lib/modern_treasury/models/{direction15_enum.rb → direction15.rb} +3 -3
  95. data/lib/modern_treasury/models/{direction4_enum.rb → direction4.rb} +3 -3
  96. data/lib/modern_treasury/models/{direction5_enum.rb → direction5.rb} +3 -3
  97. data/lib/modern_treasury/models/{direction9_enum.rb → direction9.rb} +3 -3
  98. data/lib/modern_treasury/models/document.rb +16 -17
  99. data/lib/modern_treasury/models/document_create_request.rb +22 -9
  100. data/lib/modern_treasury/models/document_detail.rb +11 -11
  101. data/lib/modern_treasury/models/{documentable_type_enum.rb → documentable_type.rb} +3 -3
  102. data/lib/modern_treasury/models/{documentable_type1_enum.rb → documentable_type1.rb} +3 -3
  103. data/lib/modern_treasury/models/{documentable_type2_enum.rb → documentable_type2.rb} +3 -3
  104. data/lib/modern_treasury/models/{effective_at_enum.rb → effective_at.rb} +3 -3
  105. data/lib/modern_treasury/models/errors.rb +21 -7
  106. data/lib/modern_treasury/models/event.rb +12 -13
  107. data/lib/modern_treasury/models/expected_payment.rb +38 -41
  108. data/lib/modern_treasury/models/expected_payment_create_request.rb +43 -29
  109. data/lib/modern_treasury/models/expected_payment_update_request.rb +40 -27
  110. data/lib/modern_treasury/models/external_account.rb +26 -28
  111. data/lib/modern_treasury/models/external_account_complete_verification_request.rb +17 -4
  112. data/lib/modern_treasury/models/external_account_create_request.rb +36 -23
  113. data/lib/modern_treasury/models/external_account_update_request.rb +27 -14
  114. data/lib/modern_treasury/models/external_account_verify_request.rb +23 -9
  115. data/lib/modern_treasury/models/{fallback_type_enum.rb → fallback_type.rb} +3 -3
  116. data/lib/modern_treasury/models/{field_enum.rb → field.rb} +3 -3
  117. data/lib/modern_treasury/models/file.rb +4 -4
  118. data/lib/modern_treasury/models/{foreign_exchange_indicator_enum.rb → foreign_exchange_indicator.rb} +3 -3
  119. data/lib/modern_treasury/models/incoming_payment_detail.rb +41 -43
  120. data/lib/modern_treasury/models/incoming_payment_detail_create_request.rb +31 -17
  121. data/lib/modern_treasury/models/incoming_payment_detail_update_request.rb +17 -4
  122. data/lib/modern_treasury/models/internal_account.rb +32 -34
  123. data/lib/modern_treasury/models/internal_account_create_request.rb +28 -15
  124. data/lib/modern_treasury/models/internal_account_update_request.rb +22 -8
  125. data/lib/modern_treasury/models/invoice.rb +36 -38
  126. data/lib/modern_treasury/models/invoice_create_request.rb +38 -25
  127. data/lib/modern_treasury/models/invoice_line_item.rb +13 -15
  128. data/lib/modern_treasury/models/invoice_line_item_create_request.rb +22 -9
  129. data/lib/modern_treasury/models/invoice_line_item_update_request.rb +38 -25
  130. data/lib/modern_treasury/models/invoice_update_request.rb +40 -26
  131. data/lib/modern_treasury/models/invoicer_address.rb +23 -10
  132. data/lib/modern_treasury/models/{itemizable_type_enum.rb → itemizable_type.rb} +3 -3
  133. data/lib/modern_treasury/models/{itemizable_type1_enum.rb → itemizable_type1.rb} +3 -3
  134. data/lib/modern_treasury/models/ledger.rb +28 -14
  135. data/lib/modern_treasury/models/ledger_account.rb +21 -22
  136. data/lib/modern_treasury/models/ledger_account_category.rb +16 -17
  137. data/lib/modern_treasury/models/ledger_account_category_create_request.rb +26 -13
  138. data/lib/modern_treasury/models/ledger_account_category_update_request.rb +20 -6
  139. data/lib/modern_treasury/models/ledger_account_create_request.rb +30 -17
  140. data/lib/modern_treasury/models/{ledger_account_normal_balance_enum.rb → ledger_account_normal_balance.rb} +3 -3
  141. data/lib/modern_treasury/models/ledger_account_payout.rb +22 -24
  142. data/lib/modern_treasury/models/ledger_account_payout_create_request.rb +29 -14
  143. data/lib/modern_treasury/models/ledger_account_payout_update_request.rb +21 -7
  144. data/lib/modern_treasury/models/ledger_account_statement.rb +21 -23
  145. data/lib/modern_treasury/models/ledger_account_statement_create_request.rb +24 -10
  146. data/lib/modern_treasury/models/ledger_account_update_request.rb +20 -6
  147. data/lib/modern_treasury/models/ledger_balance.rb +6 -7
  148. data/lib/modern_treasury/models/ledger_balances.rb +4 -5
  149. data/lib/modern_treasury/models/ledger_balances_with_effective_at.rb +7 -8
  150. data/lib/modern_treasury/models/ledger_create_request.rb +20 -6
  151. data/lib/modern_treasury/models/ledger_entry.rb +24 -26
  152. data/lib/modern_treasury/models/ledger_entry_create_request.rb +30 -18
  153. data/lib/modern_treasury/models/ledger_entry_of_transaction_version.rb +21 -23
  154. data/lib/modern_treasury/models/ledger_event_handler.rb +14 -15
  155. data/lib/modern_treasury/models/ledger_event_handler_conditions.rb +4 -4
  156. data/lib/modern_treasury/models/ledger_event_handler_create_request.rb +23 -11
  157. data/lib/modern_treasury/models/ledger_event_handler_ledger_entries.rb +4 -4
  158. data/lib/modern_treasury/models/ledger_event_handler_ledger_transaction_template.rb +5 -6
  159. data/lib/modern_treasury/models/ledger_transaction.rb +24 -25
  160. data/lib/modern_treasury/models/ledger_transaction_create_request.rb +29 -17
  161. data/lib/modern_treasury/models/ledger_transaction_reversal_create_request.rb +27 -14
  162. data/lib/modern_treasury/models/ledger_transaction_update_request.rb +24 -10
  163. data/lib/modern_treasury/models/ledger_transaction_version.rb +24 -25
  164. data/lib/modern_treasury/models/{ledger_type_enum.rb → ledger_type.rb} +3 -3
  165. data/lib/modern_treasury/models/ledger_update_request.rb +20 -6
  166. data/lib/modern_treasury/models/ledgerable_event.rb +18 -19
  167. data/lib/modern_treasury/models/ledgerable_event_create_request.rb +26 -13
  168. data/lib/modern_treasury/models/{ledgerable_type_enum.rb → ledgerable_type.rb} +3 -3
  169. data/lib/modern_treasury/models/{ledgerable_type2_enum.rb → ledgerable_type2.rb} +3 -3
  170. data/lib/modern_treasury/models/{ledgerable_type5_enum.rb → ledgerable_type5.rb} +3 -3
  171. data/lib/modern_treasury/models/{ledgerable_type6_enum.rb → ledgerable_type6.rb} +3 -3
  172. data/lib/modern_treasury/models/legacy_document_create_request.rb +19 -5
  173. data/lib/modern_treasury/models/line_item.rb +18 -19
  174. data/lib/modern_treasury/models/line_item_request.rb +22 -8
  175. data/lib/modern_treasury/models/line_item_update_request.rb +17 -4
  176. data/lib/modern_treasury/models/mreturn.rb +48 -50
  177. data/lib/modern_treasury/models/{normal_balance_enum.rb → normal_balance.rb} +3 -3
  178. data/lib/modern_treasury/models/{normal_balance2_enum.rb → normal_balance2.rb} +3 -3
  179. data/lib/modern_treasury/models/order_by.rb +5 -5
  180. data/lib/modern_treasury/models/{originating_account_number_type_enum.rb → originating_account_number_type.rb} +3 -3
  181. data/lib/modern_treasury/models/{originating_routing_number_type_enum.rb → originating_routing_number_type.rb} +3 -3
  182. data/lib/modern_treasury/models/paper_item.rb +25 -27
  183. data/lib/modern_treasury/models/party_address.rb +23 -10
  184. data/lib/modern_treasury/models/{party_type_enum.rb → party_type.rb} +3 -3
  185. data/lib/modern_treasury/models/{party_type5_enum.rb → party_type5.rb} +3 -3
  186. data/lib/modern_treasury/models/{payment_direction_enum.rb → payment_direction.rb} +3 -3
  187. data/lib/modern_treasury/models/payment_flow.rb +21 -22
  188. data/lib/modern_treasury/models/payment_flow_create_request.rb +24 -10
  189. data/lib/modern_treasury/models/payment_flow_update_request.rb +16 -4
  190. data/lib/modern_treasury/models/{payment_method_enum.rb → payment_method.rb} +3 -3
  191. data/lib/modern_treasury/models/{payment_method1_enum.rb → payment_method1.rb} +3 -3
  192. data/lib/modern_treasury/models/payment_order.rb +90 -95
  193. data/lib/modern_treasury/models/payment_order_async_create_request.rb +75 -62
  194. data/lib/modern_treasury/models/payment_order_create_request.rb +77 -63
  195. data/lib/modern_treasury/models/payment_order_update_request.rb +77 -62
  196. data/lib/modern_treasury/models/payment_reference.rb +12 -13
  197. data/lib/modern_treasury/models/payment_reference_object.rb +14 -15
  198. data/lib/modern_treasury/models/{payment_type_enum.rb → payment_type.rb} +3 -3
  199. data/lib/modern_treasury/models/{payment_type1_enum.rb → payment_type1.rb} +3 -3
  200. data/lib/modern_treasury/models/{payment_type13_enum.rb → payment_type13.rb} +3 -3
  201. data/lib/modern_treasury/models/{payment_type2_enum.rb → payment_type2.rb} +3 -3
  202. data/lib/modern_treasury/models/{payment_type4_enum.rb → payment_type4.rb} +3 -3
  203. data/lib/modern_treasury/models/{payment_type5_enum.rb → payment_type5.rb} +3 -3
  204. data/lib/modern_treasury/models/{payment_type6_enum.rb → payment_type6.rb} +3 -3
  205. data/lib/modern_treasury/models/ping_response.rb +2 -2
  206. data/lib/modern_treasury/models/{priority_enum.rb → priority.rb} +3 -3
  207. data/lib/modern_treasury/models/{priority4_enum.rb → priority4.rb} +3 -3
  208. data/lib/modern_treasury/models/{reason_enum.rb → reason.rb} +3 -3
  209. data/lib/modern_treasury/models/{reason1_enum.rb → reason1.rb} +3 -3
  210. data/lib/modern_treasury/models/receiving_account.rb +43 -28
  211. data/lib/modern_treasury/models/receiving_account1.rb +34 -21
  212. data/lib/modern_treasury/models/{receiving_account_type_enum.rb → receiving_account_type.rb} +3 -3
  213. data/lib/modern_treasury/models/{reconciliation_method_enum.rb → reconciliation_method.rb} +3 -3
  214. data/lib/modern_treasury/models/{reference_number_type_enum.rb → reference_number_type.rb} +3 -3
  215. data/lib/modern_treasury/models/{reference_number_type1_enum.rb → reference_number_type1.rb} +3 -3
  216. data/lib/modern_treasury/models/{referenceable_type_enum.rb → referenceable_type.rb} +3 -3
  217. data/lib/modern_treasury/models/{referenceable_type1_enum.rb → referenceable_type1.rb} +3 -3
  218. data/lib/modern_treasury/models/return_create_request.rb +24 -10
  219. data/lib/modern_treasury/models/{returnable_type_enum.rb → returnable_type.rb} +3 -3
  220. data/lib/modern_treasury/models/{returnable_type1_enum.rb → returnable_type1.rb} +3 -3
  221. data/lib/modern_treasury/models/reversal.rb +13 -14
  222. data/lib/modern_treasury/models/reversal_create_request.rb +21 -7
  223. data/lib/modern_treasury/models/{role_enum.rb → role.rb} +3 -3
  224. data/lib/modern_treasury/models/routing_detail.rb +20 -21
  225. data/lib/modern_treasury/models/routing_detail1.rb +23 -9
  226. data/lib/modern_treasury/models/routing_detail_create_request.rb +23 -9
  227. data/lib/modern_treasury/models/routing_number_lookup_request.rb +11 -11
  228. data/lib/modern_treasury/models/{routing_number_type_enum.rb → routing_number_type.rb} +3 -3
  229. data/lib/modern_treasury/models/{routing_number_type1_enum.rb → routing_number_type1.rb} +3 -3
  230. data/lib/modern_treasury/models/{routing_number_type7_enum.rb → routing_number_type7.rb} +3 -3
  231. data/lib/modern_treasury/models/{routing_number_type8_enum.rb → routing_number_type8.rb} +3 -3
  232. data/lib/modern_treasury/models/{status_enum.rb → status.rb} +3 -3
  233. data/lib/modern_treasury/models/{status1_enum.rb → status1.rb} +3 -3
  234. data/lib/modern_treasury/models/{status11_enum.rb → status11.rb} +3 -3
  235. data/lib/modern_treasury/models/{status12_enum.rb → status12.rb} +3 -3
  236. data/lib/modern_treasury/models/{status15_enum.rb → status15.rb} +3 -3
  237. data/lib/modern_treasury/models/{status16_enum.rb → status16.rb} +3 -3
  238. data/lib/modern_treasury/models/{status17_enum.rb → status17.rb} +3 -3
  239. data/lib/modern_treasury/models/{status18_enum.rb → status18.rb} +3 -3
  240. data/lib/modern_treasury/models/{status19_enum.rb → status19.rb} +3 -3
  241. data/lib/modern_treasury/models/{status2_enum.rb → status2.rb} +3 -3
  242. data/lib/modern_treasury/models/{status20_enum.rb → status20.rb} +3 -3
  243. data/lib/modern_treasury/models/{status21_enum.rb → status21.rb} +3 -3
  244. data/lib/modern_treasury/models/{status22_enum.rb → status22.rb} +3 -3
  245. data/lib/modern_treasury/models/{status24_enum.rb → status24.rb} +3 -3
  246. data/lib/modern_treasury/models/{status3_enum.rb → status3.rb} +3 -3
  247. data/lib/modern_treasury/models/{status4_enum.rb → status4.rb} +3 -3
  248. data/lib/modern_treasury/models/{status5_enum.rb → status5.rb} +3 -3
  249. data/lib/modern_treasury/models/{status6_enum.rb → status6.rb} +3 -3
  250. data/lib/modern_treasury/models/{status7_enum.rb → status7.rb} +3 -3
  251. data/lib/modern_treasury/models/{status8_enum.rb → status8.rb} +3 -3
  252. data/lib/modern_treasury/models/{status9_enum.rb → status9.rb} +3 -3
  253. data/lib/modern_treasury/models/{subtype_enum.rb → subtype.rb} +3 -3
  254. data/lib/modern_treasury/models/{supported_payment_type_enum.rb → supported_payment_type.rb} +3 -3
  255. data/lib/modern_treasury/models/{transactable_type_enum.rb → transactable_type.rb} +3 -3
  256. data/lib/modern_treasury/models/transaction.rb +31 -33
  257. data/lib/modern_treasury/models/transaction_line_item.rb +19 -20
  258. data/lib/modern_treasury/models/{type_enum.rb → type.rb} +3 -3
  259. data/lib/modern_treasury/models/{type1_enum.rb → type1.rb} +3 -3
  260. data/lib/modern_treasury/models/{type10_enum.rb → type10.rb} +3 -3
  261. data/lib/modern_treasury/models/{type11_enum.rb → type11.rb} +3 -3
  262. data/lib/modern_treasury/models/{type12_enum.rb → type12.rb} +3 -3
  263. data/lib/modern_treasury/models/{type13_enum.rb → type13.rb} +3 -3
  264. data/lib/modern_treasury/models/{type14_enum.rb → type14.rb} +3 -3
  265. data/lib/modern_treasury/models/{type16_enum.rb → type16.rb} +3 -3
  266. data/lib/modern_treasury/models/{type4_enum.rb → type4.rb} +3 -3
  267. data/lib/modern_treasury/models/{type5_enum.rb → type5.rb} +3 -3
  268. data/lib/modern_treasury/models/{type6_enum.rb → type6.rb} +3 -3
  269. data/lib/modern_treasury/models/{vendor_code_type_enum.rb → vendor_code_type.rb} +3 -3
  270. data/lib/modern_treasury/models/{vendor_code_type1_enum.rb → vendor_code_type1.rb} +3 -3
  271. data/lib/modern_treasury/models/{verification_status_enum.rb → verification_status.rb} +3 -3
  272. data/lib/modern_treasury/models/{verification_status1_enum.rb → verification_status1.rb} +3 -3
  273. data/lib/modern_treasury/models/virtual_account.rb +20 -21
  274. data/lib/modern_treasury/models/virtual_account_create_request.rb +29 -15
  275. data/lib/modern_treasury/models/virtual_account_update_request.rb +19 -6
  276. data/lib/modern_treasury.rb +117 -112
  277. metadata +116 -170
  278. data/test/controllers/controller_test_base.rb +0 -23
  279. data/test/controllers/test_account_collection_flow_controller.rb +0 -64
  280. data/test/controllers/test_connection_controller.rb +0 -41
  281. data/test/controllers/test_counterparty_controller.rb +0 -65
  282. data/test/controllers/test_document_controller.rb +0 -41
  283. data/test/controllers/test_event_controller.rb +0 -46
  284. data/test/controllers/test_expected_payment_controller.rb +0 -71
  285. data/test/controllers/test_external_account_controller.rb +0 -63
  286. data/test/controllers/test_incoming_payment_detail_controller.rb +0 -68
  287. data/test/controllers/test_internal_account_controller.rb +0 -65
  288. data/test/controllers/test_invoice_controller.rb +0 -56
  289. data/test/controllers/test_ledger_account_category_controller.rb +0 -67
  290. data/test/controllers/test_ledger_account_controller.rb +0 -70
  291. data/test/controllers/test_ledger_account_payout_controller.rb +0 -62
  292. data/test/controllers/test_ledger_account_statement_controller.rb +0 -36
  293. data/test/controllers/test_ledger_controller.rb +0 -59
  294. data/test/controllers/test_ledger_entry_controller.rb +0 -65
  295. data/test/controllers/test_ledger_event_handler_controller.rb +0 -63
  296. data/test/controllers/test_ledger_transaction_controller.rb +0 -112
  297. data/test/controllers/test_ledgerable_event_controller.rb +0 -36
  298. data/test/controllers/test_paper_item_controller.rb +0 -43
  299. data/test/controllers/test_payment_flow_controller.rb +0 -67
  300. data/test/controllers/test_payment_order_controller.rb +0 -76
  301. data/test/controllers/test_payment_reference_controller.rb +0 -43
  302. data/test/controllers/test_ping_controller.rb +0 -31
  303. data/test/controllers/test_return_controller.rb +0 -64
  304. data/test/controllers/test_transaction_controller.rb +0 -56
  305. data/test/controllers/test_virtual_account_controller.rb +0 -63
  306. data/test/http_response_catcher.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 137ddcb52b7852c895fcde86787cce2f554946a6e1dc097c4fe99aada0b8ee64
4
- data.tar.gz: 5363158cfc5fbbe7e3285e5a41158dea47c3e1509f2fb3d56997a1fbfdaddb6b
3
+ metadata.gz: '059c2e2d83cb80a450b60ccbd8d7664db19c5a4e97197358b1cab68d07238feb'
4
+ data.tar.gz: d1acf6111a92c7c292724051de5d4ec1bacf1271e2c9e567c0268763192d096f
5
5
  SHA512:
6
- metadata.gz: 7da015c13eb3e45d5154d1a96c84cc9647bf06a168047fda3a45e5c85b6009cc59badf4ddac7e1f56793cb2c0ae8f8b45d34b0bfcaa71da59961ad3de449e87e
7
- data.tar.gz: a393e00c5bda09d98d2c3d3c1de2418b79486b587785be98547b19c5fdddc4f104f3f8f1609c5cdc3f98d55f7395cc84e3f143caed5dfa7004a78acf4e31ca29
6
+ metadata.gz: a8c948deb07df07d91192d00d7638d689e527501f093d9d8527a5f158db0eee072f294b342197b0c2775fd3c544688c76306226eab6c5f95766bbd1cd1e10934
7
+ data.tar.gz: 27be300d1359585c5adcda1511dd865253793b86d5575840dd05ffd262577151c7cc292deb49d73c6f96848c1b50354071befe6792dae226c20df24e01cf2380
data/README.md CHANGED
@@ -10,16 +10,16 @@ The Modern Treasury REST API. Please see https://docs.moderntreasury.com for mor
10
10
  Install the gem from the command line:
11
11
 
12
12
  ```bash
13
- gem install mt-sdk -v 0.0.1
13
+ gem install mt-sdk -v 0.0.4
14
14
  ```
15
15
 
16
16
  Or add the gem to your Gemfile and run `bundle`:
17
17
 
18
18
  ```ruby
19
- gem 'mt-sdk', '0.0.1'
19
+ gem 'mt-sdk', '0.0.4'
20
20
  ```
21
21
 
22
- For additional gem details, see the [RubyGems page for the mt-sdk gem](https://rubygems.org/gems/mt-sdk/versions/0.0.1).
22
+ For additional gem details, see the [RubyGems page for the mt-sdk gem](https://rubygems.org/gems/mt-sdk/versions/0.0.4).
23
23
 
24
24
  ## IRB Console Usage
25
25
 
@@ -56,34 +56,27 @@ ruby bin/console
56
56
 
57
57
  **_Note:_** This automatically loads the SDK from lib/
58
58
 
59
- ## Test the SDK
60
-
61
- To run the tests, navigate to the root directory of the SDK in your terminal and execute the following command:
62
-
63
- ```
64
- rake
65
- ```
66
-
67
59
  ## Initialize the API Client
68
60
 
69
- **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/client.md)
61
+ **_Note:_** Documentation for the client can be found [here.](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/client.md)
70
62
 
71
63
  The following parameters are configurable for the API Client:
72
64
 
73
65
  | Parameter | Type | Description |
74
66
  | --- | --- | --- |
75
- | environment | [`Environment`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/README.md#environments) | The API environment. <br> **Default: `Environment.PRODUCTION`** |
67
+ | environment | [`Environment`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/README.md#environments) | The API environment. <br> **Default: `Environment.PRODUCTION`** |
76
68
  | connection | `Faraday::Connection` | The Faraday connection object passed by the SDK user for making requests |
77
69
  | adapter | `Faraday::Adapter` | The Faraday adapter object passed by the SDK user for performing http requests |
78
- | timeout | `Float` | The value to use for connection timeout. <br> **Default: 60** |
70
+ | timeout | `Float` | The value to use for connection timeout. <br> **Default: 30** |
79
71
  | max_retries | `Integer` | The number of times to retry an endpoint call if it fails. <br> **Default: 0** |
80
72
  | retry_interval | `Float` | Pause in seconds between retries. <br> **Default: 1** |
81
73
  | backoff_factor | `Float` | The amount to multiply each successive retry's interval amount by in order to provide backoff. <br> **Default: 2** |
82
74
  | retry_statuses | `Array` | A list of HTTP statuses to retry. <br> **Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]** |
83
75
  | retry_methods | `Array` | A list of HTTP methods to retry. <br> **Default: %i[get put]** |
84
76
  | http_callback | `HttpCallBack` | The Http CallBack allows defining callables for pre and post API calls. |
85
- | proxy_settings | [`ProxySettings`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
86
- | basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
77
+ | proxy_settings | [`ProxySettings`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/proxy-settings.md) | Optional proxy configuration to route HTTP requests through a proxy server. |
78
+ | logging_configuration | [`LoggingConfiguration`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/logging-configuration.md) | The SDK logging configuration for API calls |
79
+ | basic_auth_credentials | [`BasicAuthCredentials`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/auth/basic-authentication.md) | The credential object for Basic Authentication |
87
80
 
88
81
  The API client can be initialized as follows:
89
82
 
@@ -98,7 +91,16 @@ client = Client.new(
98
91
  username: 'BasicAuthUserName',
99
92
  password: 'BasicAuthPassword'
100
93
  ),
101
- environment: Environment::PRODUCTION
94
+ environment: Environment::PRODUCTION,
95
+ logging_configuration: LoggingConfiguration.new(
96
+ log_level: Logger::INFO,
97
+ request_logging_config: RequestLoggingConfiguration.new(
98
+ log_body: true
99
+ ),
100
+ response_logging_config: ResponseLoggingConfiguration.new(
101
+ log_headers: true
102
+ )
103
+ )
102
104
  )
103
105
  ```
104
106
 
@@ -112,7 +114,7 @@ include ModernTreasury
112
114
  client = Client.from_env
113
115
  ```
114
116
 
115
- See the [`Environment-Based Client Initialization`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/environment-based-client-initialization.md) section for details.
117
+ See the [`Environment-Based Client Initialization`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/environment-based-client-initialization.md) section for details.
116
118
 
117
119
  ## Environments
118
120
 
@@ -129,60 +131,65 @@ The SDK can be configured to use a different environment for making API calls. A
129
131
 
130
132
  This API uses the following authentication schemes.
131
133
 
132
- * [`basic_auth (Basic Authentication)`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/auth/basic-authentication.md)
134
+ * [`basic_auth (Basic Authentication)`](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/auth/basic-authentication.md)
133
135
 
134
136
  ## List of APIs
135
137
 
136
- * [Account Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/account-detail.md)
137
- * [Balance Report](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/balance-report.md)
138
- * [Connection](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/connection.md)
139
- * [Counterparty](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/counterparty.md)
140
- * [Document](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/document.md)
141
- * [Event](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/event.md)
142
- * [Expected Payment](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/expected-payment.md)
143
- * [External Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/external-account.md)
144
- * [Incoming Payment Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/incoming-payment-detail.md)
145
- * [Internal Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/internal-account.md)
146
- * [Invoice Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/invoice-line-item.md)
147
- * [Invoice](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/invoice.md)
148
- * [Ledger Account Category](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-account-category.md)
149
- * [Ledger Account Payout](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-account-payout.md)
150
- * [Ledger Account Statement](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-account-statement.md)
151
- * [Ledger Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-account.md)
152
- * [Ledger Entry](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-entry.md)
153
- * [Ledger Event Handler](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-event-handler.md)
154
- * [Ledger Transaction](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger-transaction.md)
155
- * [Ledgerable Event](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledgerable-event.md)
156
- * [Ledger](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ledger.md)
157
- * [Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/line-item.md)
158
- * [Paper Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/paper-item.md)
159
- * [Payment Order](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/payment-order.md)
160
- * [Payment Reference](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/payment-reference.md)
161
- * [Ping](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/ping.md)
162
- * [Return](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/return.md)
163
- * [Reversal](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/reversal.md)
164
- * [Routing Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/routing-detail.md)
165
- * [Transaction Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/transaction-line-item.md)
166
- * [Transaction](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/transaction.md)
167
- * [Validation](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/validation.md)
168
- * [Virtual Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/virtual-account.md)
169
- * [Account Collection Flow](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/account-collection-flow.md)
170
- * [Payment Flow](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/controllers/payment-flow.md)
138
+ * [Account Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/account-detail.md)
139
+ * [Balance Report](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/balance-report.md)
140
+ * [Connection](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/connection.md)
141
+ * [Counterparty](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/counterparty.md)
142
+ * [Document](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/document.md)
143
+ * [Event](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/event.md)
144
+ * [Expected Payment](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/expected-payment.md)
145
+ * [External Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/external-account.md)
146
+ * [Incoming Payment Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/incoming-payment-detail.md)
147
+ * [Internal Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/internal-account.md)
148
+ * [Invoice Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/invoice-line-item.md)
149
+ * [Invoice](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/invoice.md)
150
+ * [Ledger Account Category](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-account-category.md)
151
+ * [Ledger Account Payout](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-account-payout.md)
152
+ * [Ledger Account Statement](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-account-statement.md)
153
+ * [Ledger Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-account.md)
154
+ * [Ledger Entry](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-entry.md)
155
+ * [Ledger Event Handler](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-event-handler.md)
156
+ * [Ledger Transaction](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger-transaction.md)
157
+ * [Ledgerable Event](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledgerable-event.md)
158
+ * [Ledger](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ledger.md)
159
+ * [Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/line-item.md)
160
+ * [Paper Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/paper-item.md)
161
+ * [Payment Order](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/payment-order.md)
162
+ * [Payment Reference](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/payment-reference.md)
163
+ * [Ping](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/ping.md)
164
+ * [Return](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/return.md)
165
+ * [Reversal](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/reversal.md)
166
+ * [Routing Detail](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/routing-detail.md)
167
+ * [Transaction Line Item](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/transaction-line-item.md)
168
+ * [Transaction](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/transaction.md)
169
+ * [Validation](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/validation.md)
170
+ * [Virtual Account](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/virtual-account.md)
171
+ * [Account Collection Flow](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/account-collection-flow.md)
172
+ * [Payment Flow](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/controllers/payment-flow.md)
171
173
 
172
174
  ## SDK Infrastructure
173
175
 
174
176
  ### Configuration
175
177
 
176
- * [ProxySettings](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/proxy-settings.md)
177
- * [Environment-Based Client Initialization](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/environment-based-client-initialization.md)
178
+ * [ProxySettings](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/proxy-settings.md)
179
+ * [Environment-Based Client Initialization](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/environment-based-client-initialization.md)
180
+ * [AbstractLogger](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/abstract-logger.md)
181
+ * [LoggingConfiguration](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/logging-configuration.md)
182
+ * [RequestLoggingConfiguration](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/request-logging-configuration.md)
183
+ * [ResponseLoggingConfiguration](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/response-logging-configuration.md)
178
184
 
179
185
  ### HTTP
180
186
 
181
- * [HttpResponse](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/http-response.md)
182
- * [HttpRequest](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/http-request.md)
187
+ * [HttpResponse](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/http-response.md)
188
+ * [HttpRequest](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/http-request.md)
183
189
 
184
190
  ### Utilities
185
191
 
186
- * [ApiHelper](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/api-helper.md)
187
- * [DateTimeHelper](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.1/doc/date-time-helper.md)
192
+ * [ApiResponse](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/api-response.md)
193
+ * [ApiHelper](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/api-helper.md)
194
+ * [DateTimeHelper](https://www.github.com/sdks-io/mt-ruby-sdk/tree/0.0.4/doc/date-time-helper.md)
188
195
 
@@ -224,12 +224,12 @@ module ModernTreasury
224
224
  end
225
225
 
226
226
  def initialize(
227
- connection: nil, adapter: :net_http_persistent, timeout: 60,
227
+ connection: nil, adapter: :net_http_persistent, timeout: 30,
228
228
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
229
229
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
230
230
  retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
231
- environment: Environment::PRODUCTION, basic_auth_user_name: nil,
232
- basic_auth_password: nil, basic_auth_credentials: nil, config: nil
231
+ logging_configuration: nil, environment: Environment::PRODUCTION,
232
+ basic_auth_credentials: nil, config: nil
233
233
  )
234
234
  @config = if config.nil?
235
235
  Configuration.new(
@@ -238,19 +238,21 @@ module ModernTreasury
238
238
  backoff_factor: backoff_factor,
239
239
  retry_statuses: retry_statuses,
240
240
  retry_methods: retry_methods, http_callback: http_callback,
241
- proxy_settings: proxy_settings, environment: environment,
242
- basic_auth_user_name: basic_auth_user_name,
243
- basic_auth_password: basic_auth_password,
241
+ proxy_settings: proxy_settings,
242
+ logging_configuration: logging_configuration,
243
+ environment: environment,
244
244
  basic_auth_credentials: basic_auth_credentials
245
245
  )
246
246
  else
247
247
  config
248
248
  end
249
+ user_agent_params = BaseController.user_agent_parameters
249
250
 
250
251
  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
251
252
  .base_uri_executor(@config.method(:get_base_uri))
252
253
  .global_errors(BaseController::GLOBAL_ERRORS)
253
- .user_agent(BaseController.user_agent)
254
+ .user_agent(BaseController.user_agent,
255
+ agent_parameters: user_agent_params)
254
256
 
255
257
  initialize_auth_managers(@global_configuration)
256
258
  @global_configuration = @global_configuration.auth_managers(@auth_managers)
@@ -44,14 +44,6 @@ module ModernTreasury
44
44
  # All configuration including auth info and base URI for the API access
45
45
  # are configured in this class.
46
46
  class Configuration < CoreLibrary::HttpClientConfiguration
47
- def basic_auth_user_name
48
- @basic_auth_credentials.username
49
- end
50
-
51
- def basic_auth_password
52
- @basic_auth_credentials.password
53
- end
54
-
55
47
  # The attribute readers for properties.
56
48
  attr_reader :environment, :basic_auth_credentials
57
49
 
@@ -60,32 +52,28 @@ module ModernTreasury
60
52
  end
61
53
 
62
54
  def initialize(
63
- connection: nil, adapter: :net_http_persistent, timeout: 60,
55
+ connection: nil, adapter: :net_http_persistent, timeout: 30,
64
56
  max_retries: 0, retry_interval: 1, backoff_factor: 2,
65
57
  retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
66
58
  retry_methods: %i[get put], http_callback: nil, proxy_settings: nil,
67
- environment: Environment::PRODUCTION, basic_auth_user_name: nil,
68
- basic_auth_password: nil, basic_auth_credentials: nil
59
+ logging_configuration: nil, environment: Environment::PRODUCTION,
60
+ basic_auth_credentials: nil
69
61
  )
70
62
  super connection: connection, adapter: adapter, timeout: timeout,
71
63
  max_retries: max_retries, retry_interval: retry_interval,
72
64
  backoff_factor: backoff_factor, retry_statuses: retry_statuses,
73
65
  retry_methods: retry_methods, http_callback: http_callback,
74
- proxy_settings: proxy_settings
66
+ proxy_settings: proxy_settings,
67
+ logging_configuration: logging_configuration
75
68
 
76
69
  # Current API environment
77
70
  @environment = String(environment)
78
71
 
79
- # The username to use with basic authentication
80
- @basic_auth_user_name = basic_auth_user_name
81
-
82
- # The password to use with basic authentication
83
- @basic_auth_password = basic_auth_password
72
+ # The object holding Basic Authentication credentials
73
+ @basic_auth_credentials = basic_auth_credentials
84
74
 
85
75
  # Initializing Basic Authentication credentials with the provided auth parameters
86
- @basic_auth_credentials = create_auth_credentials_object(
87
- basic_auth_user_name, basic_auth_password, basic_auth_credentials
88
- )
76
+ @basic_auth_credentials = basic_auth_credentials
89
77
 
90
78
  # The Http Client to use for making requests.
91
79
  set_http_client CoreLibrary::FaradayClient.new(self)
@@ -94,9 +82,8 @@ module ModernTreasury
94
82
  def clone_with(connection: nil, adapter: nil, timeout: nil,
95
83
  max_retries: nil, retry_interval: nil, backoff_factor: nil,
96
84
  retry_statuses: nil, retry_methods: nil, http_callback: nil,
97
- proxy_settings: nil, environment: nil,
98
- basic_auth_user_name: nil, basic_auth_password: nil,
99
- basic_auth_credentials: nil)
85
+ proxy_settings: nil, logging_configuration: nil,
86
+ environment: nil, basic_auth_credentials: nil)
100
87
  connection ||= self.connection
101
88
  adapter ||= self.adapter
102
89
  timeout ||= self.timeout
@@ -107,11 +94,9 @@ module ModernTreasury
107
94
  retry_methods ||= self.retry_methods
108
95
  http_callback ||= self.http_callback
109
96
  proxy_settings ||= self.proxy_settings
97
+ logging_configuration ||= self.logging_configuration
110
98
  environment ||= self.environment
111
- basic_auth_credentials = create_auth_credentials_object(
112
- basic_auth_user_name, basic_auth_password,
113
- basic_auth_credentials || self.basic_auth_credentials
114
- )
99
+ basic_auth_credentials ||= self.basic_auth_credentials
115
100
 
116
101
  Configuration.new(connection: connection, adapter: adapter,
117
102
  timeout: timeout, max_retries: max_retries,
@@ -121,28 +106,11 @@ module ModernTreasury
121
106
  retry_methods: retry_methods,
122
107
  http_callback: http_callback,
123
108
  proxy_settings: proxy_settings,
109
+ logging_configuration: logging_configuration,
124
110
  environment: environment,
125
111
  basic_auth_credentials: basic_auth_credentials)
126
112
  end
127
113
 
128
- def create_auth_credentials_object(basic_auth_user_name,
129
- basic_auth_password,
130
- basic_auth_credentials)
131
- return basic_auth_credentials if basic_auth_user_name.nil? && basic_auth_password.nil?
132
-
133
- warn('The \'basic_auth_user_name\', \'basic_auth_password\' params are d'\
134
- 'eprecated. Use \'basic_auth_credentials\' param instead.')
135
-
136
- unless basic_auth_credentials.nil?
137
- return basic_auth_credentials.clone_with(
138
- username: basic_auth_user_name,
139
- password: basic_auth_password
140
- )
141
- end
142
-
143
- BasicAuthCredentials.new(username: basic_auth_user_name,
144
- password: basic_auth_password)
145
- end
146
114
 
147
115
  # All the environments the SDK can run in.
148
116
  ENVIRONMENTS = {
@@ -166,7 +134,7 @@ module ModernTreasury
166
134
  def self.build_default_config_from_env
167
135
  # === Core environment ===
168
136
  environment = Environment.from_value(ENV.fetch('ENVIRONMENT', 'production'))
169
- timeout = (ENV['TIMEOUT'] || 60).to_f
137
+ timeout = (ENV['TIMEOUT'] || 30).to_f
170
138
  max_retries = (ENV['MAX_RETRIES'] || 0).to_i
171
139
  retry_interval = (ENV['RETRY_INTERVAL'] || 1).to_f
172
140
  backoff_factor = (ENV['BACKOFF_FACTOR'] || 2).to_f
@@ -189,6 +157,8 @@ module ModernTreasury
189
157
 
190
158
  # === Proxy settings ===
191
159
  proxy_settings = ProxySettings.from_env
160
+ # === Logging Configuration ===
161
+ logging_configuration = LoggingConfiguration.from_env if LoggingConfiguration.any_logging_configured?
192
162
 
193
163
  Configuration.new(
194
164
  environment: environment,
@@ -199,7 +169,8 @@ module ModernTreasury
199
169
  retry_statuses: retry_statuses,
200
170
  retry_methods: retry_methods,
201
171
  basic_auth_credentials: basic_auth_credentials,
202
- proxy_settings: proxy_settings
172
+ proxy_settings: proxy_settings,
173
+ logging_configuration: logging_configuration
203
174
  )
204
175
  end
205
176
  end
@@ -7,6 +7,8 @@ module ModernTreasury
7
7
  # AccountCollectionFlowController
8
8
  class AccountCollectionFlowController < BaseController
9
9
  # TODO: type endpoint description here
10
+ # @param [String] after_cursor Optional parameter: TODO: type description
11
+ # here
10
12
  # @param [Integer] per_page Optional parameter: TODO: type description
11
13
  # here
12
14
  # @param [String] client_token Optional parameter: TODO: type description
@@ -16,30 +18,29 @@ module ModernTreasury
16
18
  # here
17
19
  # @param [String] external_account_id Optional parameter: TODO: type
18
20
  # description here
19
- # @param [String] after_cursor Optional parameter: TODO: type description
20
- # here
21
- # @return [Array[AccountCollectionFlow]] Response from the API call.
22
- def list_account_collection_flows(per_page: nil,
21
+ # @return [ApiResponse] Complete http response with raw body and status code.
22
+ def list_account_collection_flows(after_cursor: nil,
23
+ per_page: nil,
23
24
  client_token: nil,
24
25
  status: nil,
25
26
  counterparty_id: nil,
26
- external_account_id: nil,
27
- after_cursor: nil)
27
+ external_account_id: nil)
28
28
  @api_call
29
29
  .request(new_request_builder(HttpMethodEnum::GET,
30
30
  '/api/account_collection_flows',
31
31
  Server::DEFAULT)
32
+ .query_param(new_parameter(after_cursor, key: 'after_cursor'))
32
33
  .query_param(new_parameter(per_page, key: 'per_page'))
33
34
  .query_param(new_parameter(client_token, key: 'client_token'))
34
35
  .query_param(new_parameter(status, key: 'status'))
35
36
  .query_param(new_parameter(counterparty_id, key: 'counterparty_id'))
36
37
  .query_param(new_parameter(external_account_id, key: 'external_account_id'))
37
- .query_param(new_parameter(after_cursor, key: 'after_cursor'))
38
38
  .header_param(new_parameter('application/json', key: 'accept'))
39
39
  .auth(Single.new('basic_auth')))
40
40
  .response(new_response_handler
41
41
  .deserializer(APIHelper.method(:custom_type_deserializer))
42
42
  .deserialize_into(AccountCollectionFlow.method(:from_hash))
43
+ .is_api_response(true)
43
44
  .is_response_array(true))
44
45
  .execute
45
46
  end
@@ -49,7 +50,7 @@ module ModernTreasury
49
50
  # something unique, preferably something like an UUID.
50
51
  # @param [AccountCollectionFlowCreateRequest] body Optional parameter: TODO:
51
52
  # type description here
52
- # @return [AccountCollectionFlow] Response from the API call.
53
+ # @return [ApiResponse] Complete http response with raw body and status code.
53
54
  def create_account_collection_flow(idempotency_key: nil,
54
55
  body: nil)
55
56
  @api_call
@@ -65,6 +66,7 @@ module ModernTreasury
65
66
  .response(new_response_handler
66
67
  .deserializer(APIHelper.method(:custom_type_deserializer))
67
68
  .deserialize_into(AccountCollectionFlow.method(:from_hash))
69
+ .is_api_response(true)
68
70
  .local_error('422',
69
71
  'unsuccessful',
70
72
  ErrorMessageException))
@@ -75,7 +77,7 @@ module ModernTreasury
75
77
  # @param [String] id Required parameter: id
76
78
  # @param [String] idempotency_key Optional parameter: This key should be
77
79
  # something unique, preferably something like an UUID.
78
- # @return [AccountCollectionFlow] Response from the API call.
80
+ # @return [ApiResponse] Complete http response with raw body and status code.
79
81
  def get_account_collection_flow(id,
80
82
  idempotency_key: nil)
81
83
  @api_call
@@ -83,13 +85,15 @@ module ModernTreasury
83
85
  '/api/account_collection_flows/{id}',
84
86
  Server::DEFAULT)
85
87
  .template_param(new_parameter(id, key: 'id')
88
+ .is_required(true)
86
89
  .should_encode(true))
87
90
  .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
88
91
  .header_param(new_parameter('application/json', key: 'accept'))
89
92
  .auth(Single.new('basic_auth')))
90
93
  .response(new_response_handler
91
94
  .deserializer(APIHelper.method(:custom_type_deserializer))
92
- .deserialize_into(AccountCollectionFlow.method(:from_hash)))
95
+ .deserialize_into(AccountCollectionFlow.method(:from_hash))
96
+ .is_api_response(true))
93
97
  .execute
94
98
  end
95
99
 
@@ -99,7 +103,7 @@ module ModernTreasury
99
103
  # something unique, preferably something like an UUID.
100
104
  # @param [AccountCollectionFlowUpdateRequest] body Optional parameter: TODO:
101
105
  # type description here
102
- # @return [AccountCollectionFlow] Response from the API call.
106
+ # @return [ApiResponse] Complete http response with raw body and status code.
103
107
  def update_account_collection_flow(id,
104
108
  idempotency_key: nil,
105
109
  body: nil)
@@ -108,6 +112,7 @@ module ModernTreasury
108
112
  '/api/account_collection_flows/{id}',
109
113
  Server::DEFAULT)
110
114
  .template_param(new_parameter(id, key: 'id')
115
+ .is_required(true)
111
116
  .should_encode(true))
112
117
  .header_param(new_parameter('application/json', key: 'Content-Type'))
113
118
  .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
@@ -118,6 +123,7 @@ module ModernTreasury
118
123
  .response(new_response_handler
119
124
  .deserializer(APIHelper.method(:custom_type_deserializer))
120
125
  .deserialize_into(AccountCollectionFlow.method(:from_hash))
126
+ .is_api_response(true)
121
127
  .local_error('404',
122
128
  'not found',
123
129
  ErrorMessageException)
@@ -7,13 +7,13 @@ module ModernTreasury
7
7
  # AccountDetailController
8
8
  class AccountDetailController < BaseController
9
9
  # Get a list of account details for a single internal or external account.
10
- # @param [AccountsTypeEnum] accounts_type Required parameter: Example:
10
+ # @param [AccountsType] accounts_type Required parameter: Example:
11
11
  # @param [String] account_id Required parameter: The ID of the account.
12
12
  # @param [String] after_cursor Optional parameter: TODO: type description
13
13
  # here
14
14
  # @param [Integer] per_page Optional parameter: TODO: type description
15
15
  # here
16
- # @return [Array[AccountDetail]] Response from the API call.
16
+ # @return [ApiResponse] Complete http response with raw body and status code.
17
17
  def list_account_details(accounts_type,
18
18
  account_id,
19
19
  after_cursor: nil,
@@ -23,8 +23,10 @@ module ModernTreasury
23
23
  '/api/{accounts_type}/{account_id}/account_details',
24
24
  Server::DEFAULT)
25
25
  .template_param(new_parameter(accounts_type, key: 'accounts_type')
26
+ .is_required(true)
26
27
  .should_encode(true))
27
28
  .template_param(new_parameter(account_id, key: 'account_id')
29
+ .is_required(true)
28
30
  .should_encode(true))
29
31
  .query_param(new_parameter(after_cursor, key: 'after_cursor'))
30
32
  .query_param(new_parameter(per_page, key: 'per_page'))
@@ -33,18 +35,19 @@ module ModernTreasury
33
35
  .response(new_response_handler
34
36
  .deserializer(APIHelper.method(:custom_type_deserializer))
35
37
  .deserialize_into(AccountDetail.method(:from_hash))
38
+ .is_api_response(true)
36
39
  .is_response_array(true))
37
40
  .execute
38
41
  end
39
42
 
40
43
  # Create an account detail for an external account.
41
- # @param [AccountsType1Enum] accounts_type Required parameter: Example:
44
+ # @param [AccountsType1] accounts_type Required parameter: Example:
42
45
  # @param [String] account_id Required parameter: The ID of the account.
43
46
  # @param [String] idempotency_key Optional parameter: This key should be
44
47
  # something unique, preferably something like an UUID.
45
48
  # @param [AccountDetailCreateRequest] body Optional parameter: TODO: type
46
49
  # description here
47
- # @return [AccountDetail] Response from the API call.
50
+ # @return [ApiResponse] Complete http response with raw body and status code.
48
51
  def create_account_detail(accounts_type,
49
52
  account_id,
50
53
  idempotency_key: nil,
@@ -54,8 +57,10 @@ module ModernTreasury
54
57
  '/api/{accounts_type}/{account_id}/account_details',
55
58
  Server::DEFAULT)
56
59
  .template_param(new_parameter(accounts_type, key: 'accounts_type')
60
+ .is_required(true)
57
61
  .should_encode(true))
58
62
  .template_param(new_parameter(account_id, key: 'account_id')
63
+ .is_required(true)
59
64
  .should_encode(true))
60
65
  .header_param(new_parameter('application/json', key: 'Content-Type'))
61
66
  .header_param(new_parameter(idempotency_key, key: 'Idempotency-Key'))
@@ -66,6 +71,7 @@ module ModernTreasury
66
71
  .response(new_response_handler
67
72
  .deserializer(APIHelper.method(:custom_type_deserializer))
68
73
  .deserialize_into(AccountDetail.method(:from_hash))
74
+ .is_api_response(true)
69
75
  .local_error('404',
70
76
  'unsuccessful',
71
77
  ErrorMessageException)
@@ -76,10 +82,10 @@ module ModernTreasury
76
82
  end
77
83
 
78
84
  # Get a single account detail for a single internal or external account.
79
- # @param [AccountsTypeEnum] accounts_type Required parameter: Example:
85
+ # @param [AccountsType] accounts_type Required parameter: Example:
80
86
  # @param [String] account_id Required parameter: The ID of the account.
81
87
  # @param [String] id Required parameter: The ID of the account detail.
82
- # @return [AccountDetail] Response from the API call.
88
+ # @return [ApiResponse] Complete http response with raw body and status code.
83
89
  def get_account_detail(accounts_type,
84
90
  account_id,
85
91
  id)
@@ -88,16 +94,20 @@ module ModernTreasury
88
94
  '/api/{accounts_type}/{account_id}/account_details/{id}',
89
95
  Server::DEFAULT)
90
96
  .template_param(new_parameter(accounts_type, key: 'accounts_type')
97
+ .is_required(true)
91
98
  .should_encode(true))
92
99
  .template_param(new_parameter(account_id, key: 'account_id')
100
+ .is_required(true)
93
101
  .should_encode(true))
94
102
  .template_param(new_parameter(id, key: 'id')
103
+ .is_required(true)
95
104
  .should_encode(true))
96
105
  .header_param(new_parameter('application/json', key: 'accept'))
97
106
  .auth(Single.new('basic_auth')))
98
107
  .response(new_response_handler
99
108
  .deserializer(APIHelper.method(:custom_type_deserializer))
100
109
  .deserialize_into(AccountDetail.method(:from_hash))
110
+ .is_api_response(true)
101
111
  .local_error('404',
102
112
  'not found',
103
113
  ErrorMessageException))
@@ -105,10 +115,10 @@ module ModernTreasury
105
115
  end
106
116
 
107
117
  # Delete a single account detail for an external account.
108
- # @param [AccountsType1Enum] accounts_type Required parameter: Example:
118
+ # @param [AccountsType1] accounts_type Required parameter: Example:
109
119
  # @param [String] account_id Required parameter: The ID of the account.
110
120
  # @param [String] id Required parameter: The ID of the account detail.
111
- # @return [void] Response from the API call.
121
+ # @return [ApiResponse] Complete http response with raw body and status code.
112
122
  def delete_account_detail(accounts_type,
113
123
  account_id,
114
124
  id)
@@ -117,14 +127,18 @@ module ModernTreasury
117
127
  '/api/{accounts_type}/{account_id}/account_details/{id}',
118
128
  Server::DEFAULT)
119
129
  .template_param(new_parameter(accounts_type, key: 'accounts_type')
130
+ .is_required(true)
120
131
  .should_encode(true))
121
132
  .template_param(new_parameter(account_id, key: 'account_id')
133
+ .is_required(true)
122
134
  .should_encode(true))
123
135
  .template_param(new_parameter(id, key: 'id')
136
+ .is_required(true)
124
137
  .should_encode(true))
125
138
  .auth(Single.new('basic_auth')))
126
139
  .response(new_response_handler
127
- .is_response_void(true))
140
+ .is_response_void(true)
141
+ .is_api_response(true))
128
142
  .execute
129
143
  end
130
144
  end