modern_treasury 0.1.0.pre.alpha.20 → 0.1.0.pre.alpha.22

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +42 -0
  3. data/README.md +3 -3
  4. data/lib/modern_treasury/errors.rb +22 -0
  5. data/lib/modern_treasury/internal/transport/base_client.rb +10 -2
  6. data/lib/modern_treasury/internal/type/array_of.rb +6 -1
  7. data/lib/modern_treasury/internal/type/base_model.rb +77 -23
  8. data/lib/modern_treasury/internal/type/boolean.rb +7 -1
  9. data/lib/modern_treasury/internal/type/converter.rb +42 -34
  10. data/lib/modern_treasury/internal/type/enum.rb +16 -5
  11. data/lib/modern_treasury/internal/type/file_input.rb +6 -1
  12. data/lib/modern_treasury/internal/type/hash_of.rb +6 -1
  13. data/lib/modern_treasury/internal/type/union.rb +19 -9
  14. data/lib/modern_treasury/internal/type/unknown.rb +7 -1
  15. data/lib/modern_treasury/internal/util.rb +13 -10
  16. data/lib/modern_treasury/models/bulk_request_create_params.rb +143 -18
  17. data/lib/modern_treasury/models/bulk_result.rb +5 -3
  18. data/lib/modern_treasury/models/counterparty_create_params.rb +1 -0
  19. data/lib/modern_treasury/models/external_account_create_params.rb +1 -0
  20. data/lib/modern_treasury/models/incoming_payment_detail.rb +1 -0
  21. data/lib/modern_treasury/models/internal_account.rb +146 -3
  22. data/lib/modern_treasury/models/internal_account_create_params.rb +138 -1
  23. data/lib/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rb +23 -0
  24. data/lib/modern_treasury/models/invoice.rb +10 -1
  25. data/lib/modern_treasury/models/ledger_account.rb +9 -1
  26. data/lib/modern_treasury/models/ledger_account_category.rb +9 -1
  27. data/lib/modern_treasury/models/ledger_account_category_list_params.rb +8 -1
  28. data/lib/modern_treasury/models/ledger_account_list_params.rb +15 -1
  29. data/lib/modern_treasury/models/payment_order.rb +21 -9
  30. data/lib/modern_treasury/models/payment_order_create_async_params.rb +8 -7
  31. data/lib/modern_treasury/models/payment_order_create_params.rb +8 -7
  32. data/lib/modern_treasury/models/payment_order_list_params.rb +9 -1
  33. data/lib/modern_treasury/models/payment_order_update_params.rb +9 -7
  34. data/lib/modern_treasury/models/payment_reference.rb +4 -1
  35. data/lib/modern_treasury/models/return_create_params.rb +75 -1
  36. data/lib/modern_treasury/models/return_object.rb +80 -2
  37. data/lib/modern_treasury/models/routing_detail.rb +1 -0
  38. data/lib/modern_treasury/models/routing_detail_create_params.rb +1 -0
  39. data/lib/modern_treasury/models/transaction.rb +1 -0
  40. data/lib/modern_treasury/models/transaction_create_params.rb +9 -1
  41. data/lib/modern_treasury/models/transactions/transaction_line_item.rb +9 -1
  42. data/lib/modern_treasury/models/validation_validate_routing_number_params.rb +1 -0
  43. data/lib/modern_treasury/models/virtual_account_create_params.rb +1 -0
  44. data/lib/modern_treasury/models.rb +4 -22
  45. data/lib/modern_treasury/resources/bulk_requests.rb +1 -1
  46. data/lib/modern_treasury/resources/internal_accounts/balance_reports.rb +2 -2
  47. data/lib/modern_treasury/resources/internal_accounts.rb +3 -1
  48. data/lib/modern_treasury/resources/ledger_account_categories.rb +3 -1
  49. data/lib/modern_treasury/resources/ledger_accounts.rb +5 -1
  50. data/lib/modern_treasury/resources/ledger_event_handlers.rb +0 -111
  51. data/lib/modern_treasury/resources/ledgerable_events.rb +0 -51
  52. data/lib/modern_treasury/resources/payment_orders.rb +6 -4
  53. data/lib/modern_treasury/resources/returns.rb +3 -1
  54. data/lib/modern_treasury/resources/transactions.rb +3 -1
  55. data/lib/modern_treasury/version.rb +1 -1
  56. data/lib/modern_treasury.rb +3 -10
  57. data/rbi/modern_treasury/errors.rbi +16 -0
  58. data/rbi/modern_treasury/internal/type/boolean.rbi +2 -0
  59. data/rbi/modern_treasury/internal/type/converter.rbi +15 -15
  60. data/rbi/modern_treasury/internal/type/union.rbi +5 -0
  61. data/rbi/modern_treasury/internal/type/unknown.rbi +2 -0
  62. data/rbi/modern_treasury/internal/util.rbi +2 -0
  63. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +234 -18
  64. data/rbi/modern_treasury/models/bulk_result.rbi +2 -0
  65. data/rbi/modern_treasury/models/counterparty_create_params.rbi +5 -0
  66. data/rbi/modern_treasury/models/external_account_create_params.rbi +5 -0
  67. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +5 -0
  68. data/rbi/modern_treasury/models/internal_account.rbi +328 -5
  69. data/rbi/modern_treasury/models/internal_account_create_params.rbi +333 -0
  70. data/rbi/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbi +37 -0
  71. data/rbi/modern_treasury/models/invoice.rbi +10 -0
  72. data/rbi/modern_treasury/models/ledger_account.rbi +8 -0
  73. data/rbi/modern_treasury/models/ledger_account_category.rbi +8 -0
  74. data/rbi/modern_treasury/models/ledger_account_category_list_params.rbi +9 -0
  75. data/rbi/modern_treasury/models/ledger_account_list_params.rbi +22 -0
  76. data/rbi/modern_treasury/models/payment_order.rbi +39 -14
  77. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +14 -9
  78. data/rbi/modern_treasury/models/payment_order_create_params.rbi +14 -9
  79. data/rbi/modern_treasury/models/payment_order_list_params.rbi +14 -0
  80. data/rbi/modern_treasury/models/payment_order_update_params.rbi +19 -9
  81. data/rbi/modern_treasury/models/payment_reference.rbi +20 -5
  82. data/rbi/modern_treasury/models/return_create_params.rbi +114 -0
  83. data/rbi/modern_treasury/models/return_object.rbi +131 -5
  84. data/rbi/modern_treasury/models/routing_detail.rbi +5 -0
  85. data/rbi/modern_treasury/models/routing_detail_create_params.rbi +5 -0
  86. data/rbi/modern_treasury/models/transaction.rbi +5 -0
  87. data/rbi/modern_treasury/models/transaction_create_params.rbi +8 -0
  88. data/rbi/modern_treasury/models/transactions/transaction_line_item.rbi +8 -0
  89. data/rbi/modern_treasury/models/validation_validate_routing_number_params.rbi +5 -0
  90. data/rbi/modern_treasury/models/virtual_account_create_params.rbi +5 -0
  91. data/rbi/modern_treasury/models.rbi +0 -25
  92. data/rbi/modern_treasury/resources/bulk_requests.rbi +1 -0
  93. data/rbi/modern_treasury/resources/internal_accounts/balance_reports.rbi +7 -3
  94. data/rbi/modern_treasury/resources/internal_accounts.rbi +7 -0
  95. data/rbi/modern_treasury/resources/ledger_account_categories.rbi +2 -0
  96. data/rbi/modern_treasury/resources/ledger_accounts.rbi +4 -0
  97. data/rbi/modern_treasury/resources/ledger_event_handlers.rbi +0 -97
  98. data/rbi/modern_treasury/resources/ledgerable_events.rbi +0 -38
  99. data/rbi/modern_treasury/resources/payment_orders.rbi +11 -9
  100. data/rbi/modern_treasury/resources/returns.rbi +6 -0
  101. data/rbi/modern_treasury/resources/transactions.rbi +3 -0
  102. data/sig/modern_treasury/errors.rbs +9 -0
  103. data/sig/modern_treasury/internal/type/converter.rbs +7 -1
  104. data/sig/modern_treasury/models/bulk_request_create_params.rbs +101 -0
  105. data/sig/modern_treasury/models/bulk_result.rbs +1 -0
  106. data/sig/modern_treasury/models/counterparty_create_params.rbs +2 -0
  107. data/sig/modern_treasury/models/external_account_create_params.rbs +2 -0
  108. data/sig/modern_treasury/models/incoming_payment_detail.rbs +2 -0
  109. data/sig/modern_treasury/models/internal_account.rbs +147 -3
  110. data/sig/modern_treasury/models/internal_account_create_params.rbs +143 -0
  111. data/sig/modern_treasury/models/internal_accounts/balance_report_retrieve_params.rbs +10 -0
  112. data/sig/modern_treasury/models/invoice.rbs +5 -0
  113. data/sig/modern_treasury/models/ledger_account.rbs +5 -0
  114. data/sig/modern_treasury/models/ledger_account_category.rbs +5 -0
  115. data/sig/modern_treasury/models/ledger_account_category_list_params.rbs +7 -0
  116. data/sig/modern_treasury/models/ledger_account_list_params.rbs +16 -0
  117. data/sig/modern_treasury/models/payment_order.rbs +15 -2
  118. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +2 -0
  119. data/sig/modern_treasury/models/payment_order_create_params.rbs +2 -0
  120. data/sig/modern_treasury/models/payment_order_list_params.rbs +9 -0
  121. data/sig/modern_treasury/models/payment_order_update_params.rbs +4 -0
  122. data/sig/modern_treasury/models/payment_reference.rbs +8 -2
  123. data/sig/modern_treasury/models/return_create_params.rbs +47 -0
  124. data/sig/modern_treasury/models/return_object.rbs +55 -2
  125. data/sig/modern_treasury/models/routing_detail.rbs +2 -0
  126. data/sig/modern_treasury/models/routing_detail_create_params.rbs +2 -0
  127. data/sig/modern_treasury/models/transaction.rbs +2 -0
  128. data/sig/modern_treasury/models/transaction_create_params.rbs +5 -0
  129. data/sig/modern_treasury/models/transactions/transaction_line_item.rbs +5 -0
  130. data/sig/modern_treasury/models/validation_validate_routing_number_params.rbs +2 -0
  131. data/sig/modern_treasury/models/virtual_account_create_params.rbs +2 -0
  132. data/sig/modern_treasury/models.rbs +0 -18
  133. data/sig/modern_treasury/resources/internal_accounts/balance_reports.rbs +1 -1
  134. data/sig/modern_treasury/resources/internal_accounts.rbs +1 -0
  135. data/sig/modern_treasury/resources/ledger_account_categories.rbs +1 -0
  136. data/sig/modern_treasury/resources/ledger_accounts.rbs +2 -0
  137. data/sig/modern_treasury/resources/ledger_event_handlers.rbs +0 -30
  138. data/sig/modern_treasury/resources/ledgerable_events.rbs +0 -13
  139. data/sig/modern_treasury/resources/payment_orders.rbs +1 -0
  140. data/sig/modern_treasury/resources/returns.rbs +1 -0
  141. data/sig/modern_treasury/resources/transactions.rbs +1 -0
  142. metadata +2 -29
  143. data/lib/modern_treasury/models/ledger_event_handler.rb +0 -222
  144. data/lib/modern_treasury/models/ledger_event_handler_create_params.rb +0 -177
  145. data/lib/modern_treasury/models/ledger_event_handler_delete_params.rb +0 -14
  146. data/lib/modern_treasury/models/ledger_event_handler_list_params.rb +0 -58
  147. data/lib/modern_treasury/models/ledger_event_handler_retrieve_params.rb +0 -14
  148. data/lib/modern_treasury/models/ledger_event_handler_variable.rb +0 -59
  149. data/lib/modern_treasury/models/ledgerable_event.rb +0 -92
  150. data/lib/modern_treasury/models/ledgerable_event_create_params.rb +0 -50
  151. data/lib/modern_treasury/models/ledgerable_event_retrieve_params.rb +0 -14
  152. data/rbi/modern_treasury/models/ledger_event_handler.rbi +0 -322
  153. data/rbi/modern_treasury/models/ledger_event_handler_create_params.rbi +0 -303
  154. data/rbi/modern_treasury/models/ledger_event_handler_delete_params.rbi +0 -32
  155. data/rbi/modern_treasury/models/ledger_event_handler_list_params.rbi +0 -92
  156. data/rbi/modern_treasury/models/ledger_event_handler_retrieve_params.rbi +0 -32
  157. data/rbi/modern_treasury/models/ledger_event_handler_variable.rbi +0 -98
  158. data/rbi/modern_treasury/models/ledgerable_event.rbi +0 -108
  159. data/rbi/modern_treasury/models/ledgerable_event_create_params.rbi +0 -75
  160. data/rbi/modern_treasury/models/ledgerable_event_retrieve_params.rbi +0 -32
  161. data/sig/modern_treasury/models/ledger_event_handler.rbs +0 -149
  162. data/sig/modern_treasury/models/ledger_event_handler_create_params.rbs +0 -127
  163. data/sig/modern_treasury/models/ledger_event_handler_delete_params.rbs +0 -15
  164. data/sig/modern_treasury/models/ledger_event_handler_list_params.rbs +0 -54
  165. data/sig/modern_treasury/models/ledger_event_handler_retrieve_params.rbs +0 -15
  166. data/sig/modern_treasury/models/ledger_event_handler_variable.rbs +0 -36
  167. data/sig/modern_treasury/models/ledgerable_event.rbs +0 -65
  168. data/sig/modern_treasury/models/ledgerable_event_create_params.rbs +0 -43
  169. data/sig/modern_treasury/models/ledgerable_event_retrieve_params.rbs +0 -15
