modern_treasury 0.10.0 → 0.11.0

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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/README.md +1 -1
  4. data/lib/modern_treasury/client.rb +12 -0
  5. data/lib/modern_treasury/models/hold_create_params.rb +74 -0
  6. data/lib/modern_treasury/models/hold_create_response.rb +143 -0
  7. data/lib/modern_treasury/models/hold_list_params.rb +89 -0
  8. data/lib/modern_treasury/models/hold_list_response.rb +143 -0
  9. data/lib/modern_treasury/models/hold_retrieve_params.rb +14 -0
  10. data/lib/modern_treasury/models/hold_retrieve_response.rb +143 -0
  11. data/lib/modern_treasury/models/hold_update_params.rb +40 -0
  12. data/lib/modern_treasury/models/hold_update_response.rb +143 -0
  13. data/lib/modern_treasury/models/internal_account_request_closure_params.rb +14 -0
  14. data/lib/modern_treasury/models/journal_entry_list_params.rb +38 -0
  15. data/lib/modern_treasury/models/journal_entry_retrieve_params.rb +14 -0
  16. data/lib/modern_treasury/models/journal_report_list_params.rb +14 -0
  17. data/lib/modern_treasury/models/journal_report_retrieve_params.rb +14 -0
  18. data/lib/modern_treasury/models/journal_report_update_params.rb +26 -0
  19. data/lib/modern_treasury/models/payment_order.rb +1 -1
  20. data/lib/modern_treasury/models/payment_order_subtype.rb +0 -1
  21. data/lib/modern_treasury/models/payment_reference.rb +1 -1
  22. data/lib/modern_treasury/models/return_object.rb +1 -1
  23. data/lib/modern_treasury/models/transaction.rb +1 -1
  24. data/lib/modern_treasury/models.rb +20 -0
  25. data/lib/modern_treasury/resources/holds.rb +126 -0
  26. data/lib/modern_treasury/resources/internal_accounts.rb +20 -0
  27. data/lib/modern_treasury/resources/journal_entries.rb +60 -0
  28. data/lib/modern_treasury/resources/journal_reports.rb +78 -0
  29. data/lib/modern_treasury/version.rb +1 -1
  30. data/lib/modern_treasury.rb +17 -0
  31. data/rbi/modern_treasury/client.rbi +9 -0
  32. data/rbi/modern_treasury/models/hold_create_params.rbi +125 -0
  33. data/rbi/modern_treasury/models/hold_create_response.rbi +232 -0
  34. data/rbi/modern_treasury/models/hold_list_params.rbi +150 -0
  35. data/rbi/modern_treasury/models/hold_list_response.rbi +225 -0
  36. data/rbi/modern_treasury/models/hold_retrieve_params.rbi +32 -0
  37. data/rbi/modern_treasury/models/hold_retrieve_response.rbi +234 -0
  38. data/rbi/modern_treasury/models/hold_update_params.rbi +79 -0
  39. data/rbi/modern_treasury/models/hold_update_response.rbi +232 -0
  40. data/rbi/modern_treasury/models/internal_account_request_closure_params.rbi +32 -0
  41. data/rbi/modern_treasury/models/journal_entry_list_params.rbi +68 -0
  42. data/rbi/modern_treasury/models/journal_entry_retrieve_params.rbi +32 -0
  43. data/rbi/modern_treasury/models/journal_report_list_params.rbi +32 -0
  44. data/rbi/modern_treasury/models/journal_report_retrieve_params.rbi +32 -0
  45. data/rbi/modern_treasury/models/journal_report_update_params.rbi +52 -0
  46. data/rbi/modern_treasury/models/payment_order.rbi +2 -2
  47. data/rbi/modern_treasury/models/payment_order_subtype.rbi +0 -1
  48. data/rbi/modern_treasury/models/payment_reference.rbi +2 -2
  49. data/rbi/modern_treasury/models/return_object.rbi +2 -2
  50. data/rbi/modern_treasury/models/transaction.rbi +2 -2
  51. data/rbi/modern_treasury/models.rbi +23 -0
  52. data/rbi/modern_treasury/resources/holds.rbi +108 -0
  53. data/rbi/modern_treasury/resources/internal_accounts.rbi +14 -0
  54. data/rbi/modern_treasury/resources/journal_entries.rbi +46 -0
  55. data/rbi/modern_treasury/resources/journal_reports.rbi +51 -0
  56. data/sig/modern_treasury/client.rbs +6 -0
  57. data/sig/modern_treasury/models/hold_create_params.rbs +66 -0
  58. data/sig/modern_treasury/models/hold_create_response.rbs +108 -0
  59. data/sig/modern_treasury/models/hold_list_params.rbs +76 -0
  60. data/sig/modern_treasury/models/hold_list_response.rbs +108 -0
  61. data/sig/modern_treasury/models/hold_retrieve_params.rbs +15 -0
  62. data/sig/modern_treasury/models/hold_retrieve_response.rbs +108 -0
  63. data/sig/modern_treasury/models/hold_update_params.rbs +41 -0
  64. data/sig/modern_treasury/models/hold_update_response.rbs +108 -0
  65. data/sig/modern_treasury/models/internal_account_request_closure_params.rbs +15 -0
  66. data/sig/modern_treasury/models/journal_entry_list_params.rbs +36 -0
  67. data/sig/modern_treasury/models/journal_entry_retrieve_params.rbs +15 -0
  68. data/sig/modern_treasury/models/journal_report_list_params.rbs +15 -0
  69. data/sig/modern_treasury/models/journal_report_retrieve_params.rbs +15 -0
  70. data/sig/modern_treasury/models/journal_report_update_params.rbs +32 -0
  71. data/sig/modern_treasury/models/payment_order.rbs +2 -2
  72. data/sig/modern_treasury/models/payment_order_subtype.rbs +0 -2
  73. data/sig/modern_treasury/models/payment_reference.rbs +2 -2
  74. data/sig/modern_treasury/models/return_object.rbs +2 -2
  75. data/sig/modern_treasury/models/transaction.rbs +2 -2
  76. data/sig/modern_treasury/models.rbs +20 -0
  77. data/sig/modern_treasury/resources/holds.rbs +38 -0
  78. data/sig/modern_treasury/resources/internal_accounts.rbs +5 -0
  79. data/sig/modern_treasury/resources/journal_entries.rbs +19 -0
  80. data/sig/modern_treasury/resources/journal_reports.rbs +21 -0
  81. metadata +53 -2
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ModernTreasury
4
+ module Resources
5
+ class JournalReports
6
+ # Retrieve a specific journal report
7
+ #
8
+ # @overload retrieve(id, request_options: {})
9
+ #
10
+ # @param id [String] The ID of the journal report
11
+ #
12
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [nil]
15
+ #
16
+ # @see ModernTreasury::Models::JournalReportRetrieveParams
17
+ def retrieve(id, params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: ["api/journal_reports/%1$s", id],
21
+ model: NilClass,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # Update a journal report
27
+ #
28
+ # @overload update(id, metadata: nil, status: nil, request_options: {})
29
+ #
30
+ # @param id [String] The ID of the journal report
31
+ #
32
+ # @param metadata [Object]
33
+ #
34
+ # @param status [String]
35
+ #
36
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
37
+ #
38
+ # @return [nil]
39
+ #
40
+ # @see ModernTreasury::Models::JournalReportUpdateParams
41
+ def update(id, params = {})
42
+ parsed, options = ModernTreasury::JournalReportUpdateParams.dump_request(params)
43
+ @client.request(
44
+ method: :patch,
45
+ path: ["api/journal_reports/%1$s", id],
46
+ body: parsed,
47
+ model: NilClass,
48
+ options: options
49
+ )
50
+ end
51
+
52
+ # Retrieve a list of journal reports
53
+ #
54
+ # @overload list(request_options: {})
55
+ #
56
+ # @param request_options [ModernTreasury::RequestOptions, Hash{Symbol=>Object}, nil]
57
+ #
58
+ # @return [nil]
59
+ #
60
+ # @see ModernTreasury::Models::JournalReportListParams
61
+ def list(params = {})
62
+ @client.request(
63
+ method: :get,
64
+ path: "api/journal_reports",
65
+ model: NilClass,
66
+ options: params[:request_options]
67
+ )
68
+ end
69
+
70
+ # @api private
71
+ #
72
+ # @param client [ModernTreasury::Client]
73
+ def initialize(client:)
74
+ @client = client
75
+ end
76
+ end
77
+ end
78
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- VERSION = "0.10.0"
4
+ VERSION = "0.11.0"
5
5
  end
@@ -125,6 +125,14 @@ require_relative "modern_treasury/models/foreign_exchange_quote_create_params"
125
125
  require_relative "modern_treasury/models/foreign_exchange_quote_list_params"
126
126
  require_relative "modern_treasury/models/foreign_exchange_quote_retrieve_params"
127
127
  require_relative "modern_treasury/models/foreign_exchange_rate"
128
+ require_relative "modern_treasury/models/hold_create_params"
129
+ require_relative "modern_treasury/models/hold_create_response"
130
+ require_relative "modern_treasury/models/hold_list_params"
131
+ require_relative "modern_treasury/models/hold_list_response"
132
+ require_relative "modern_treasury/models/hold_retrieve_params"
133
+ require_relative "modern_treasury/models/hold_retrieve_response"
134
+ require_relative "modern_treasury/models/hold_update_params"
135
+ require_relative "modern_treasury/models/hold_update_response"
128
136
  require_relative "modern_treasury/models/identification_create_request"
129
137
  require_relative "modern_treasury/models/incoming_payment_detail"
130
138
  require_relative "modern_treasury/models/incoming_payment_detail_create_async_params"
@@ -134,6 +142,7 @@ require_relative "modern_treasury/models/incoming_payment_detail_update_params"
134
142
  require_relative "modern_treasury/models/internal_account"
135
143
  require_relative "modern_treasury/models/internal_account_create_params"
136
144
  require_relative "modern_treasury/models/internal_account_list_params"
145
+ require_relative "modern_treasury/models/internal_account_request_closure_params"
137
146
  require_relative "modern_treasury/models/internal_account_retrieve_params"
138
147
  require_relative "modern_treasury/models/internal_accounts/balance_report"
139
148
  require_relative "modern_treasury/models/internal_accounts/balance_report_create_params"
@@ -155,6 +164,11 @@ require_relative "modern_treasury/models/invoices/line_item_list_params"
155
164
  require_relative "modern_treasury/models/invoices/line_item_retrieve_params"
156
165
  require_relative "modern_treasury/models/invoices/line_item_update_params"
157
166
  require_relative "modern_treasury/models/invoice_update_params"
167
+ require_relative "modern_treasury/models/journal_entry_list_params"
168
+ require_relative "modern_treasury/models/journal_entry_retrieve_params"
169
+ require_relative "modern_treasury/models/journal_report_list_params"
170
+ require_relative "modern_treasury/models/journal_report_retrieve_params"
171
+ require_relative "modern_treasury/models/journal_report_update_params"
158
172
  require_relative "modern_treasury/models/ledger"
159
173
  require_relative "modern_treasury/models/ledger_account"
160
174
  require_relative "modern_treasury/models/ledger_account_balance_monitor"
@@ -300,11 +314,14 @@ require_relative "modern_treasury/resources/events"
300
314
  require_relative "modern_treasury/resources/expected_payments"
301
315
  require_relative "modern_treasury/resources/external_accounts"
302
316
  require_relative "modern_treasury/resources/foreign_exchange_quotes"
317
+ require_relative "modern_treasury/resources/holds"
303
318
  require_relative "modern_treasury/resources/incoming_payment_details"
304
319
  require_relative "modern_treasury/resources/internal_accounts"
305
320
  require_relative "modern_treasury/resources/internal_accounts/balance_reports"
306
321
  require_relative "modern_treasury/resources/invoices"
307
322
  require_relative "modern_treasury/resources/invoices/line_items"
323
+ require_relative "modern_treasury/resources/journal_entries"
324
+ require_relative "modern_treasury/resources/journal_reports"
308
325
  require_relative "modern_treasury/resources/ledger_account_balance_monitors"
309
326
  require_relative "modern_treasury/resources/ledger_account_categories"
310
327
  require_relative "modern_treasury/resources/ledger_accounts"
@@ -121,6 +121,15 @@ module ModernTreasury
121
121
  sig { returns(ModernTreasury::Resources::PaymentActions) }
122
122
  attr_reader :payment_actions
123
123
 
124
+ sig { returns(ModernTreasury::Resources::JournalEntries) }
125
+ attr_reader :journal_entries
126
+
127
+ sig { returns(ModernTreasury::Resources::JournalReports) }
128
+ attr_reader :journal_reports
129
+
130
+ sig { returns(ModernTreasury::Resources::Holds) }
131
+ attr_reader :holds
132
+
124
133
  # A test endpoint often used to confirm credentials and headers are being passed
125
134
  # in correctly.
126
135
  sig do
@@ -0,0 +1,125 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class HoldCreateParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::HoldCreateParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The status of the hold
18
+ sig { returns(ModernTreasury::HoldCreateParams::Status::OrSymbol) }
19
+ attr_accessor :status
20
+
21
+ # The ID of the target to hold
22
+ sig { returns(String) }
23
+ attr_accessor :target_id
24
+
25
+ # The type of target to hold
26
+ sig { returns(ModernTreasury::HoldCreateParams::TargetType::OrSymbol) }
27
+ attr_accessor :target_type
28
+
29
+ # Additional metadata for the hold
30
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
31
+ attr_accessor :metadata
32
+
33
+ # The reason for the hold
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :reason
36
+
37
+ sig do
38
+ params(
39
+ status: ModernTreasury::HoldCreateParams::Status::OrSymbol,
40
+ target_id: String,
41
+ target_type: ModernTreasury::HoldCreateParams::TargetType::OrSymbol,
42
+ metadata: T.nilable(T::Hash[Symbol, String]),
43
+ reason: T.nilable(String),
44
+ request_options: ModernTreasury::RequestOptions::OrHash
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The status of the hold
49
+ status:,
50
+ # The ID of the target to hold
51
+ target_id:,
52
+ # The type of target to hold
53
+ target_type:,
54
+ # Additional metadata for the hold
55
+ metadata: nil,
56
+ # The reason for the hold
57
+ reason: nil,
58
+ request_options: {}
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ status: ModernTreasury::HoldCreateParams::Status::OrSymbol,
66
+ target_id: String,
67
+ target_type: ModernTreasury::HoldCreateParams::TargetType::OrSymbol,
68
+ metadata: T.nilable(T::Hash[Symbol, String]),
69
+ reason: T.nilable(String),
70
+ request_options: ModernTreasury::RequestOptions
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+
77
+ # The status of the hold
78
+ module Status
79
+ extend ModernTreasury::Internal::Type::Enum
80
+
81
+ TaggedSymbol =
82
+ T.type_alias do
83
+ T.all(Symbol, ModernTreasury::HoldCreateParams::Status)
84
+ end
85
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
86
+
87
+ ACTIVE =
88
+ T.let(:active, ModernTreasury::HoldCreateParams::Status::TaggedSymbol)
89
+
90
+ sig do
91
+ override.returns(
92
+ T::Array[ModernTreasury::HoldCreateParams::Status::TaggedSymbol]
93
+ )
94
+ end
95
+ def self.values
96
+ end
97
+ end
98
+
99
+ # The type of target to hold
100
+ module TargetType
101
+ extend ModernTreasury::Internal::Type::Enum
102
+
103
+ TaggedSymbol =
104
+ T.type_alias do
105
+ T.all(Symbol, ModernTreasury::HoldCreateParams::TargetType)
106
+ end
107
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
108
+
109
+ PAYMENT_ORDER =
110
+ T.let(
111
+ :payment_order,
112
+ ModernTreasury::HoldCreateParams::TargetType::TaggedSymbol
113
+ )
114
+
115
+ sig do
116
+ override.returns(
117
+ T::Array[ModernTreasury::HoldCreateParams::TargetType::TaggedSymbol]
118
+ )
119
+ end
120
+ def self.values
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,232 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class HoldCreateResponse < ModernTreasury::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ ModernTreasury::Models::HoldCreateResponse,
10
+ ModernTreasury::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(Time) }
18
+ attr_accessor :created_at
19
+
20
+ # The type of object
21
+ sig do
22
+ returns(
23
+ ModernTreasury::Models::HoldCreateResponse::Object::TaggedSymbol
24
+ )
25
+ end
26
+ attr_accessor :object
27
+
28
+ # The status of the hold
29
+ sig do
30
+ returns(
31
+ ModernTreasury::Models::HoldCreateResponse::Status::TaggedSymbol
32
+ )
33
+ end
34
+ attr_accessor :status
35
+
36
+ # The ID of the target being held
37
+ sig { returns(String) }
38
+ attr_accessor :target_id
39
+
40
+ # The type of target being held
41
+ sig do
42
+ returns(
43
+ ModernTreasury::Models::HoldCreateResponse::TargetType::TaggedSymbol
44
+ )
45
+ end
46
+ attr_accessor :target_type
47
+
48
+ sig { returns(Time) }
49
+ attr_accessor :updated_at
50
+
51
+ # This field will be true if this object exists in the live environment or false
52
+ # if it exists in the test environment.
53
+ sig { returns(T.nilable(T::Boolean)) }
54
+ attr_reader :live_mode
55
+
56
+ sig { params(live_mode: T::Boolean).void }
57
+ attr_writer :live_mode
58
+
59
+ # Additional metadata for the hold
60
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
61
+ attr_accessor :metadata
62
+
63
+ # The reason for the hold
64
+ sig { returns(T.nilable(String)) }
65
+ attr_accessor :reason
66
+
67
+ # The resolution of the hold
68
+ sig { returns(T.nilable(String)) }
69
+ attr_accessor :resolution
70
+
71
+ # When the hold was resolved
72
+ sig { returns(T.nilable(Time)) }
73
+ attr_accessor :resolved_at
74
+
75
+ sig do
76
+ params(
77
+ id: String,
78
+ created_at: Time,
79
+ object: ModernTreasury::Models::HoldCreateResponse::Object::OrSymbol,
80
+ status: ModernTreasury::Models::HoldCreateResponse::Status::OrSymbol,
81
+ target_id: String,
82
+ target_type:
83
+ ModernTreasury::Models::HoldCreateResponse::TargetType::OrSymbol,
84
+ updated_at: Time,
85
+ live_mode: T::Boolean,
86
+ metadata: T.nilable(T::Hash[Symbol, String]),
87
+ reason: T.nilable(String),
88
+ resolution: T.nilable(String),
89
+ resolved_at: T.nilable(Time)
90
+ ).returns(T.attached_class)
91
+ end
92
+ def self.new(
93
+ id:,
94
+ created_at:,
95
+ # The type of object
96
+ object:,
97
+ # The status of the hold
98
+ status:,
99
+ # The ID of the target being held
100
+ target_id:,
101
+ # The type of target being held
102
+ target_type:,
103
+ updated_at:,
104
+ # This field will be true if this object exists in the live environment or false
105
+ # if it exists in the test environment.
106
+ live_mode: nil,
107
+ # Additional metadata for the hold
108
+ metadata: nil,
109
+ # The reason for the hold
110
+ reason: nil,
111
+ # The resolution of the hold
112
+ resolution: nil,
113
+ # When the hold was resolved
114
+ resolved_at: nil
115
+ )
116
+ end
117
+
118
+ sig do
119
+ override.returns(
120
+ {
121
+ id: String,
122
+ created_at: Time,
123
+ object:
124
+ ModernTreasury::Models::HoldCreateResponse::Object::TaggedSymbol,
125
+ status:
126
+ ModernTreasury::Models::HoldCreateResponse::Status::TaggedSymbol,
127
+ target_id: String,
128
+ target_type:
129
+ ModernTreasury::Models::HoldCreateResponse::TargetType::TaggedSymbol,
130
+ updated_at: Time,
131
+ live_mode: T::Boolean,
132
+ metadata: T.nilable(T::Hash[Symbol, String]),
133
+ reason: T.nilable(String),
134
+ resolution: T.nilable(String),
135
+ resolved_at: T.nilable(Time)
136
+ }
137
+ )
138
+ end
139
+ def to_hash
140
+ end
141
+
142
+ # The type of object
143
+ module Object
144
+ extend ModernTreasury::Internal::Type::Enum
145
+
146
+ TaggedSymbol =
147
+ T.type_alias do
148
+ T.all(Symbol, ModernTreasury::Models::HoldCreateResponse::Object)
149
+ end
150
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
151
+
152
+ HOLD =
153
+ T.let(
154
+ :hold,
155
+ ModernTreasury::Models::HoldCreateResponse::Object::TaggedSymbol
156
+ )
157
+
158
+ sig do
159
+ override.returns(
160
+ T::Array[
161
+ ModernTreasury::Models::HoldCreateResponse::Object::TaggedSymbol
162
+ ]
163
+ )
164
+ end
165
+ def self.values
166
+ end
167
+ end
168
+
169
+ # The status of the hold
170
+ module Status
171
+ extend ModernTreasury::Internal::Type::Enum
172
+
173
+ TaggedSymbol =
174
+ T.type_alias do
175
+ T.all(Symbol, ModernTreasury::Models::HoldCreateResponse::Status)
176
+ end
177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
178
+
179
+ ACTIVE =
180
+ T.let(
181
+ :active,
182
+ ModernTreasury::Models::HoldCreateResponse::Status::TaggedSymbol
183
+ )
184
+ RESOLVED =
185
+ T.let(
186
+ :resolved,
187
+ ModernTreasury::Models::HoldCreateResponse::Status::TaggedSymbol
188
+ )
189
+
190
+ sig do
191
+ override.returns(
192
+ T::Array[
193
+ ModernTreasury::Models::HoldCreateResponse::Status::TaggedSymbol
194
+ ]
195
+ )
196
+ end
197
+ def self.values
198
+ end
199
+ end
200
+
201
+ # The type of target being held
202
+ module TargetType
203
+ extend ModernTreasury::Internal::Type::Enum
204
+
205
+ TaggedSymbol =
206
+ T.type_alias do
207
+ T.all(
208
+ Symbol,
209
+ ModernTreasury::Models::HoldCreateResponse::TargetType
210
+ )
211
+ end
212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
213
+
214
+ PAYMENT_ORDER =
215
+ T.let(
216
+ :payment_order,
217
+ ModernTreasury::Models::HoldCreateResponse::TargetType::TaggedSymbol
218
+ )
219
+
220
+ sig do
221
+ override.returns(
222
+ T::Array[
223
+ ModernTreasury::Models::HoldCreateResponse::TargetType::TaggedSymbol
224
+ ]
225
+ )
226
+ end
227
+ def self.values
228
+ end
229
+ end
230
+ end
231
+ end
232
+ end
@@ -0,0 +1,150 @@
1
+ # typed: strong
2
+
3
+ module ModernTreasury
4
+ module Models
5
+ class HoldListParams < ModernTreasury::Internal::Type::BaseModel
6
+ extend ModernTreasury::Internal::Type::RequestParameters::Converter
7
+ include ModernTreasury::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ ModernTreasury::HoldListParams,
13
+ ModernTreasury::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :after_cursor
19
+
20
+ # For example, if you want to query for records with metadata key `Type` and value
21
+ # `Loan`, the query would be `metadata%5BType%5D=Loan`. This encodes the query
22
+ # parameters.
23
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
24
+ attr_reader :metadata
25
+
26
+ sig { params(metadata: T::Hash[Symbol, String]).void }
27
+ attr_writer :metadata
28
+
29
+ sig { returns(T.nilable(Integer)) }
30
+ attr_reader :per_page
31
+
32
+ sig { params(per_page: Integer).void }
33
+ attr_writer :per_page
34
+
35
+ # Translation missing: en.openapi.descriptions.payment_order.query_params.status
36
+ sig do
37
+ returns(T.nilable(ModernTreasury::HoldListParams::Status::OrSymbol))
38
+ end
39
+ attr_accessor :status
40
+
41
+ # Translation missing:
42
+ # en.openapi.descriptions.payment_order.query_params.target_id
43
+ sig { returns(T.nilable(String)) }
44
+ attr_accessor :target_id
45
+
46
+ # Translation missing:
47
+ # en.openapi.descriptions.payment_order.query_params.target_type
48
+ sig do
49
+ returns(T.nilable(ModernTreasury::HoldListParams::TargetType::OrSymbol))
50
+ end
51
+ attr_accessor :target_type
52
+
53
+ sig do
54
+ params(
55
+ after_cursor: T.nilable(String),
56
+ metadata: T::Hash[Symbol, String],
57
+ per_page: Integer,
58
+ status: T.nilable(ModernTreasury::HoldListParams::Status::OrSymbol),
59
+ target_id: T.nilable(String),
60
+ target_type:
61
+ T.nilable(ModernTreasury::HoldListParams::TargetType::OrSymbol),
62
+ request_options: ModernTreasury::RequestOptions::OrHash
63
+ ).returns(T.attached_class)
64
+ end
65
+ def self.new(
66
+ after_cursor: nil,
67
+ # For example, if you want to query for records with metadata key `Type` and value
68
+ # `Loan`, the query would be `metadata%5BType%5D=Loan`. This encodes the query
69
+ # parameters.
70
+ metadata: nil,
71
+ per_page: nil,
72
+ # Translation missing: en.openapi.descriptions.payment_order.query_params.status
73
+ status: nil,
74
+ # Translation missing:
75
+ # en.openapi.descriptions.payment_order.query_params.target_id
76
+ target_id: nil,
77
+ # Translation missing:
78
+ # en.openapi.descriptions.payment_order.query_params.target_type
79
+ target_type: nil,
80
+ request_options: {}
81
+ )
82
+ end
83
+
84
+ sig do
85
+ override.returns(
86
+ {
87
+ after_cursor: T.nilable(String),
88
+ metadata: T::Hash[Symbol, String],
89
+ per_page: Integer,
90
+ status: T.nilable(ModernTreasury::HoldListParams::Status::OrSymbol),
91
+ target_id: T.nilable(String),
92
+ target_type:
93
+ T.nilable(ModernTreasury::HoldListParams::TargetType::OrSymbol),
94
+ request_options: ModernTreasury::RequestOptions
95
+ }
96
+ )
97
+ end
98
+ def to_hash
99
+ end
100
+
101
+ # Translation missing: en.openapi.descriptions.payment_order.query_params.status
102
+ module Status
103
+ extend ModernTreasury::Internal::Type::Enum
104
+
105
+ TaggedSymbol =
106
+ T.type_alias { T.all(Symbol, ModernTreasury::HoldListParams::Status) }
107
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
108
+
109
+ ACTIVE =
110
+ T.let(:active, ModernTreasury::HoldListParams::Status::TaggedSymbol)
111
+ RESOLVED =
112
+ T.let(:resolved, ModernTreasury::HoldListParams::Status::TaggedSymbol)
113
+
114
+ sig do
115
+ override.returns(
116
+ T::Array[ModernTreasury::HoldListParams::Status::TaggedSymbol]
117
+ )
118
+ end
119
+ def self.values
120
+ end
121
+ end
122
+
123
+ # Translation missing:
124
+ # en.openapi.descriptions.payment_order.query_params.target_type
125
+ module TargetType
126
+ extend ModernTreasury::Internal::Type::Enum
127
+
128
+ TaggedSymbol =
129
+ T.type_alias do
130
+ T.all(Symbol, ModernTreasury::HoldListParams::TargetType)
131
+ end
132
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
133
+
134
+ PAYMENT_ORDER =
135
+ T.let(
136
+ :payment_order,
137
+ ModernTreasury::HoldListParams::TargetType::TaggedSymbol
138
+ )
139
+
140
+ sig do
141
+ override.returns(
142
+ T::Array[ModernTreasury::HoldListParams::TargetType::TaggedSymbol]
143
+ )
144
+ end
145
+ def self.values
146
+ end
147
+ end
148
+ end
149
+ end
150
+ end