dodopayments 1.51.0 → 1.52.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) 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 +40 -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/price.rb +122 -7
  18. data/lib/dodopayments/models/product.rb +2 -2
  19. data/lib/dodopayments/models/product_archive_params.rb +14 -0
  20. data/lib/dodopayments/models/product_create_params.rb +2 -2
  21. data/lib/dodopayments/models/product_list_response.rb +2 -2
  22. data/lib/dodopayments/models/product_update_params.rb +2 -2
  23. data/lib/dodopayments/models/subscription_retrieve_usage_history_params.rb +54 -0
  24. data/lib/dodopayments/models/subscription_retrieve_usage_history_response.rb +101 -0
  25. data/lib/dodopayments/models/usage_event_ingest_params.rb +22 -0
  26. data/lib/dodopayments/models/usage_event_ingest_response.rb +16 -0
  27. data/lib/dodopayments/models/usage_event_list_params.rb +75 -0
  28. data/lib/dodopayments/models/usage_event_retrieve_params.rb +14 -0
  29. data/lib/dodopayments/models.rb +32 -2
  30. data/lib/dodopayments/resources/invoices/payments.rb +18 -0
  31. data/lib/dodopayments/resources/meters.rb +123 -0
  32. data/lib/dodopayments/resources/products.rb +5 -5
  33. data/lib/dodopayments/resources/subscriptions.rb +74 -0
  34. data/lib/dodopayments/resources/usage_events.rb +193 -0
  35. data/lib/dodopayments/version.rb +1 -1
  36. data/lib/dodopayments.rb +21 -1
  37. data/rbi/dodopayments/client.rbi +6 -0
  38. data/rbi/dodopayments/models/add_meter_to_price.rbi +75 -0
  39. data/rbi/dodopayments/models/event.rbi +88 -0
  40. data/rbi/dodopayments/models/event_input.rbi +102 -0
  41. data/rbi/dodopayments/models/invoices/payment_retrieve_refund_params.rbi +34 -0
  42. data/rbi/dodopayments/models/meter.rbi +107 -0
  43. data/rbi/dodopayments/models/meter_aggregation.rbi +73 -0
  44. data/rbi/dodopayments/models/meter_archive_params.rbi +32 -0
  45. data/rbi/dodopayments/models/meter_create_params.rbi +92 -0
  46. data/rbi/dodopayments/models/meter_filter.rbi +1042 -0
  47. data/rbi/dodopayments/models/meter_list_params.rbi +68 -0
  48. data/rbi/dodopayments/models/{product_delete_params.rbi → meter_retrieve_params.rbi} +2 -2
  49. data/rbi/dodopayments/models/meter_unarchive_params.rbi +32 -0
  50. data/rbi/dodopayments/models/price.rbi +153 -7
  51. data/rbi/dodopayments/models/product.rbi +2 -1
  52. data/rbi/dodopayments/models/product_archive_params.rbi +32 -0
  53. data/rbi/dodopayments/models/product_create_params.rbi +6 -3
  54. data/rbi/dodopayments/models/product_list_response.rbi +2 -1
  55. data/rbi/dodopayments/models/product_update_params.rbi +6 -3
  56. data/rbi/dodopayments/models/subscription_retrieve_usage_history_params.rbi +78 -0
  57. data/rbi/dodopayments/models/subscription_retrieve_usage_history_response.rbi +159 -0
  58. data/rbi/dodopayments/models/usage_event_ingest_params.rbi +46 -0
  59. data/rbi/dodopayments/models/usage_event_ingest_response.rbi +26 -0
  60. data/rbi/dodopayments/models/usage_event_list_params.rbi +119 -0
  61. data/rbi/dodopayments/models/usage_event_retrieve_params.rbi +32 -0
  62. data/rbi/dodopayments/models.rbi +33 -2
  63. data/rbi/dodopayments/resources/invoices/payments.rbi +9 -0
  64. data/rbi/dodopayments/resources/meters.rbi +102 -0
  65. data/rbi/dodopayments/resources/products.rbi +5 -3
  66. data/rbi/dodopayments/resources/subscriptions.rbi +74 -0
  67. data/rbi/dodopayments/resources/usage_events.rbi +175 -0
  68. data/sig/dodopayments/client.rbs +4 -0
  69. data/sig/dodopayments/models/add_meter_to_price.rbs +45 -0
  70. data/sig/dodopayments/models/event.rbs +53 -0
  71. data/sig/dodopayments/models/event_input.rbs +48 -0
  72. data/sig/dodopayments/models/invoices/payment_retrieve_refund_params.rbs +17 -0
  73. data/sig/dodopayments/models/meter.rbs +65 -0
  74. data/sig/dodopayments/models/meter_aggregation.rbs +36 -0
  75. data/sig/dodopayments/models/meter_archive_params.rbs +15 -0
  76. data/sig/dodopayments/models/meter_create_params.rbs +51 -0
  77. data/sig/dodopayments/models/meter_filter.rbs +417 -0
  78. data/sig/dodopayments/models/meter_list_params.rbs +38 -0
  79. data/sig/dodopayments/models/{product_delete_params.rbs → meter_retrieve_params.rbs} +2 -2
  80. data/sig/dodopayments/models/meter_unarchive_params.rbs +15 -0
  81. data/sig/dodopayments/models/price.rbs +88 -9
  82. data/sig/dodopayments/models/product_archive_params.rbs +15 -0
  83. data/sig/dodopayments/models/subscription_retrieve_usage_history_params.rbs +46 -0
  84. data/sig/dodopayments/models/subscription_retrieve_usage_history_response.rbs +82 -0
  85. data/sig/dodopayments/models/usage_event_ingest_params.rbs +24 -0
  86. data/sig/dodopayments/models/usage_event_ingest_response.rbs +13 -0
  87. data/sig/dodopayments/models/usage_event_list_params.rbs +70 -0
  88. data/sig/dodopayments/models/usage_event_retrieve_params.rbs +15 -0
  89. data/sig/dodopayments/models.rbs +32 -2
  90. data/sig/dodopayments/resources/invoices/payments.rbs +5 -0
  91. data/sig/dodopayments/resources/meters.rbs +39 -0
  92. data/sig/dodopayments/resources/products.rbs +1 -1
  93. data/sig/dodopayments/resources/subscriptions.rbs +10 -0
  94. data/sig/dodopayments/resources/usage_events.rbs +28 -0
  95. metadata +65 -5