@@ -126,14 +126,23 @@ module ModernTreasury
126
126
 
127
127
  # @api private
128
128
  #
129
+ # Tries to efficiently coerce the given value to one of the known variants.
130
+ #
131
+ # If the value cannot match any of the known variants, the coercion is considered
132
+ # non-viable and returns the original value.
133
+ #
129
134
  # @param value [Object]
130
135
  #
131
136
  # @param state [Hash{Symbol=>Object}] .
132
137
  #
133
- # @option state [Boolean, :strong] :strictness
138
+ # @option state [Boolean] :translate_names
139
+ #
140
+ # @option state [Boolean] :strictness
134
141
  #
135
142
  # @option state [Hash{Symbol=>Object}] :exactness
136
143
  #
144
+ # @option state [Class<StandardError>] :error
145
+ #
137
146
  # @option state [Integer] :branched
138
147
  #
139
148
  # @return [Object]
@@ -144,7 +153,6 @@ module ModernTreasury
144
153
 
145
154
  strictness = state.fetch(:strictness)
146
155
  exactness = state.fetch(:exactness)
147
- state[:strictness] = strictness == :strong ? true : strictness
148
156
 
149
157
  alternatives = []
150
158
  known_variants.each do |_, variant_fn|
@@ -163,13 +171,10 @@ module ModernTreasury
163
171
  end
