dodopayments 1.51.1 → 1.52.5

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +8 -0
  5. data/lib/dodopayments/models/add_meter_to_price.rb +58 -0
  6. data/lib/dodopayments/models/event.rb +71 -0
  7. data/lib/dodopayments/models/event_input.rb +70 -0
  8. data/lib/dodopayments/models/invoices/payment_retrieve_refund_params.rb +16 -0
  9. data/lib/dodopayments/models/meter.rb +88 -0
  10. data/lib/dodopayments/models/meter_aggregation.rb +39 -0
  11. data/lib/dodopayments/models/meter_archive_params.rb +14 -0
  12. data/lib/dodopayments/models/meter_create_params.rb +62 -0
  13. data/lib/dodopayments/models/meter_filter.rb +482 -0
  14. data/lib/dodopayments/models/meter_list_params.rb +38 -0
  15. data/lib/dodopayments/models/{product_delete_params.rb → meter_retrieve_params.rb} +2 -2
  16. data/lib/dodopayments/models/meter_unarchive_params.rb +14 -0
  17. data/lib/dodopayments/models/payment.rb +10 -1
  18. data/lib/dodopayments/models/price.rb +122 -7
  19. data/lib/dodopayments/models/product.rb +2 -2
  20. data/lib/dodopayments/models/product_archive_params.rb +14 -0
  21. data/lib/dodopayments/models/product_create_params.rb +2 -2
  22. data/lib/dodopayments/models/product_list_response.rb +2 -2
  23. data/lib/dodopayments/models/product_update_params.rb +2 -2
  24. data/lib/dodopayments/models/subscription.rb +57 -1
  25. data/lib/dodopayments/models/subscription_retrieve_usage_history_params.rb +54 -0
  26. data/lib/dodopayments/models/subscription_retrieve_usage_history_response.rb +101 -0
  27. data/lib/dodopayments/models/usage_event_ingest_params.rb +22 -0
  28. data/lib/dodopayments/models/usage_event_ingest_response.rb +16 -0
  29. data/lib/dodopayments/models/usage_event_list_params.rb +75 -0
  30. data/lib/dodopayments/models/usage_event_retrieve_params.rb +14 -0
  31. data/lib/dodopayments/models.rb +32 -2
  32. data/lib/dodopayments/resources/invoices/payments.rb +18 -0
  33. data/lib/dodopayments/resources/meters.rb +123 -0
  34. data/lib/dodopayments/resources/products.rb +5 -5
  35. data/lib/dodopayments/resources/subscriptions.rb +74 -0
  36. data/lib/dodopayments/resources/usage_events.rb +193 -0
  37. data/lib/dodopayments/version.rb +1 -1
  38. data/lib/dodopayments.rb +21 -1
  39. data/rbi/dodopayments/client.rbi +6 -0
  40. data/rbi/dodopayments/models/add_meter_to_price.rbi +75 -0
  41. data/rbi/dodopayments/models/event.rbi +88 -0
  42. data/rbi/dodopayments/models/event_input.rbi +102 -0
  43. data/rbi/dodopayments/models/invoices/payment_retrieve_refund_params.rbi +34 -0
  44. data/rbi/dodopayments/models/meter.rbi +107 -0
  45. data/rbi/dodopayments/models/meter_aggregation.rbi +68 -0
  46. data/rbi/dodopayments/models/meter_archive_params.rbi +32 -0
  47. data/rbi/dodopayments/models/meter_create_params.rbi +92 -0
  48. data/rbi/dodopayments/models/meter_filter.rbi +1042 -0
  49. data/rbi/dodopayments/models/meter_list_params.rbi +68 -0
  50. data/rbi/dodopayments/models/{product_delete_params.rbi → meter_retrieve_params.rbi} +2 -2
  51. data/rbi/dodopayments/models/meter_unarchive_params.rbi +32 -0
  52. data/rbi/dodopayments/models/payment.rbi +10 -0
  53. data/rbi/dodopayments/models/price.rbi +153 -7
  54. data/rbi/dodopayments/models/product.rbi +2 -1
  55. data/rbi/dodopayments/models/product_archive_params.rbi +32 -0
  56. data/rbi/dodopayments/models/product_create_params.rbi +6 -3
  57. data/rbi/dodopayments/models/product_list_response.rbi +2 -1
  58. data/rbi/dodopayments/models/product_update_params.rbi +6 -3
  59. data/rbi/dodopayments/models/subscription.rbi +78 -0
  60. data/rbi/dodopayments/models/subscription_retrieve_usage_history_params.rbi +78 -0
  61. data/rbi/dodopayments/models/subscription_retrieve_usage_history_response.rbi +159 -0
  62. data/rbi/dodopayments/models/usage_event_ingest_params.rbi +46 -0
  63. data/rbi/dodopayments/models/usage_event_ingest_response.rbi +26 -0
  64. data/rbi/dodopayments/models/usage_event_list_params.rbi +119 -0
  65. data/rbi/dodopayments/models/usage_event_retrieve_params.rbi +32 -0
  66. data/rbi/dodopayments/models.rbi +33 -2
  67. data/rbi/dodopayments/resources/invoices/payments.rbi +9 -0
  68. data/rbi/dodopayments/resources/meters.rbi +102 -0
  69. data/rbi/dodopayments/resources/products.rbi +5 -3
  70. data/rbi/dodopayments/resources/subscriptions.rbi +74 -0
  71. data/rbi/dodopayments/resources/usage_events.rbi +175 -0
  72. data/sig/dodopayments/client.rbs +4 -0
  73. data/sig/dodopayments/models/add_meter_to_price.rbs +45 -0
  74. data/sig/dodopayments/models/event.rbs +53 -0
  75. data/sig/dodopayments/models/event_input.rbs +48 -0
  76. data/sig/dodopayments/models/invoices/payment_retrieve_refund_params.rbs +17 -0
  77. data/sig/dodopayments/models/meter.rbs +65 -0
  78. data/sig/dodopayments/models/meter_aggregation.rbs +35 -0
  79. data/sig/dodopayments/models/meter_archive_params.rbs +15 -0
  80. data/sig/dodopayments/models/meter_create_params.rbs +51 -0
  81. data/sig/dodopayments/models/meter_filter.rbs +417 -0
  82. data/sig/dodopayments/models/meter_list_params.rbs +38 -0
  83. data/sig/dodopayments/models/{product_delete_params.rbs → meter_retrieve_params.rbs} +2 -2
  84. data/sig/dodopayments/models/meter_unarchive_params.rbs +15 -0
  85. data/sig/dodopayments/models/payment.rbs +5 -0
  86. data/sig/dodopayments/models/price.rbs +88 -9
  87. data/sig/dodopayments/models/product_archive_params.rbs +15 -0
  88. data/sig/dodopayments/models/subscription.rbs +52 -0
  89. data/sig/dodopayments/models/subscription_retrieve_usage_history_params.rbs +46 -0
  90. data/sig/dodopayments/models/subscription_retrieve_usage_history_response.rbs +82 -0
  91. data/sig/dodopayments/models/usage_event_ingest_params.rbs +24 -0
  92. data/sig/dodopayments/models/usage_event_ingest_response.rbs +13 -0
  93. data/sig/dodopayments/models/usage_event_list_params.rbs +70 -0
  94. data/sig/dodopayments/models/usage_event_retrieve_params.rbs +15 -0
  95. data/sig/dodopayments/models.rbs +32 -2
  96. data/sig/dodopayments/resources/invoices/payments.rbs +5 -0
  97. data/sig/dodopayments/resources/meters.rbs +39 -0
  98. data/sig/dodopayments/resources/products.rbs +1 -1
  99. data/sig/dodopayments/resources/subscriptions.rbs +10 -0
  100. data/sig/dodopayments/resources/usage_events.rbs +28 -0
  101. metadata +65 -5