@@ -0,0 +1,417 @@
1
+ module Dodopayments
2
+ module Models
3
+ type meter_filter =
4
+ {
5
+ clauses: Dodopayments::Models::MeterFilter::clauses,
6
+ conjunction: Dodopayments::Models::MeterFilter::conjunction
7
+ }
8
+
9
+ class MeterFilter < Dodopayments::Internal::Type::BaseModel
10
+ attr_accessor clauses: Dodopayments::Models::MeterFilter::clauses
11
+
12
+ attr_accessor conjunction: Dodopayments::Models::MeterFilter::conjunction
13
+
14
+ def initialize: (
15
+ clauses: Dodopayments::Models::MeterFilter::clauses,
16
+ conjunction: Dodopayments::Models::MeterFilter::conjunction
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ clauses: Dodopayments::Models::MeterFilter::clauses,
21
+ conjunction: Dodopayments::Models::MeterFilter::conjunction
22
+ }
23
+
24
+ type clauses =
25
+ ::Array[Dodopayments::MeterFilter::Clauses::DirectFilterCondition]
26
+ | ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter]
27
+
28
+ module Clauses
29
+ extend Dodopayments::Internal::Type::Union
30
+
31
+ type direct_filter_condition =
32
+ {
33
+ key: String,
34
+ operator: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::operator,
35
+ value: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::value
36
+ }
37
+
38
+ class DirectFilterCondition < Dodopayments::Internal::Type::BaseModel
39
+ attr_accessor key: String
40
+
41
+ attr_accessor operator: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::operator
42
+
43
+ attr_accessor value: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::value
44
+
45
+ def initialize: (
46
+ key: String,
47
+ operator: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::operator,
48
+ value: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::value
49
+ ) -> void
50
+
51
+ def to_hash: -> {
52
+ key: String,
53
+ operator: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::operator,
54
+ value: Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::value
55
+ }
56
+
57
+ type operator =
58
+ :equals
59
+ | :not_equals
60
+ | :greater_than
61
+ | :greater_than_or_equals
62
+ | :less_than
63
+ | :less_than_or_equals
64
+ | :contains
65
+ | :does_not_contain
66
+
67
+ module Operator
68
+ extend Dodopayments::Internal::Type::Enum
69
+
70
+ EQUALS: :equals
71
+ NOT_EQUALS: :not_equals
72
+ GREATER_THAN: :greater_than
73
+ GREATER_THAN_OR_EQUALS: :greater_than_or_equals
74
+ LESS_THAN: :less_than
75
+ LESS_THAN_OR_EQUALS: :less_than_or_equals
76
+ CONTAINS: :contains
77
+ DOES_NOT_CONTAIN: :does_not_contain
78
+
79
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::operator]
80
+ end
81
+
82
+ type value = String | Float | bool
83
+
84
+ module Value
85
+ extend Dodopayments::Internal::Type::Union
86
+
87
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::DirectFilterCondition::value]
88
+ end
89
+ end
90
+
91
+ type nested_meter_filter =
92
+ {
93
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::clauses,
94
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::conjunction
95
+ }
96
+
97
+ class NestedMeterFilter < Dodopayments::Internal::Type::BaseModel
98
+ attr_accessor clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::clauses
99
+
100
+ attr_accessor conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::conjunction
101
+
102
+ def initialize: (
103
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::clauses,
104
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::conjunction
105
+ ) -> void
106
+
107
+ def to_hash: -> {
108
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::clauses,
109
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::conjunction
110
+ }
111
+
112
+ type clauses =
113
+ ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition]
114
+ | ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter]
115
+
116
+ module Clauses
117
+ extend Dodopayments::Internal::Type::Union
118
+
119
+ type level1_filter_condition =
120
+ {
121
+ key: String,
122
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::operator,
123
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::value
124
+ }
125
+
126
+ class Level1FilterCondition < Dodopayments::Internal::Type::BaseModel
127
+ attr_accessor key: String
128
+
129
+ attr_accessor operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::operator
130
+
131
+ attr_accessor value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::value
132
+
133
+ def initialize: (
134
+ key: String,
135
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::operator,
136
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::value
137
+ ) -> void
138
+
139
+ def to_hash: -> {
140
+ key: String,
141
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::operator,
142
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::value
143
+ }
144
+
145
+ type operator =
146
+ :equals
147
+ | :not_equals
148
+ | :greater_than
149
+ | :greater_than_or_equals
150
+ | :less_than
151
+ | :less_than_or_equals
152
+ | :contains
153
+ | :does_not_contain
154
+
155
+ module Operator
156
+ extend Dodopayments::Internal::Type::Enum
157
+
158
+ EQUALS: :equals
159
+ NOT_EQUALS: :not_equals
160
+ GREATER_THAN: :greater_than
161
+ GREATER_THAN_OR_EQUALS: :greater_than_or_equals
162
+ LESS_THAN: :less_than
163
+ LESS_THAN_OR_EQUALS: :less_than_or_equals
164
+ CONTAINS: :contains
165
+ DOES_NOT_CONTAIN: :does_not_contain
166
+
167
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::operator]
168
+ end
169
+
170
+ type value = String | Float | bool
171
+
172
+ module Value
173
+ extend Dodopayments::Internal::Type::Union
174
+
175
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1FilterCondition::value]
176
+ end
177
+ end
178
+
179
+ type level1_nested_filter =
180
+ {
181
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::clauses,
182
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::conjunction
183
+ }
184
+
185
+ class Level1NestedFilter < Dodopayments::Internal::Type::BaseModel
186
+ attr_accessor clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::clauses
187
+
188
+ attr_accessor conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::conjunction
189
+
190
+ def initialize: (
191
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::clauses,
192
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::conjunction
193
+ ) -> void
194
+
195
+ def to_hash: -> {
196
+ clauses: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::clauses,
197
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::conjunction
198
+ }
199
+
200
+ type clauses =
201
+ ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition]
202
+ | ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter]
203
+
204
+ module Clauses
205
+ extend Dodopayments::Internal::Type::Union
206
+
207
+ type level2_filter_condition =
208
+ {
209
+ key: String,
210
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::operator,
211
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::value
212
+ }
213
+
214
+ class Level2FilterCondition < Dodopayments::Internal::Type::BaseModel
215
+ attr_accessor key: String
216
+
217
+ attr_accessor operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::operator
218
+
219
+ attr_accessor value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::value
220
+
221
+ def initialize: (
222
+ key: String,
223
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::operator,
224
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::value
225
+ ) -> void
226
+
227
+ def to_hash: -> {
228
+ key: String,
229
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::operator,
230
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::value
231
+ }
232
+
233
+ type operator =
234
+ :equals
235
+ | :not_equals
236
+ | :greater_than
237
+ | :greater_than_or_equals
238
+ | :less_than
239
+ | :less_than_or_equals
240
+ | :contains
241
+ | :does_not_contain
242
+
243
+ module Operator
244
+ extend Dodopayments::Internal::Type::Enum
245
+
246
+ EQUALS: :equals
247
+ NOT_EQUALS: :not_equals
248
+ GREATER_THAN: :greater_than
249
+ GREATER_THAN_OR_EQUALS: :greater_than_or_equals
250
+ LESS_THAN: :less_than
251
+ LESS_THAN_OR_EQUALS: :less_than_or_equals
252
+ CONTAINS: :contains
253
+ DOES_NOT_CONTAIN: :does_not_contain
254
+
255
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::operator]
256
+ end
257
+
258
+ type value = String | Float | bool
259
+
260
+ module Value
261
+ extend Dodopayments::Internal::Type::Union
262
+
263
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2FilterCondition::value]
264
+ end
265
+ end
266
+
267
+ type level2_nested_filter =
268
+ {
269
+ clauses: ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause],
270
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::conjunction
271
+ }
272
+
273
+ class Level2NestedFilter < Dodopayments::Internal::Type::BaseModel
274
+ attr_accessor clauses: ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause]
275
+
276
+ attr_accessor conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::conjunction
277
+
278
+ def initialize: (
279
+ clauses: ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause],
280
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::conjunction
281
+ ) -> void
282
+
283
+ def to_hash: -> {
284
+ clauses: ::Array[Dodopayments::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause],
285
+ conjunction: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::conjunction
286
+ }
287
+
288
+ type clause =
289
+ {
290
+ key: String,
291
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::operator,
292
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::value
293
+ }
294
+
295
+ class Clause < Dodopayments::Internal::Type::BaseModel
296
+ attr_accessor key: String
297
+
298
+ attr_accessor operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::operator
299
+
300
+ attr_accessor value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::value
301
+
302
+ def initialize: (
303
+ key: String,
304
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::operator,
305
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::value
306
+ ) -> void
307
+
308
+ def to_hash: -> {
309
+ key: String,
310
+ operator: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::operator,
311
+ value: Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::value
312
+ }
313
+
314
+ type operator =
315
+ :equals
316
+ | :not_equals
317
+ | :greater_than
318
+ | :greater_than_or_equals
319
+ | :less_than
320
+ | :less_than_or_equals
321
+ | :contains
322
+ | :does_not_contain
323
+
324
+ module Operator
325
+ extend Dodopayments::Internal::Type::Enum
326
+
327
+ EQUALS: :equals
328
+ NOT_EQUALS: :not_equals
329
+ GREATER_THAN: :greater_than
330
+ GREATER_THAN_OR_EQUALS: :greater_than_or_equals
331
+ LESS_THAN: :less_than
332
+ LESS_THAN_OR_EQUALS: :less_than_or_equals
333
+ CONTAINS: :contains
334
+ DOES_NOT_CONTAIN: :does_not_contain
335
+
336
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::operator]
337
+ end
338
+
339
+ type value = String | Float | bool
340
+
341
+ module Value
342
+ extend Dodopayments::Internal::Type::Union
343
+
344
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::Clause::value]
345
+ end
346
+ end
347
+
348
+ type conjunction = :and | :or
349
+
350
+ module Conjunction
351
+ extend Dodopayments::Internal::Type::Enum
352
+
353
+ AND: :and
354
+ OR: :or
355
+
356
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::Clauses::Level2NestedFilter::conjunction]
357
+ end
358
+ end
359
+
360
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::clauses]
361
+
362
+ Level2FilterConditionArray: Dodopayments::Internal::Type::Converter
363
+
364
+ Level2NestedFilterArray: Dodopayments::Internal::Type::Converter
365
+ end
366
+
367
+ type conjunction = :and | :or
368
+
369
+ module Conjunction
370
+ extend Dodopayments::Internal::Type::Enum
371
+
372
+ AND: :and
373
+ OR: :or
374
+
375
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::Clauses::Level1NestedFilter::conjunction]
376
+ end
377
+ end
378
+
379
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::clauses]
380
+
381
+ Level1FilterConditionArray: Dodopayments::Internal::Type::Converter
382
+
383
+ Level1NestedFilterArray: Dodopayments::Internal::Type::Converter
384
+ end
385
+
386
+ type conjunction = :and | :or
387
+
388
+ module Conjunction
389
+ extend Dodopayments::Internal::Type::Enum
390
+
391
+ AND: :and
392
+ OR: :or
393
+
394
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::Clauses::NestedMeterFilter::conjunction]
395
+ end
396
+ end
397
+
398
+ def self?.variants: -> ::Array[Dodopayments::Models::MeterFilter::clauses]
399
+
400
+ DirectFilterConditionArray: Dodopayments::Internal::Type::Converter
401
+
402
+ NestedMeterFilterArray: Dodopayments::Internal::Type::Converter
403
+ end
404
+
405
+ type conjunction = :and | :or
406
+
407
+ module Conjunction
408
+ extend Dodopayments::Internal::Type::Enum
409
+
410
+ AND: :and
411
+ OR: :or
412
+
413
+ def self?.values: -> ::Array[Dodopayments::Models::MeterFilter::conjunction]
414
+ end
415
+ end
416
+ end
417
+ end
@@ -0,0 +1,38 @@
1
+ module Dodopayments
2
+ module Models
3
+ type meter_list_params =
4
+ { archived: bool, page_number: Integer, page_size: Integer }
5
+ & Dodopayments::Internal::Type::request_parameters
6
+
7
+ class MeterListParams < Dodopayments::Internal::Type::BaseModel
8
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
9
+ include Dodopayments::Internal::Type::RequestParameters
10
+
11
+ attr_reader archived: bool?
12
+
13
+ def archived=: (bool) -> bool
14
+
15
+ attr_reader page_number: Integer?
16
+
17
+ def page_number=: (Integer) -> Integer
18
+
19
+ attr_reader page_size: Integer?
20
+
21
+ def page_size=: (Integer) -> Integer
22
+
23
+ def initialize: (
24
+ ?archived: bool,
25
+ ?page_number: Integer,
26
+ ?page_size: Integer,
27
+ ?request_options: Dodopayments::request_opts
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ archived: bool,
32
+ page_number: Integer,
33
+ page_size: Integer,
34
+ request_options: Dodopayments::RequestOptions
35
+ }
36
+ end
37
+ end
38
+ end
@@ -1,9 +1,9 @@
1
1
  module Dodopayments