164
172
  end
165
173
 
166
- case alternatives.sort_by(&:first)
174
+ case alternatives.sort_by!(&:first)
167
175
  in []
168
176
  exactness[:no] += 1
169
- if strictness == :strong
170
- message = "no possible conversion of #{value.class} into a variant of #{target.inspect}"
171
- raise ArgumentError.new(message)
172
- end
177
+ state[:error] = ArgumentError.new("no matching variant for #{value.inspect}")
173
178
  value
174
179
  in [[_, exact, coerced], *]
175
180
  exact.each { exactness[_1] += _2 }
@@ -212,11 +217,16 @@ module ModernTreasury
212
217
  #
213
218
  # @return [Object]
214
219
  def to_sorbet_type
215
- case (v = variants)
220
+ types = variants.map do
221
+ ModernTreasury::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1)
222
+ end.uniq
223
+ case types
216
224
  in []
217
225
  T.noreturn
226
+ in [type]
227
+ type
218
228
  else
219
- T.any(*v.map { ModernTreasury::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) })
229
+ T.any(*types)
220
230
  end
221
231
  end
222
232
 
@@ -33,14 +33,20 @@ module ModernTreasury
33
33
  class << self
34
34
  # @api private
35
35
  #
36
+ # No coercion needed for Unknown type.
37
+ #
36
38
  # @param value [Object]