@@ -0,0 +1,482 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class MeterFilter < Dodopayments::Internal::Type::BaseModel
6
+ # @!attribute clauses
7
+ # Filter clauses - can be direct conditions or nested filters (up to 3 levels
8
+ # deep)
9
+ #
10
+ # @return [Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>]
11
+ required :clauses, union: -> { Dodopayments::MeterFilter::Clauses }
12
+
13
+ # @!attribute conjunction
14
+ # Logical conjunction to apply between clauses (and/or)
15
+ #
16
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Conjunction]
17
+ required :conjunction, enum: -> { Dodopayments::MeterFilter::Conjunction }
18
+
19
+ # @!method initialize(clauses:, conjunction:)
20
+ # Some parameter documentations has been truncated, see
21
+ # {Dodopayments::Models::MeterFilter} for more details.
22
+ #
23
+ # A filter structure that combines multiple conditions with logical conjunctions
24
+ # (AND/OR).
25
+ #
26
+ # Supports up to 3 levels of nesting to create complex filter expressions. Each
27
+ # filter has a conjunction (and/or) and clauses that can be either direct
28
+ # conditions or nested filters.
29
+ #
30
+ # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>] Filter clauses - can be direct conditions or nested filters (up to 3 levels deep
31
+ #
32
+ # @param conjunction [Symbol, Dodopayments::Models::MeterFilter::Conjunction] Logical conjunction to apply between clauses (and/or)
33
+
34
+ # Filter clauses - can be direct conditions or nested filters (up to 3 levels
35
+ # deep)
36
+ #
37
+ # @see Dodopayments::Models::MeterFilter#clauses
38
+ module Clauses
39
+ extend Dodopayments::Internal::Type::Union
40
+
41
+ # Direct filter conditions - array of condition objects with key, operator, and value
42
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::DirectFilterConditionArray }
43
+
44
+ # Nested filters - supports up to 3 levels deep
45
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilterArray }
46
+
47
+ class DirectFilterCondition < Dodopayments::Internal::Type::BaseModel
48
+ # @!attribute key
49
+ # Filter key to apply
50
+ #
51
+ # @return [String]
52
+ required :key, String
53
+
54
+ # @!attribute operator
55
+ #
56
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::Operator]
57
+ required :operator, enum: -> { Dodopayments::MeterFilter::Clauses::DirectFilterCondition::Operator }
58
+
59
+ # @!attribute value
60
+ # Filter value - can be string, number, or boolean
61
+ #
62
+ # @return [String, Float, Boolean]
63
+ required :value, union: -> { Dodopayments::MeterFilter::Clauses::DirectFilterCondition::Value }
64
+
65
+ # @!method initialize(key:, operator:, value:)
66
+ # Filter condition with key, operator, and value
67
+ #
68
+ # @param key [String] Filter key to apply
69
+ #
70
+ # @param operator [Symbol, Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::Operator]
71
+ #
72
+ # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
73
+
74
+ # @see Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition#operator
75
+ module Operator
76
+ extend Dodopayments::Internal::Type::Enum
77
+
78
+ EQUALS = :equals
79
+ NOT_EQUALS = :not_equals
80
+ GREATER_THAN = :greater_than
81
+ GREATER_THAN_OR_EQUALS = :greater_than_or_equals
82
+ LESS_THAN = :less_than
83
+ LESS_THAN_OR_EQUALS = :less_than_or_equals
84
+ CONTAINS = :contains
85
+ DOES_NOT_CONTAIN = :does_not_contain
86
+
87
+ # @!method self.values
88
+ # @return [Array<Symbol>]
89
+ end
90
+
91
+ # Filter value - can be string, number, or boolean
92
+ #
93
+ # @see Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition#value
94
+ module Value
95
+ extend Dodopayments::Internal::Type::Union
96
+
97
+ variant String
98
+
99
+ variant Float
100
+
101
+ variant Dodopayments::Internal::Type::Boolean
102
+
103
+ # @!method self.variants
104
+ # @return [Array(String, Float, Boolean)]
105
+ end
106
+ end
107
+
108
+ class NestedMeterFilter < Dodopayments::Internal::Type::BaseModel
109
+ # @!attribute clauses
110
+ # Level 1: Can be conditions or nested filters (2 more levels allowed)
111
+ #
112
+ # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>]
113
+ required :clauses, union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses }
114
+
115
+ # @!attribute conjunction
116
+ #
117
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Conjunction]
118
+ required :conjunction, enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Conjunction }
119
+
120
+ # @!method initialize(clauses:, conjunction:)
121
+ # Level 1 nested filter - can contain Level 2 filters
122
+ #
123
+ # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>] Level 1: Can be conditions or nested filters (2 more levels allowed)
124
+ #
125
+ # @param conjunction [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Conjunction]
126
+
127
+ # Level 1: Can be conditions or nested filters (2 more levels allowed)
128
+ #
129
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter#clauses
130
+ module Clauses
131
+ extend Dodopayments::Internal::Type::Union
132
+
133
+ # Array of filter conditions
134
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterConditionArray }
135
+
136
+ # Array of level 2 nested filters
137
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilterArray }
138
+
139
+ class Level1FilterCondition < Dodopayments::Internal::Type::BaseModel
140
+ # @!attribute key
141
+ # Filter key to apply
142
+ #
143
+ # @return [String]
144
+ required :key, String
145
+
146
+ # @!attribute operator
147
+ #
148
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::Operator]
149
+ required :operator,
150
+ enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::Operator }
151
+
152
+ # @!attribute value
153
+ # Filter value - can be string, number, or boolean
154
+ #
155
+ # @return [String, Float, Boolean]
156
+ required :value,
157
+ union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::Value }
158
+
159
+ # @!method initialize(key:, operator:, value:)
160
+ # Filter condition with key, operator, and value
161
+ #
162
+ # @param key [String] Filter key to apply
163
+ #
164
+ # @param operator [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::Operator]
165
+ #
166
+ # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
167
+
168
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition#operator
169
+ module Operator
170
+ extend Dodopayments::Internal::Type::Enum
171
+
172
+ EQUALS = :equals
173
+ NOT_EQUALS = :not_equals
174
+ GREATER_THAN = :greater_than
175
+ GREATER_THAN_OR_EQUALS = :greater_than_or_equals
176
+ LESS_THAN = :less_than
177
+ LESS_THAN_OR_EQUALS = :less_than_or_equals
178
+ CONTAINS = :contains
179
+ DOES_NOT_CONTAIN = :does_not_contain
180
+
181
+ # @!method self.values
182
+ # @return [Array<Symbol>]
183
+ end
184
+
185
+ # Filter value - can be string, number, or boolean
186
+ #
187
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition#value
188
+ module Value
189
+ extend Dodopayments::Internal::Type::Union
190
+
191
+ variant String
192
+
193
+ variant Float
194
+
195
+ variant Dodopayments::Internal::Type::Boolean
196
+
197
+ # @!method self.variants
198
+ # @return [Array(String, Float, Boolean)]
199
+ end
200
+ end
201
+
202
+ class Level1NestedFilter < Dodopayments::Internal::Type::BaseModel
203
+ # @!attribute clauses
204
+ # Level 2: Can be conditions or nested filters (1 more level allowed)
205
+ #
206
+ # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>]
207
+ required :clauses,
208
+ union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses }
209
+
210
+ # @!attribute conjunction
211
+ #
212
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Conjunction]
213
+ required :conjunction,
214
+ enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Conjunction }
215
+
216
+ # @!method initialize(clauses:, conjunction:)
217
+ # Level 2 nested filter
218
+ #
219
+ # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>] Level 2: Can be conditions or nested filters (1 more level allowed)
220
+ #
221
+ # @param conjunction [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Conjunction]
222
+
223
+ # Level 2: Can be conditions or nested filters (1 more level allowed)
224
+ #
225
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter#clauses
226
+ module Clauses
227
+ extend Dodopayments::Internal::Type::Union
228
+
229
+ # Array of filter conditions
230
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterConditionArray }
231
+
232
+ # Array of level 3 nested filters (final level)
233
+ variant -> { Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilterArray }
234
+
235
+ class Level2FilterCondition < Dodopayments::Internal::Type::BaseModel
236
+ # @!attribute key
237
+ # Filter key to apply
238
+ #
239
+ # @return [String]
240
+ required :key, String
241
+
242
+ # @!attribute operator
243
+ #
244
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::Operator]
245
+ required :operator,
246
+ enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::Operator }
247
+
248
+ # @!attribute value
249
+ # Filter value - can be string, number, or boolean
250
+ #
251
+ # @return [String, Float, Boolean]
252
+ required :value,
253
+ union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::Value }
254
+
255
+ # @!method initialize(key:, operator:, value:)
256
+ # Filter condition with key, operator, and value
257
+ #
258
+ # @param key [String] Filter key to apply
259
+ #
260
+ # @param operator [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::Operator]
261
+ #
262
+ # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
263
+
264
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition#operator
265
+ module Operator
266
+ extend Dodopayments::Internal::Type::Enum
267
+
268
+ EQUALS = :equals
269
+ NOT_EQUALS = :not_equals
270
+ GREATER_THAN = :greater_than
271
+ GREATER_THAN_OR_EQUALS = :greater_than_or_equals
272
+ LESS_THAN = :less_than
273
+ LESS_THAN_OR_EQUALS = :less_than_or_equals
274
+ CONTAINS = :contains
275
+ DOES_NOT_CONTAIN = :does_not_contain
276
+
277
+ # @!method self.values
278
+ # @return [Array<Symbol>]
279
+ end
280
+
281
+ # Filter value - can be string, number, or boolean
282
+ #
283
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition#value
284
+ module Value
285
+ extend Dodopayments::Internal::Type::Union
286
+
287
+ variant String
288
+
289
+ variant Float
290
+
291
+ variant Dodopayments::Internal::Type::Boolean
292
+
293
+ # @!method self.variants
294
+ # @return [Array(String, Float, Boolean)]
295
+ end
296
+ end
297
+
298
+ class Level2NestedFilter < Dodopayments::Internal::Type::BaseModel
299
+ # @!attribute clauses
300
+ # Level 3: Filter conditions only (max depth reached)
301
+ #
302
+ # @return [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause>]
303
+ required :clauses,
304
+ -> do
305
+ Dodopayments::Internal::Type::ArrayOf[
306
+ Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause
307
+ ]
308
+ end
309
+
310
+ # @!attribute conjunction
311
+ #
312
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Conjunction]
313
+ required :conjunction,
314
+ enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Conjunction }
315
+
316
+ # @!method initialize(clauses:, conjunction:)
317
+ # Level 3 nested filter (final nesting level)
318
+ #
319
+ # @param clauses [Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause>] Level 3: Filter conditions only (max depth reached)
320
+ #
321
+ # @param conjunction [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Conjunction]
322
+
323
+ class Clause < Dodopayments::Internal::Type::BaseModel
324
+ # @!attribute key
325
+ # Filter key to apply
326
+ #
327
+ # @return [String]
328
+ required :key, String
329
+
330
+ # @!attribute operator
331
+ #
332
+ # @return [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::Operator]
333
+ required :operator,
334
+ enum: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::Operator }
335
+
336
+ # @!attribute value
337
+ # Filter value - can be string, number, or boolean
338
+ #
339
+ # @return [String, Float, Boolean]
340
+ required :value,
341
+ union: -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::Value }
342
+
343
+ # @!method initialize(key:, operator:, value:)
344
+ # Filter condition with key, operator, and value
345
+ #
346
+ # @param key [String] Filter key to apply
347
+ #
348
+ # @param operator [Symbol, Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::Operator]
349
+ #
350
+ # @param value [String, Float, Boolean] Filter value - can be string, number, or boolean
351
+
352
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause#operator
353
+ module Operator
354
+ extend Dodopayments::Internal::Type::Enum
355
+
356
+ EQUALS = :equals
357
+ NOT_EQUALS = :not_equals
358
+ GREATER_THAN = :greater_than
359
+ GREATER_THAN_OR_EQUALS = :greater_than_or_equals
360
+ LESS_THAN = :less_than
361
+ LESS_THAN_OR_EQUALS = :less_than_or_equals
362
+ CONTAINS = :contains
363
+ DOES_NOT_CONTAIN = :does_not_contain
364
+
365
+ # @!method self.values
366
+ # @return [Array<Symbol>]
367
+ end
368
+
369
+ # Filter value - can be string, number, or boolean
370
+ #
371
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause#value
372
+ module Value
373
+ extend Dodopayments::Internal::Type::Union
374
+
375
+ variant String
376
+
377
+ variant Float
378
+
379
+ variant Dodopayments::Internal::Type::Boolean
380
+
381
+ # @!method self.variants
382
+ # @return [Array(String, Float, Boolean)]
383
+ end
384
+ end
385
+
386
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter#conjunction
387
+ module Conjunction
388
+ extend Dodopayments::Internal::Type::Enum
389
+
390
+ AND = :and
391
+ OR = :or
392
+
393
+ # @!method self.values
394
+ # @return [Array<Symbol>]
395
+ end
396
+ end
397
+
398
+ # @!method self.variants
399
+ # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter>)]
400
+
401
+ # @type [Dodopayments::Internal::Type::Converter]
402
+ Level2FilterConditionArray =
403
+ Dodopayments::Internal::Type::ArrayOf[
404
+ -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition }
405
+ ]
406
+
407
+ # @type [Dodopayments::Internal::Type::Converter]
408
+ Level2NestedFilterArray =
409
+ Dodopayments::Internal::Type::ArrayOf[
410
+ -> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter }
411
+ ]
412
+ end
413
+
414
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter#conjunction
415
+ module Conjunction
416
+ extend Dodopayments::Internal::Type::Enum
417
+
418
+ AND = :and
419
+ OR = :or
420
+
421
+ # @!method self.values
422
+ # @return [Array<Symbol>]
423
+ end
424
+ end
425
+
426
+ # @!method self.variants
427
+ # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter>)]
428
+
429
+ # @type [Dodopayments::Internal::Type::Converter]
430
+ Level1FilterConditionArray =
431
+ Dodopayments::Internal::Type::ArrayOf[-> {
432
+ Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition
433
+ }]
434
+
435
+ # @type [Dodopayments::Internal::Type::Converter]
436
+ Level1NestedFilterArray =
437
+ Dodopayments::Internal::Type::ArrayOf[-> {
438
+ Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter
439
+ }]
440
+ end
441
+
442
+ # @see Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter#conjunction
443
+ module Conjunction
444
+ extend Dodopayments::Internal::Type::Enum
445
+
446
+ AND = :and
447
+ OR = :or
448
+
449
+ # @!method self.values
450
+ # @return [Array<Symbol>]
451
+ end
452
+ end
453
+
454
+ # @!method self.variants
455
+ # @return [Array(Array<Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition>, Array<Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter>)]
456
+
457
+ # @type [Dodopayments::Internal::Type::Converter]
458
+ DirectFilterConditionArray =
459
+ Dodopayments::Internal::Type::ArrayOf[-> {
460
+ Dodopayments::MeterFilter::Clauses::DirectFilterCondition
461
+ }]
462
+
463
+ # @type [Dodopayments::Internal::Type::Converter]
464
+ NestedMeterFilterArray =
465
+ Dodopayments::Internal::Type::ArrayOf[-> { Dodopayments::MeterFilter::Clauses::NestedMeterFilter }]
466
+ end
467
+
468
+ # Logical conjunction to apply between clauses (and/or)
469
+ #
470
+ # @see Dodopayments::Models::MeterFilter#conjunction
471
+ module Conjunction
472
+ extend Dodopayments::Internal::Type::Enum
473
+
474
+ AND = :and
475
+ OR = :or
476
+
477
+ # @!method self.values
478
+ # @return [Array<Symbol>]
479
+ end
480
+ end
481
+ end
482
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Meters#list
6
+ class MeterListParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!attribute archived
11
+ # List archived meters
12
+ #
13
+ # @return [Boolean, nil]
14
+ optional :archived, Dodopayments::Internal::Type::Boolean
15
+
16
+ # @!attribute page_number
17
+ # Page number default is 0
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :page_number, Integer
21
+
22
+ # @!attribute page_size
23
+ # Page size default is 10 max is 100
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :page_size, Integer
27
+
28
+ # @!method initialize(archived: nil, page_number: nil, page_size: nil, request_options: {})
29
+ # @param archived [Boolean] List archived meters
30
+ #
31
+ # @param page_number [Integer] Page number default is 0
32
+ #
33
+ # @param page_size [Integer] Page size default is 10 max is 100
34
+ #
35
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Dodopayments
4
4
  module Models