2
2
  module Models
3
- type product_delete_params =
3
+ type meter_retrieve_params =
4
4
  { } & Dodopayments::Internal::Type::request_parameters
5
5
 
6
- class ProductDeleteParams < Dodopayments::Internal::Type::BaseModel
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,15 @@
1
+ module Dodopayments
2
+ module Models
3
+ type meter_unarchive_params =
4
+ { } & Dodopayments::Internal::Type::request_parameters
5
+
6
+ class MeterUnarchiveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Dodopayments::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Dodopayments::RequestOptions }
13
+ end
14
+ end
15
+ end
@@ -1,7 +1,9 @@
1
1
  module Dodopayments
2
2
  module Models
3
3
  type price =
4
- Dodopayments::Price::OneTimePrice | Dodopayments::Price::RecurringPrice
4
+ Dodopayments::Price::OneTimePrice
5
+ | Dodopayments::Price::RecurringPrice
6
+ | Dodopayments::Price::UsageBasedPrice
5
7
 
6
8
  module Price
7
9
  extend Dodopayments::Internal::Type::Union
@@ -9,7 +11,7 @@ module Dodopayments
9
11
  type one_time_price =
10
12
  {
11
13
  currency: Dodopayments::Models::currency,
12
- discount: Float,
14
+ discount: Integer,
13
15
  price: Integer,
14
16
  purchasing_power_parity: bool,
15
17
  type: Dodopayments::Models::Price::OneTimePrice::type_,
@@ -21,7 +23,7 @@ module Dodopayments
21
23
  class OneTimePrice < Dodopayments::Internal::Type::BaseModel
22
24
  attr_accessor currency: Dodopayments::Models::currency
23
25
 
24
- attr_accessor discount: Float
26
+ attr_accessor discount: Integer
25
27
 
26
28
  attr_accessor price: Integer
27
29
 
@@ -39,7 +41,7 @@ module Dodopayments
39
41
 
40
42
  def initialize: (
41
43
  currency: Dodopayments::Models::currency,
42
- discount: Float,
44
+ discount: Integer,
43
45
  price: Integer,
44
46
  purchasing_power_parity: bool,
45
47
  type: Dodopayments::Models::Price::OneTimePrice::type_,
@@ -50,7 +52,7 @@ module Dodopayments
50
52
 
51
53
  def to_hash: -> {
52
54
  currency: Dodopayments::Models::currency,
53
- discount: Float,
55
+ discount: Integer,
54
56
  price: Integer,
55
57
  purchasing_power_parity: bool,
56
58
  type: Dodopayments::Models::Price::OneTimePrice::type_,
@@ -73,7 +75,7 @@ module Dodopayments
73
75
  type recurring_price =
74
76
  {
75
77
  currency: Dodopayments::Models::currency,
76
- discount: Float,
78
+ discount: Integer,
77
79
  payment_frequency_count: Integer,
78
80
  payment_frequency_interval: Dodopayments::Models::time_interval,
79
81
  price: Integer,
@@ -88,7 +90,7 @@ module Dodopayments
88
90
  class RecurringPrice < Dodopayments::Internal::Type::BaseModel
89
91
  attr_accessor currency: Dodopayments::Models::currency
90
92
 
91
- attr_accessor discount: Float
93
+ attr_accessor discount: Integer
92
94
 
93
95
  attr_accessor payment_frequency_count: Integer
94
96
 
@@ -112,7 +114,7 @@ module Dodopayments
112
114
 
113
115
  def initialize: (
114
116
  currency: Dodopayments::Models::currency,
115
- discount: Float,
117
+ discount: Integer,
116
118
  payment_frequency_count: Integer,
117
119
  payment_frequency_interval: Dodopayments::Models::time_interval,
118
120
  price: Integer,
@@ -126,7 +128,7 @@ module Dodopayments
126
128
 
127
129
  def to_hash: -> {
128
130
  currency: Dodopayments::Models::currency,
129
- discount: Float,
131
+ discount: Integer,
130
132
  payment_frequency_count: Integer,
131
133
  payment_frequency_interval: Dodopayments::Models::time_interval,
132
134
  price: Integer,
@@ -149,6 +151,83 @@ module Dodopayments
149
151
  end
150
152
  end
151
153
 
154
+ type usage_based_price =
155
+ {
156
+ currency: Dodopayments::Models::currency,
157
+ discount: Integer,
158
+ fixed_price: Integer,
159
+ payment_frequency_count: Integer,
160
+ payment_frequency_interval: Dodopayments::Models::time_interval,
161
+ purchasing_power_parity: bool,
162
+ subscription_period_count: Integer,
163
+ subscription_period_interval: Dodopayments::Models::time_interval,
164
+ type: Dodopayments::Models::Price::UsageBasedPrice::type_,
165
+ meters: ::Array[Dodopayments::AddMeterToPrice]?,
166
+ tax_inclusive: bool?
167
+ }
168
+
169
+ class UsageBasedPrice < Dodopayments::Internal::Type::BaseModel
170
+ attr_accessor currency: Dodopayments::Models::currency
171
+
172
+ attr_accessor discount: Integer
173
+
174
+ attr_accessor fixed_price: Integer
175
+
176
+ attr_accessor payment_frequency_count: Integer
177
+
178
+ attr_accessor payment_frequency_interval: Dodopayments::Models::time_interval
179
+
180
+ attr_accessor purchasing_power_parity: bool
181
+
182
+ attr_accessor subscription_period_count: Integer
183
+
184
+ attr_accessor subscription_period_interval: Dodopayments::Models::time_interval
185
+
186
+ attr_accessor type: Dodopayments::Models::Price::UsageBasedPrice::type_
187
+
188
+ attr_accessor meters: ::Array[Dodopayments::AddMeterToPrice]?
189
+
190
+ attr_accessor tax_inclusive: bool?
191
+
192
+ def initialize: (
193
+ currency: Dodopayments::Models::currency,
194
+ discount: Integer,
195
+ fixed_price: Integer,
196
+ payment_frequency_count: Integer,
197
+ payment_frequency_interval: Dodopayments::Models::time_interval,
198
+ purchasing_power_parity: bool,
199
+ subscription_period_count: Integer,
200
+ subscription_period_interval: Dodopayments::Models::time_interval,
201
+ type: Dodopayments::Models::Price::UsageBasedPrice::type_,
202
+ ?meters: ::Array[Dodopayments::AddMeterToPrice]?,
203
+ ?tax_inclusive: bool?
204
+ ) -> void
205
+
206
+ def to_hash: -> {
207
+ currency: Dodopayments::Models::currency,
208
+ discount: Integer,
209
+ fixed_price: Integer,
210
+ payment_frequency_count: Integer,
211
+ payment_frequency_interval: Dodopayments::Models::time_interval,
212
+ purchasing_power_parity: bool,
213
+ subscription_period_count: Integer,
214
+ subscription_period_interval: Dodopayments::Models::time_interval,
215
+ type: Dodopayments::Models::Price::UsageBasedPrice::type_,
216
+ meters: ::Array[Dodopayments::AddMeterToPrice]?,
217
+ tax_inclusive: bool?
218
+ }
219
+
220
+ type type_ = :usage_based_price
221
+
222
+ module Type
223
+ extend Dodopayments::Internal::Type::Enum
224
+
225
+ USAGE_BASED_PRICE: :usage_based_price
226
+
227
+ def self?.values: -> ::Array[Dodopayments::Models::Price::UsageBasedPrice::type_]
228
+ end
229
+ end
230
+
152
231
  def self?.variants: -> ::Array[Dodopayments::Models::price]
153
232
  end
154
233
  end
@@ -0,0 +1,15 @@
1
+ module Dodopayments
2
+ module Models
3
+ type product_archive_params =
4
+ { } & Dodopayments::Internal::Type::request_parameters
5
+
6
+ class ProductArchiveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ def initialize: (?request_options: Dodopayments::request_opts) -> void
11
+
12
+ def to_hash: -> { request_options: Dodopayments::RequestOptions }
13
+ end
14
+ end
15
+ end