37
39
  #
38
40
  # @param state [Hash{Symbol=>Object}] .
39
41
  #
40
- # @option state [Boolean, :strong] :strictness
42
+ # @option state [Boolean] :translate_names
43
+ #
44
+ # @option state [Boolean] :strictness
41
45
  #
42
46
  # @option state [Hash{Symbol=>Object}] :exactness
43
47
  #
48
+ # @option state [Class<StandardError>] :error
49
+ #
44
50
  # @option state [Integer] :branched
45
51
  #
46
52
  # @return [Object]
@@ -497,7 +497,7 @@ module ModernTreasury
497
497
  # @param closing [Array<Proc>]
498
498
  # @param content_type [String, nil]
499
499
  private def write_multipart_content(y, val:, closing:, content_type: nil)
500
- content_type ||= "application/octet-stream"
500
+ content_line = "Content-Type: %s\r\n\r\n"
501
501
 
502
502
  case val
503
503
  in ModernTreasury::FilePart
@@ -508,24 +508,21 @@ module ModernTreasury
508
508
  content_type: val.content_type
509
509
  )
510
510
  in Pathname
511
- y << "Content-Type: #{content_type}\r\n\r\n"
511
+ y << format(content_line, content_type || "application/octet-stream")
512
512
  io = val.open(binmode: true)
513
513
  closing << io.method(:close)
514
514
  IO.copy_stream(io, y)
515
515
  in IO
516
- y << "Content-Type: #{content_type}\r\n\r\n"
516
+ y << format(content_line, content_type || "application/octet-stream")
517
517
  IO.copy_stream(val, y)
518
518
  in StringIO
519
- y << "Content-Type: #{content_type}\r\n\r\n"
519
+ y << format(content_line, content_type || "application/octet-stream")
520
520
  y << val.string