5
- # @see Dodopayments::Resources::Products#delete
6
- class ProductDeleteParams < Dodopayments::Internal::Type::BaseModel
5
+ # @see Dodopayments::Resources::Meters#retrieve
6
+ class MeterRetrieveParams < Dodopayments::Internal::Type::BaseModel
7
7
  extend Dodopayments::Internal::Type::RequestParameters::Converter
8
8
  include Dodopayments::Internal::Type::RequestParameters
9
9
 
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dodopayments
4
+ module Models
5
+ # @see Dodopayments::Resources::Meters#unarchive
6
+ class MeterUnarchiveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Dodopayments::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -117,6 +117,13 @@ module Dodopayments
117
117
  # @return [String, nil]
118
118
  optional :card_type, String, nil?: true
119
119
 
120
+ # @!attribute checkout_session_id
121
+ # If payment is made using a checkout session, this field is set to the id of the
122
+ # session.
123
+ #
124
+ # @return [String, nil]
125
+ optional :checkout_session_id, String, nil?: true
126
+
120
127
  # @!attribute discount_id
121
128
  # The discount id if discount is applied
122
129
  #
@@ -193,7 +200,7 @@ module Dodopayments
193
200
  # @return [Time, nil]
194
201
  optional :updated_at, Time, nil?: true