521
- in String
522
- y << "Content-Type: #{content_type}\r\n\r\n"
523
- y << val.to_s
524
521
  in -> { primitive?(_1) }
525
- y << "Content-Type: text/plain\r\n\r\n"
522
+ y << format(content_line, content_type || "text/plain")
526
523
  y << val.to_s
527
524
  else
528
- y << "Content-Type: application/json\r\n\r\n"
525
+ y << format(content_line, content_type || "application/json")
529
526
  y << JSON.generate(val)
530
527
  end
531
528
  y << "\r\n"
@@ -563,6 +560,8 @@ module ModernTreasury
563
560
 
564
561
  # @api private
565
562
  #
563
+ # https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.1.md#special-considerations-for-multipart-content
564
+ #
566
565
  # @param body [Object]
567
566
  #
568
567
  # @return [Array(String, Enumerable<String>)]
@@ -875,8 +874,12 @@ module ModernTreasury
875
874
  case type
876
875
  in ModernTreasury::Internal::Util::SorbetRuntimeSupport
877
876
  type.to_sorbet_type
878
- else
877
+ in Class | Module
879
878
  type
879
+ in true | false
880
+ T::Boolean
881
+ else
882
+ type.class
880
883
  end
881
884
  end
882
885
  end
@@ -23,7 +23,7 @@ module ModernTreasury
23
23
  # An array of objects where each object contains the input params for a single
24
24
  # `action_type` request on a `resource_type` resource
25
25
  #
26
- # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>]
26
+ # @return [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>]
27
27
  required :resources,
28
28
  -> {
29
29
  ModernTreasury::Internal::Type::ArrayOf[union: ModernTreasury::BulkRequestCreateParams::Resource]
@@ -44,7 +44,7 @@ module ModernTreasury
44
44
  #
45
45
  # @param resource_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::ResourceType] One of payment_order, expected_payment, or ledger_transaction.
46
46
  #
47
- # @param resources [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>] An array of objects where each object contains the input params for a single `ac
47
+ # @param resources [Array<ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID>] An array of objects where each object contains the input params for a single `ac
48
48
  #
49
49
  # @param metadata [Hash{Symbol=>String}] Additional data represented as key-value pairs. Both the key and value must be s
50
50
  #
@@ -87,6 +87,8 @@ module ModernTreasury
87
87
 
88
88
  variant -> { ModernTreasury::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest }
89
89
 
90
+ variant -> { ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest }
91
+
90
92
  variant -> { ModernTreasury::BulkRequestCreateParams::Resource::TransactionCreateRequest }
91
93
 
92
94
  variant -> { ModernTreasury::BulkRequestCreateParams::Resource::ID }
@@ -160,9 +162,9 @@ module ModernTreasury
160
162
  optional :accounting_ledger_class_id, String, nil?: true
161
163
 
162
164
  # @!attribute charge_bearer
163
- # The party that will pay the fees for the payment order. Only applies to wire
164
- # payment orders. Can be one of shared, sender, or receiver, which correspond
165
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
165
+ # The party that will pay the fees for the payment order. See
166
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
167
+ # differences between the options.
166
168
  #
167
169
  # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer, nil]
168
170
  optional :charge_bearer,
@@ -413,7 +415,7 @@ module ModernTreasury
413
415
  #
414
416
  # @param accounting_ledger_class_id [String, nil] The ID of one of your accounting ledger classes. Note that these will only be ac
415
417
  #
416
- # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer, nil] The party that will pay the fees for the payment order. Only applies to wire pay
418
+ # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
417
419
  #
418
420
  # @param currency [Symbol, ModernTreasury::Models::Currency] Defaults to the currency of the originating account.
419
421
  #
@@ -512,9 +514,9 @@ module ModernTreasury
512
514
  # @param class_id [String, nil] The ID of one of the class objects in your accounting system. Class objects trac
513
515
  end
514
516
 
515
- # The party that will pay the fees for the payment order. Only applies to wire
516
- # payment orders. Can be one of shared, sender, or receiver, which correspond
517
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
517
+ # The party that will pay the fees for the payment order. See
518
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
519
+ # differences between the options.
518
520
  #
519
521
  # @see ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest#charge_bearer
520
522
  module ChargeBearer
@@ -1282,6 +1284,7 @@ module ModernTreasury
1282
1284
  HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
1283
1285
  HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
1284
1286
  ID_SKNBI_CODE = :id_sknbi_code
1287
+ IL_BANK_CODE = :il_bank_code
1285
1288
  IN_IFSC = :in_ifsc
1286
1289
  JP_ZENGIN_CODE = :jp_zengin_code
1287
1290
  MY_BRANCH_CODE = :my_branch_code
@@ -2045,6 +2048,118 @@ module ModernTreasury
2045
2048
  end
2046
2049
  end
2047
2050
 
2051
+ class LedgerAccountCreateRequest < ModernTreasury::Internal::Type::BaseModel
2052
+ # @!attribute currency
2053
+ # The currency of the ledger account.
2054
+ #
2055
+ # @return [String]
2056
+ required :currency, String
2057
+
2058
+ # @!attribute ledger_id
2059
+ # The id of the ledger that this account belongs to.
2060
+ #
2061
+ # @return [String]
2062
+ required :ledger_id, String
2063
+
2064
+ # @!attribute name
2065
+ # The name of the ledger account.
2066
+ #
2067
+ # @return [String]
2068
+ required :name, String
2069
+
2070
+ # @!attribute normal_balance
2071
+ # The normal balance of the ledger account.
2072
+ #
2073
+ # @return [Symbol, ModernTreasury::Models::TransactionDirection]
2074
+ required :normal_balance, enum: -> { ModernTreasury::TransactionDirection }
2075
+
2076
+ # @!attribute currency_exponent
2077
+ # The currency exponent of the ledger account.
2078
+ #
2079
+ # @return [Integer, nil]
2080
+ optional :currency_exponent, Integer, nil?: true
2081
+
2082
+ # @!attribute description
2083
+ # The description of the ledger account.
2084
+ #
2085
+ # @return [String, nil]
2086
+ optional :description, String, nil?: true
2087
+
2088
+ # @!attribute ledger_account_category_ids
2089
+ # The array of ledger account category ids that this ledger account should be a
2090
+ # child of.
2091
+ #
2092
+ # @return [Array<String>, nil]
2093
+ optional :ledger_account_category_ids, ModernTreasury::Internal::Type::ArrayOf[String]
2094
+
2095
+ # @!attribute ledgerable_id
2096
+ # If the ledger account links to another object in Modern Treasury, the id will be
2097
+ # populated here, otherwise null.
2098
+ #
2099
+ # @return [String, nil]
2100
+ optional :ledgerable_id, String
2101
+
2102
+ # @!attribute ledgerable_type
2103
+ # If the ledger account links to another object in Modern Treasury, the type will
2104
+ # be populated here, otherwise null. The value is one of internal_account or
2105
+ # external_account.
2106
+ #
2107
+ # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType, nil]
2108
+ optional :ledgerable_type,
2109
+ enum: -> {
2110
+ ModernTreasury::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType
2111
+ }
2112
+
2113
+ # @!attribute metadata
2114
+ # Additional data represented as key-value pairs. Both the key and value must be
2115
+ # strings.
2116
+ #
2117
+ # @return [Hash{Symbol=>String}, nil]
2118
+ optional :metadata, ModernTreasury::Internal::Type::HashOf[String]
2119
+
2120
+ # @!method initialize(currency:, ledger_id:, name:, normal_balance:, currency_exponent: nil, description: nil, ledger_account_category_ids: nil, ledgerable_id: nil, ledgerable_type: nil, metadata: nil)
2121
+ # Some parameter documentations has been truncated, see
2122
+ # {ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest}
2123
+ # for more details.
2124
+ #
2125
+ # @param currency [String] The currency of the ledger account.
2126
+ #
2127
+ # @param ledger_id [String] The id of the ledger that this account belongs to.
2128
+ #
2129
+ # @param name [String] The name of the ledger account.
2130
+ #
2131
+ # @param normal_balance [Symbol, ModernTreasury::Models::TransactionDirection] The normal balance of the ledger account.
2132
+ #
2133
+ # @param currency_exponent [Integer, nil] The currency exponent of the ledger account.
2134
+ #
2135
+ # @param description [String, nil] The description of the ledger account.
2136
+ #
2137
+ # @param ledger_account_category_ids [Array<String>] The array of ledger account category ids that this ledger account should be a ch
2138
+ #
2139
+ # @param ledgerable_id [String] If the ledger account links to another object in Modern Treasury, the id will be
2140
+ #
2141
+ # @param ledgerable_type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest::LedgerableType] If the ledger account links to another object in Modern Treasury, the type will
2142
+ #
2143
+ # @param metadata [Hash{Symbol=>String}] Additional data represented as key-value pairs. Both the key and value must be s
2144
+
2145
+ # If the ledger account links to another object in Modern Treasury, the type will
2146
+ # be populated here, otherwise null. The value is one of internal_account or
2147
+ # external_account.
2148
+ #
2149
+ # @see ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest#ledgerable_type
2150
+ module LedgerableType
2151
+ extend ModernTreasury::Internal::Type::Enum
2152
+
2153
+ COUNTERPARTY = :counterparty
2154
+ EXTERNAL_ACCOUNT = :external_account
2155
+ INTERNAL_ACCOUNT = :internal_account
2156
+ VIRTUAL_ACCOUNT = :virtual_account
2157
+
2158
+ # @!method self.values
2159
+ # @return [Array<Symbol>]
2160
+ end
2161
+ end
2162
+
2048
2163
  class TransactionCreateRequest < ModernTreasury::Internal::Type::BaseModel
2049
2164
  # @!attribute amount
2050
2165
  # Value in specified currency's smallest unit. e.g. $10 would be represented
@@ -2111,6 +2226,12 @@ module ModernTreasury
2111
2226
  },