195
202
 
196
- # @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, metadata:, payment_id:, refunds:, settlement_amount:, settlement_currency:, total_amount:, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, discount_id: nil, error_code: nil, error_message: nil, payment_link: nil, payment_method: nil, payment_method_type: nil, product_cart: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
203
+ # @!method initialize(billing:, brand_id:, business_id:, created_at:, currency:, customer:, digital_products_delivered:, disputes:, metadata:, payment_id:, refunds:, settlement_amount:, settlement_currency:, total_amount:, card_issuing_country: nil, card_last_four: nil, card_network: nil, card_type: nil, checkout_session_id: nil, discount_id: nil, error_code: nil, error_message: nil, payment_link: nil, payment_method: nil, payment_method_type: nil, product_cart: nil, settlement_tax: nil, status: nil, subscription_id: nil, tax: nil, updated_at: nil)
197
204
  # Some parameter documentations has been truncated, see
198
205
  # {Dodopayments::Models::Payment} for more details.
199
206
  #
@@ -233,6 +240,8 @@ module Dodopayments
233
240
  #
234
241
  # @param card_type [String, nil] The type of card DEBIT or CREDIT
235
242
  #
243
+ # @param checkout_session_id [String, nil] If payment is made using a checkout session,
244
+ #
236
245
  # @param discount_id [String, nil] The discount id if discount is applied
237
246
  #
238
247
  # @param error_code [String, nil] An error code if the payment failed