2112
2227
  nil?: true
2113
2228
 
2229
+ # @!attribute vendor_customer_id
2230
+ # An identifier given to this transaction by the bank, often `null`.
2231
+ #
2232
+ # @return [String, nil]
2233
+ optional :vendor_customer_id, String, nil?: true
2234
+
2114
2235
  # @!attribute vendor_description
2115
2236
  # The transaction detail text that often appears in on your bank statement and in
2116
2237
  # your banking portal.
@@ -2118,7 +2239,7 @@ module ModernTreasury
2118
2239
  # @return [String, nil]
2119
2240
  optional :vendor_description, String, nil?: true
2120
2241
 
2121
- # @!method initialize(amount:, as_of_date:, direction:, internal_account_id:, vendor_code:, vendor_code_type:, metadata: nil, posted: nil, type: nil, vendor_description: nil)
2242
+ # @!method initialize(amount:, as_of_date:, direction:, internal_account_id:, vendor_code:, vendor_code_type:, metadata: nil, posted: nil, type: nil, vendor_customer_id: nil, vendor_description: nil)
2122
2243
  # Some parameter documentations has been truncated, see
2123
2244
  # {ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest}
2124
2245
  # for more details.
@@ -2141,6 +2262,8 @@ module ModernTreasury
2141
2262
  #
2142
2263
  # @param type [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest::Type, nil] The type of the transaction. Examples could be `card, `ach`, `wire`, `check`, `r
2143
2264
  #
2265
+ # @param vendor_customer_id [String, nil] An identifier given to this transaction by the bank, often `null`.
2266
+ #
2144
2267
  # @param vendor_description [String, nil] The transaction detail text that often appears in on your bank statement and in
2145
2268
 
2146
2269
  # The type of the transaction. Examples could be
@@ -2241,9 +2364,9 @@ module ModernTreasury
2241
2364
  optional :amount, Integer
2242
2365
 
2243
2366
  # @!attribute charge_bearer
2244
- # The party that will pay the fees for the payment order. Only applies to wire
2245
- # payment orders. Can be one of shared, sender, or receiver, which correspond
2246
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
2367
+ # The party that will pay the fees for the payment order. See
2368
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
2369
+ # differences between the options.
2247
2370
  #
2248
2371
  # @return [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer, nil]
2249
2372
  optional :charge_bearer,
@@ -2513,7 +2636,7 @@ module ModernTreasury
2513
2636
  #
2514
2637
  # @param amount [Integer] Value in specified currency's smallest unit. e.g. $10 would be represented as 10
2515
2638
  #
2516
- # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer, nil] The party that will pay the fees for the payment order. Only applies to wire pay
2639
+ # @param charge_bearer [Symbol, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ChargeBearer, nil] The party that will pay the fees for the payment order. See https://docs.modernt
2517
2640
  #
2518
2641
  # @param counterparty_id [String, nil] Required when receiving_account_id is passed the ID of an external account.
2519
2642
  #
@@ -2600,9 +2723,9 @@ module ModernTreasury
2600
2723
  # @param class_id [String, nil] The ID of one of the class objects in your accounting system. Class objects trac
2601
2724
  end
2602
2725
 
2603
- # The party that will pay the fees for the payment order. Only applies to wire
2604
- # payment orders. Can be one of shared, sender, or receiver, which correspond
2605
- # respectively with the SWIFT 71A values `SHA`, `OUR`, `BEN`.
2726
+ # The party that will pay the fees for the payment order. See
2727
+ # https://docs.moderntreasury.com/payments/docs/charge-bearer to understand the
2728
+ # differences between the options.
2606
2729
  #
2607
2730
  # @see ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID#charge_bearer
2608
2731
  module ChargeBearer
@@ -3152,6 +3275,7 @@ module ModernTreasury
3152
3275
  HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
3153
3276
  HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
3154
3277
  ID_SKNBI_CODE = :id_sknbi_code
3278
+ IL_BANK_CODE = :il_bank_code
3155
3279
  IN_IFSC = :in_ifsc
3156
3280
  JP_ZENGIN_CODE = :jp_zengin_code
3157
3281
  MY_BRANCH_CODE = :my_branch_code
@@ -3231,6 +3355,7 @@ module ModernTreasury
3231
3355
  RETURNED = :returned
3232
3356
  REVERSED = :reversed
3233
3357
  SENT = :sent
3358
+ STOPPED = :stopped
3234
3359
 
3235
3360
  # @!method self.values
3236
3361
  # @return [Array<Symbol>]
@@ -3674,7 +3799,7 @@ module ModernTreasury
3674
3799
  end
3675
3800
 
3676
3801
  # @!method self.variants
3677
- # @return [Array(ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID)]
3802
+ # @return [Array(ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerAccountCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionCreateRequest, ModernTreasury::Models::BulkRequestCreateParams::Resource::ID, ModernTreasury::Models::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::ExpectedPaymentUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::TransactionUpdateRequestWithID, ModernTreasury::Models::BulkRequestCreateParams::Resource::LedgerTransactionUpdateRequestWithID)]
3678
3803
  end
3679
3804
  end
3680
3805
  end
@@ -19,7 +19,7 @@ module ModernTreasury
19
19
  # that is generated by performing the requested action on the provided input
20
20
  # `request_params`.
21
21
  #
22
- # @return [ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError]
22
+ # @return [ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::LedgerAccount, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError]
23
23
  required :entity, union: -> { ModernTreasury::BulkResult::Entity }
24
24
 
25
25
  # @!attribute entity_id
@@ -89,7 +89,7 @@ module ModernTreasury
89
89
  #
90
90
  # @param created_at [Time]
91
91
  #
92
- # @param entity [ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError] An object with type as indicated by `entity_type`. This is the result object tha
92
+ # @param entity [ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::LedgerAccount, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError] An object with type as indicated by `entity_type`. This is the result object tha
93
93
  #
94
94
  # @param entity_id [String] Unique identifier for the result entity object.
95
95
  #
@@ -123,6 +123,8 @@ module ModernTreasury
123
123
 
124
124
  variant -> { ModernTreasury::LedgerTransaction }
125
125
 
126
+ variant -> { ModernTreasury::LedgerAccount }
127
+
126
128
  variant -> { ModernTreasury::Transaction }
127
129
 
128
130
  variant -> { ModernTreasury::BulkResult::Entity::BulkError }
@@ -203,7 +205,7 @@ module ModernTreasury
203
205
  end
204
206
 
205
207
  # @!method self.variants
206
- # @return [Array(ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError)]
208
+ # @return [Array(ModernTreasury::Models::PaymentOrder, ModernTreasury::Models::ExpectedPayment, ModernTreasury::Models::LedgerTransaction, ModernTreasury::Models::LedgerAccount, ModernTreasury::Models::Transaction, ModernTreasury::Models::BulkResult::Entity::BulkError)]
207
209
  end
208
210
 
209
211
  # The type of the result entity object. For a successful bulk result, this is the
@@ -548,6 +548,7 @@ module ModernTreasury
548
548
  HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
549
549
  HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
550
550
  ID_SKNBI_CODE = :id_sknbi_code
551
+ IL_BANK_CODE = :il_bank_code
551
552
  IN_IFSC = :in_ifsc
552
553
  JP_ZENGIN_CODE = :jp_zengin_code
553
554
  MY_BRANCH_CODE = :my_branch_code
@@ -415,6 +415,7 @@ module ModernTreasury
415
415
  HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
416
416
  HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
417
417
  ID_SKNBI_CODE = :id_sknbi_code
418
+ IL_BANK_CODE = :il_bank_code
418
419
  IN_IFSC = :in_ifsc
419
420
  JP_ZENGIN_CODE = :jp_zengin_code
420
421
  MY_BRANCH_CODE = :my_branch_code
@@ -260,6 +260,7 @@ module ModernTreasury
260
260
  HK_INTERBANK_CLEARING_CODE = :hk_interbank_clearing_code
261
261
  HU_INTERBANK_CLEARING_CODE = :hu_interbank_clearing_code
262
262
  ID_SKNBI_CODE = :id_sknbi_code
263
+ IL_BANK_CODE = :il_bank_code
263
264
  IN_IFSC = :in_ifsc
264
265
  JP_ZENGIN_CODE = :jp_zengin_code
265
266
  MX_BANK_IDENTIFIER = :mx_bank_identifier