dodopayments 2.8.0 → 2.9.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -0
  5. data/lib/dodopayments/models/attach_product_entitlement.rb +22 -0
  6. data/lib/dodopayments/models/cancellation_feedback.rb +21 -0
  7. data/lib/dodopayments/models/checkout_session_flags.rb +12 -1
  8. data/lib/dodopayments/models/checkout_session_request.rb +14 -1
  9. data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +1 -0
  10. data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +52 -0
  11. data/lib/dodopayments/models/customer_list_entitlements_params.rb +20 -0
  12. data/lib/dodopayments/models/customer_list_entitlements_response.rb +105 -0
  13. data/lib/dodopayments/models/digital_product_delivery.rb +13 -15
  14. data/lib/dodopayments/models/digital_product_delivery_file.rb +32 -8
  15. data/lib/dodopayments/models/entitlement.rb +86 -0
  16. data/lib/dodopayments/models/entitlement_create_params.rb +54 -0
  17. data/lib/dodopayments/models/entitlement_delete_params.rb +20 -0
  18. data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +51 -0
  19. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +51 -0
  20. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +51 -0
  21. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +51 -0
  22. data/lib/dodopayments/models/entitlement_integration_type.rb +21 -0
  23. data/lib/dodopayments/models/entitlement_list_params.rb +55 -0
  24. data/lib/dodopayments/models/entitlement_retrieve_params.rb +20 -0
  25. data/lib/dodopayments/models/entitlement_update_params.rb +54 -0
  26. data/lib/dodopayments/models/entitlements/entitlement_grant.rb +172 -0
  27. data/lib/dodopayments/models/entitlements/file_delete_params.rb +28 -0
  28. data/lib/dodopayments/models/entitlements/file_upload_params.rb +22 -0
  29. data/lib/dodopayments/models/entitlements/file_upload_response.rb +23 -0
  30. data/lib/dodopayments/models/entitlements/grant_list_params.rb +68 -0
  31. data/lib/dodopayments/models/entitlements/grant_revoke_params.rb +28 -0
  32. data/lib/dodopayments/models/entitlements/license_key_grant.rb +40 -0
  33. data/lib/dodopayments/models/integration_config.rb +174 -0
  34. data/lib/dodopayments/models/integration_config_response.rb +238 -0
  35. data/lib/dodopayments/models/license_key_instance_list_params.rb +9 -1
  36. data/lib/dodopayments/models/one_time_product_cart_item.rb +15 -1
  37. data/lib/dodopayments/models/payment.rb +19 -3
  38. data/lib/dodopayments/models/payment_create_params.rb +23 -35
  39. data/lib/dodopayments/models/payment_create_response.rb +3 -33
  40. data/lib/dodopayments/models/product.rb +12 -217
  41. data/lib/dodopayments/models/product_create_params.rb +25 -6
  42. data/lib/dodopayments/models/product_entitlement_summary.rb +57 -0
  43. data/lib/dodopayments/models/product_list_response.rb +3 -218
  44. data/lib/dodopayments/models/product_update_params.rb +21 -7
  45. data/lib/dodopayments/models/scheduled_plan_change.rb +99 -0
  46. data/lib/dodopayments/models/subscription.rb +20 -102
  47. data/lib/dodopayments/models/subscription_create_params.rb +27 -37
  48. data/lib/dodopayments/models/subscription_create_response.rb +19 -3
  49. data/lib/dodopayments/models/subscription_list_response.rb +3 -103
  50. data/lib/dodopayments/models/subscription_update_params.rb +23 -1
  51. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
  52. data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
  53. data/lib/dodopayments/models/update_subscription_plan_req.rb +10 -1
  54. data/lib/dodopayments/models/webhook_event_type.rb +1 -0
  55. data/lib/dodopayments/models/webhook_payload.rb +2 -154
  56. data/lib/dodopayments/models.rb +40 -0
  57. data/lib/dodopayments/resources/checkout_sessions.rb +6 -2
  58. data/lib/dodopayments/resources/customers.rb +20 -0
  59. data/lib/dodopayments/resources/entitlements/files.rb +70 -0
  60. data/lib/dodopayments/resources/entitlements/grants.rb +78 -0
  61. data/lib/dodopayments/resources/entitlements.rb +153 -0
  62. data/lib/dodopayments/resources/license_key_instances.rb +3 -1
  63. data/lib/dodopayments/resources/payments.rb +6 -2
  64. data/lib/dodopayments/resources/products.rb +4 -4
  65. data/lib/dodopayments/resources/subscriptions.rb +20 -5
  66. data/lib/dodopayments/resources/webhooks.rb +2 -2
  67. data/lib/dodopayments/version.rb +1 -1
  68. data/lib/dodopayments.rb +30 -0
  69. data/rbi/dodopayments/client.rbi +3 -0
  70. data/rbi/dodopayments/models/attach_product_entitlement.rbi +35 -0
  71. data/rbi/dodopayments/models/cancellation_feedback.rbi +45 -0
  72. data/rbi/dodopayments/models/checkout_session_flags.rbi +20 -3
  73. data/rbi/dodopayments/models/checkout_session_request.rbi +18 -0
  74. data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +5 -0
  75. data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +103 -0
  76. data/rbi/dodopayments/models/customer_list_entitlements_params.rbi +38 -0
  77. data/rbi/dodopayments/models/customer_list_entitlements_response.rbi +189 -0
  78. data/rbi/dodopayments/models/digital_product_delivery.rbi +10 -22
  79. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +40 -8
  80. data/rbi/dodopayments/models/entitlement.rbi +112 -0
  81. data/rbi/dodopayments/models/entitlement_create_params.rbi +112 -0
  82. data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
  83. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +103 -0
  84. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +103 -0
  85. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +102 -0
  86. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +103 -0
  87. data/rbi/dodopayments/models/entitlement_integration_type.rbi +44 -0
  88. data/rbi/dodopayments/models/entitlement_list_params.rbi +146 -0
  89. data/rbi/dodopayments/models/entitlement_retrieve_params.rbi +38 -0
  90. data/rbi/dodopayments/models/entitlement_update_params.rbi +111 -0
  91. data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +235 -0
  92. data/rbi/dodopayments/models/entitlements/file_delete_params.rbi +48 -0
  93. data/rbi/dodopayments/models/entitlements/file_upload_params.rbi +40 -0
  94. data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +34 -0
  95. data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +145 -0
  96. data/rbi/dodopayments/models/entitlements/grant_revoke_params.rbi +48 -0
  97. data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +62 -0
  98. data/rbi/dodopayments/models/integration_config.rbi +296 -0
  99. data/rbi/dodopayments/models/integration_config_response.rbi +416 -0
  100. data/rbi/dodopayments/models/license_key_instance_list_params.rbi +8 -0
  101. data/rbi/dodopayments/models/one_time_product_cart_item.rbi +24 -3
  102. data/rbi/dodopayments/models/payment.rbi +31 -3
  103. data/rbi/dodopayments/models/payment_create_params.rbi +28 -56
  104. data/rbi/dodopayments/models/payment_create_response.rbi +3 -68
  105. data/rbi/dodopayments/models/product.rbi +12 -420
  106. data/rbi/dodopayments/models/product_create_params.rbi +43 -7
  107. data/rbi/dodopayments/models/product_entitlement_summary.rbi +88 -0
  108. data/rbi/dodopayments/models/product_list_response.rbi +3 -430
  109. data/rbi/dodopayments/models/product_update_params.rbi +35 -9
  110. data/rbi/dodopayments/models/scheduled_plan_change.rbi +141 -0
  111. data/rbi/dodopayments/models/subscription.rbi +24 -149
  112. data/rbi/dodopayments/models/subscription_create_params.rbi +36 -68
  113. data/rbi/dodopayments/models/subscription_create_response.rbi +47 -3
  114. data/rbi/dodopayments/models/subscription_list_response.rbi +4 -167
  115. data/rbi/dodopayments/models/subscription_update_params.rbi +27 -0
  116. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
  117. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
  118. data/rbi/dodopayments/models/update_subscription_plan_req.rbi +10 -0
  119. data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
  120. data/rbi/dodopayments/models/webhook_payload.rbi +4 -197
  121. data/rbi/dodopayments/models.rbi +46 -0
  122. data/rbi/dodopayments/resources/checkout_sessions.rbi +16 -0
  123. data/rbi/dodopayments/resources/customers.rbi +14 -0
  124. data/rbi/dodopayments/resources/entitlements/files.rbi +52 -0
  125. data/rbi/dodopayments/resources/entitlements/grants.rbi +65 -0
  126. data/rbi/dodopayments/resources/entitlements.rbi +143 -0
  127. data/rbi/dodopayments/resources/license_key_instances.rbi +3 -0
  128. data/rbi/dodopayments/resources/payments.rbi +10 -2
  129. data/rbi/dodopayments/resources/products.rbi +34 -7
  130. data/rbi/dodopayments/resources/subscriptions.rbi +31 -5
  131. data/rbi/dodopayments/resources/webhooks.rbi +10 -0
  132. data/sig/dodopayments/client.rbs +2 -0
  133. data/sig/dodopayments/models/attach_product_entitlement.rbs +13 -0
  134. data/sig/dodopayments/models/cancellation_feedback.rbs +28 -0
  135. data/sig/dodopayments/models/checkout_session_flags.rbs +10 -3
  136. data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
  137. data/sig/dodopayments/models/credit_entitlements/credit_ledger_entry.rbs +2 -0
  138. data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +45 -0
  139. data/sig/dodopayments/models/customer_list_entitlements_params.rbs +23 -0
  140. data/sig/dodopayments/models/customer_list_entitlements_response.rbs +95 -0
  141. data/sig/dodopayments/models/digital_product_delivery.rbs +5 -5
  142. data/sig/dodopayments/models/digital_product_delivery_file.rbs +32 -5
  143. data/sig/dodopayments/models/entitlement.rbs +67 -0
  144. data/sig/dodopayments/models/entitlement_create_params.rbs +46 -0
  145. data/sig/dodopayments/models/entitlement_delete_params.rbs +23 -0
  146. data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +45 -0
  147. data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +45 -0
  148. data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +45 -0
  149. data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +45 -0
  150. data/sig/dodopayments/models/entitlement_integration_type.rbs +28 -0
  151. data/sig/dodopayments/models/entitlement_list_params.rbs +69 -0
  152. data/sig/dodopayments/models/entitlement_retrieve_params.rbs +23 -0
  153. data/sig/dodopayments/models/entitlement_update_params.rbs +46 -0
  154. data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +134 -0
  155. data/sig/dodopayments/models/entitlements/file_delete_params.rbs +30 -0
  156. data/sig/dodopayments/models/entitlements/file_upload_params.rbs +25 -0
  157. data/sig/dodopayments/models/entitlements/file_upload_response.rbs +15 -0
  158. data/sig/dodopayments/models/entitlements/grant_list_params.rbs +71 -0
  159. data/sig/dodopayments/models/entitlements/grant_revoke_params.rbs +30 -0
  160. data/sig/dodopayments/models/entitlements/license_key_grant.rbs +37 -0
  161. data/sig/dodopayments/models/integration_config.rbs +147 -0
  162. data/sig/dodopayments/models/integration_config_response.rbs +206 -0
  163. data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -1
  164. data/sig/dodopayments/models/one_time_product_cart_item.rbs +14 -3
  165. data/sig/dodopayments/models/payment.rbs +16 -4
  166. data/sig/dodopayments/models/payment_create_params.rbs +16 -27
  167. data/sig/dodopayments/models/payment_create_response.rbs +4 -27
  168. data/sig/dodopayments/models/product.rbs +4 -205
  169. data/sig/dodopayments/models/product_create_params.rbs +4 -4
  170. data/sig/dodopayments/models/product_entitlement_summary.rbs +40 -0
  171. data/sig/dodopayments/models/product_list_response.rbs +4 -205
  172. data/sig/dodopayments/models/product_update_params.rbs +4 -4
  173. data/sig/dodopayments/models/scheduled_plan_change.rbs +73 -0
  174. data/sig/dodopayments/models/subscription.rbs +14 -74
  175. data/sig/dodopayments/models/subscription_create_params.rbs +16 -27
  176. data/sig/dodopayments/models/subscription_create_response.rbs +16 -4
  177. data/sig/dodopayments/models/subscription_list_response.rbs +4 -74
  178. data/sig/dodopayments/models/subscription_update_params.rbs +12 -0
  179. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
  180. data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
  181. data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
  182. data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
  183. data/sig/dodopayments/models/webhook_payload.rbs +8 -134
  184. data/sig/dodopayments/models.rbs +40 -0
  185. data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
  186. data/sig/dodopayments/resources/customers.rbs +5 -0
  187. data/sig/dodopayments/resources/entitlements/files.rbs +20 -0
  188. data/sig/dodopayments/resources/entitlements/grants.rbs +24 -0
  189. data/sig/dodopayments/resources/entitlements.rbs +46 -0
  190. data/sig/dodopayments/resources/license_key_instances.rbs +1 -0
  191. data/sig/dodopayments/resources/payments.rbs +3 -1
  192. data/sig/dodopayments/resources/products.rbs +2 -2
  193. data/sig/dodopayments/resources/subscriptions.rbs +7 -1
  194. data/sig/dodopayments/resources/webhooks.rbs +10 -0
  195. metadata +92 -2
@@ -6,7 +6,7 @@ module Dodopayments
6
6
  business_id: String,
7
7
  created_at: Time,
8
8
  credit_entitlements: ::Array[Dodopayments::CreditEntitlementMappingResponse],
9
- entitlements: ::Array[Dodopayments::Product::Entitlement],
9
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
10
10
  is_recurring: bool,
11
11
  license_key_enabled: bool,
12
12
  metadata: ::Hash[Symbol, String],
@@ -34,7 +34,7 @@ module Dodopayments
34
34
 
35
35
  attr_accessor credit_entitlements: ::Array[Dodopayments::CreditEntitlementMappingResponse]
36
36
 
37
- attr_accessor entitlements: ::Array[Dodopayments::Product::Entitlement]
37
+ attr_accessor entitlements: ::Array[Dodopayments::ProductEntitlementSummary]
38
38
 
39
39
  attr_accessor is_recurring: bool
40
40
 
@@ -73,7 +73,7 @@ module Dodopayments
73
73
  business_id: String,
74
74
  created_at: Time,
75
75
  credit_entitlements: ::Array[Dodopayments::CreditEntitlementMappingResponse],
76
- entitlements: ::Array[Dodopayments::Product::Entitlement],
76
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
77
77
  is_recurring: bool,
78
78
  license_key_enabled: bool,
79
79
  metadata: ::Hash[Symbol, String],
@@ -97,7 +97,7 @@ module Dodopayments
97
97
  business_id: String,
98
98
  created_at: Time,
99
99
  credit_entitlements: ::Array[Dodopayments::CreditEntitlementMappingResponse],
100
- entitlements: ::Array[Dodopayments::Product::Entitlement],
100
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
101
101
  is_recurring: bool,
102
102
  license_key_enabled: bool,
103
103
  metadata: ::Hash[Symbol, String],
@@ -115,207 +115,6 @@ module Dodopayments
115
115
  name: String?,
116
116
  product_collection_id: String?
117
117
  }
118
-
119
- type entitlement =
120
- {
121
- id: String,
122
- integration_config: Dodopayments::Models::Product::Entitlement::integration_config,
123
- integration_type: Dodopayments::Models::Product::Entitlement::integration_type,
124
- name: String,
125
- description: String?
126
- }
127
-
128
- class Entitlement < Dodopayments::Internal::Type::BaseModel
129
- attr_accessor id: String
130
-
131
- attr_accessor integration_config: Dodopayments::Models::Product::Entitlement::integration_config
132
-
133
- attr_accessor integration_type: Dodopayments::Models::Product::Entitlement::integration_type
134
-
135
- attr_accessor name: String
136
-
137
- attr_accessor description: String?
138
-
139
- def initialize: (
140
- id: String,
141
- integration_config: Dodopayments::Models::Product::Entitlement::integration_config,
142
- integration_type: Dodopayments::Models::Product::Entitlement::integration_type,
143
- name: String,
144
- ?description: String?
145
- ) -> void
146
-
147
- def to_hash: -> {
148
- id: String,
149
- integration_config: Dodopayments::Models::Product::Entitlement::integration_config,
150
- integration_type: Dodopayments::Models::Product::Entitlement::integration_type,
151
- name: String,
152
- description: String?
153
- }
154
-
155
- type integration_config =
156
- Dodopayments::Product::Entitlement::IntegrationConfig::GitHubConfig
157
- | Dodopayments::Product::Entitlement::IntegrationConfig::DiscordConfig
158
- | Dodopayments::Product::Entitlement::IntegrationConfig::TelegramConfig
159
- | Dodopayments::Product::Entitlement::IntegrationConfig::FigmaConfig
160
- | Dodopayments::Product::Entitlement::IntegrationConfig::FramerConfig
161
- | Dodopayments::Product::Entitlement::IntegrationConfig::NotionConfig
162
- | Dodopayments::Product::Entitlement::IntegrationConfig::DigitalFilesConfig
163
- | Dodopayments::Product::Entitlement::IntegrationConfig::LicenseKeyConfig
164
-
165
- module IntegrationConfig
166
- extend Dodopayments::Internal::Type::Union
167
-
168
- type github_config = { permission: String, target_id: String }
169
-
170
- class GitHubConfig < Dodopayments::Internal::Type::BaseModel
171
- attr_accessor permission: String
172
-
173
- attr_accessor target_id: String
174
-
175
- def initialize: (permission: String, target_id: String) -> void
176
-
177
- def to_hash: -> { permission: String, target_id: String }
178
- end
179
-
180
- type discord_config = { guild_id: String, role_id: String? }
181
-
182
- class DiscordConfig < Dodopayments::Internal::Type::BaseModel
183
- attr_accessor guild_id: String
184
-
185
- attr_accessor role_id: String?
186
-
187
- def initialize: (guild_id: String, ?role_id: String?) -> void
188
-
189
- def to_hash: -> { guild_id: String, role_id: String? }
190
- end
191
-
192
- type telegram_config = { chat_id: String }
193
-
194
- class TelegramConfig < Dodopayments::Internal::Type::BaseModel
195
- attr_accessor chat_id: String
196
-
197
- def initialize: (chat_id: String) -> void
198
-
199
- def to_hash: -> { chat_id: String }
200
- end
201
-
202
- type figma_config = { figma_file_id: String }
203
-
204
- class FigmaConfig < Dodopayments::Internal::Type::BaseModel
205
- attr_accessor figma_file_id: String
206
-
207
- def initialize: (figma_file_id: String) -> void
208
-
209
- def to_hash: -> { figma_file_id: String }
210
- end
211
-
212
- type framer_config = { framer_template_id: String }
213
-
214
- class FramerConfig < Dodopayments::Internal::Type::BaseModel
215
- attr_accessor framer_template_id: String
216
-
217
- def initialize: (framer_template_id: String) -> void
218
-
219
- def to_hash: -> { framer_template_id: String }
220
- end
221
-
222
- type notion_config = { notion_template_id: String }
223
-
224
- class NotionConfig < Dodopayments::Internal::Type::BaseModel
225
- attr_accessor notion_template_id: String
226
-
227
- def initialize: (notion_template_id: String) -> void
228
-
229
- def to_hash: -> { notion_template_id: String }
230
- end
231
-
232
- type digital_files_config =
233
- {
234
- digital_file_ids: ::Array[String],
235
- external_url: String?,
236
- instructions: String?
237
- }
238
-
239
- class DigitalFilesConfig < Dodopayments::Internal::Type::BaseModel
240
- attr_accessor digital_file_ids: ::Array[String]
241
-
242
- attr_accessor external_url: String?
243
-
244
- attr_accessor instructions: String?
245
-
246
- def initialize: (
247
- digital_file_ids: ::Array[String],
248
- ?external_url: String?,
249
- ?instructions: String?
250
- ) -> void
251
-
252
- def to_hash: -> {
253
- digital_file_ids: ::Array[String],
254
- external_url: String?,
255
- instructions: String?
256
- }
257
- end
258
-
259
- type license_key_config =
260
- {
261
- activation_message: String?,
262
- activations_limit: Integer?,
263
- duration_count: Integer?,
264
- duration_interval: String?
265
- }
266
-
267
- class LicenseKeyConfig < Dodopayments::Internal::Type::BaseModel
268
- attr_accessor activation_message: String?
269
-
270
- attr_accessor activations_limit: Integer?
271
-
272
- attr_accessor duration_count: Integer?
273
-
274
- attr_accessor duration_interval: String?
275
-
276
- def initialize: (
277
- ?activation_message: String?,
278
- ?activations_limit: Integer?,
279
- ?duration_count: Integer?,
280
- ?duration_interval: String?
281
- ) -> void
282
-
283
- def to_hash: -> {
284
- activation_message: String?,
285
- activations_limit: Integer?,
286
- duration_count: Integer?,
287
- duration_interval: String?
288
- }
289
- end
290
-
291
- def self?.variants: -> ::Array[Dodopayments::Models::Product::Entitlement::integration_config]
292
- end
293
-
294
- type integration_type =
295
- :discord
296
- | :telegram
297
- | :github
298
- | :figma
299
- | :framer
300
- | :notion
301
- | :digital_files
302
- | :license_key
303
-
304
- module IntegrationType
305
- extend Dodopayments::Internal::Type::Enum
306
-
307
- DISCORD: :discord
308
- TELEGRAM: :telegram
309
- GITHUB: :github
310
- FIGMA: :figma
311
- FRAMER: :framer
312
- NOTION: :notion
313
- DIGITAL_FILES: :digital_files
314
- LICENSE_KEY: :license_key
315
-
316
- def self?.values: -> ::Array[Dodopayments::Models::Product::Entitlement::integration_type]
317
- end
318
- end
319
118
  end
320
119
  end
321
120
  end
@@ -10,7 +10,7 @@ module Dodopayments
10
10
  credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
11
11
  description: String?,
12
12
  digital_product_delivery: Dodopayments::ProductCreateParams::DigitalProductDelivery?,
13
- entitlement_ids: ::Array[String]?,
13
+ entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
14
14
  license_key_activation_message: String?,
15
15
  license_key_activations_limit: Integer?,
16
16
  license_key_duration: Dodopayments::LicenseKeyDuration?,
@@ -39,7 +39,7 @@ module Dodopayments
39
39
 
40
40
  attr_accessor digital_product_delivery: Dodopayments::ProductCreateParams::DigitalProductDelivery?
41
41
 
42
- attr_accessor entitlement_ids: ::Array[String]?
42
+ attr_accessor entitlements: ::Array[Dodopayments::AttachProductEntitlement]?
43
43
 
44
44
  attr_accessor license_key_activation_message: String?
45
45
 
@@ -62,7 +62,7 @@ module Dodopayments
62
62
  ?credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
63
63
  ?description: String?,
64
64
  ?digital_product_delivery: Dodopayments::ProductCreateParams::DigitalProductDelivery?,
65
- ?entitlement_ids: ::Array[String]?,
65
+ ?entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
66
66
  ?license_key_activation_message: String?,
67
67
  ?license_key_activations_limit: Integer?,
68
68
  ?license_key_duration: Dodopayments::LicenseKeyDuration?,
@@ -80,7 +80,7 @@ module Dodopayments
80
80
  credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
81
81
  description: String?,
82
82
  digital_product_delivery: Dodopayments::ProductCreateParams::DigitalProductDelivery?,
83
- entitlement_ids: ::Array[String]?,
83
+ entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
84
84
  license_key_activation_message: String?,
85
85
  license_key_activations_limit: Integer?,
86
86
  license_key_duration: Dodopayments::LicenseKeyDuration?,
@@ -0,0 +1,40 @@
1
+ module Dodopayments
2
+ module Models
3
+ type product_entitlement_summary =
4
+ {
5
+ id: String,
6
+ integration_config: Dodopayments::Models::integration_config_response,
7
+ integration_type: Dodopayments::Models::entitlement_integration_type,
8
+ name: String,
9
+ description: String?
10
+ }
11
+
12
+ class ProductEntitlementSummary < Dodopayments::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ attr_accessor integration_config: Dodopayments::Models::integration_config_response
16
+
17
+ attr_accessor integration_type: Dodopayments::Models::entitlement_integration_type
18
+
19
+ attr_accessor name: String
20
+
21
+ attr_accessor description: String?
22
+
23
+ def initialize: (
24
+ id: String,
25
+ integration_config: Dodopayments::Models::integration_config_response,
26
+ integration_type: Dodopayments::Models::entitlement_integration_type,
27
+ name: String,
28
+ ?description: String?
29
+ ) -> void
30
+
31
+ def to_hash: -> {
32
+ id: String,
33
+ integration_config: Dodopayments::Models::integration_config_response,
34
+ integration_type: Dodopayments::Models::entitlement_integration_type,
35
+ name: String,
36
+ description: String?
37
+ }
38
+ end
39
+ end
40
+ end
@@ -4,7 +4,7 @@ module Dodopayments
4
4
  {
5
5
  business_id: String,
6
6
  created_at: Time,
7
- entitlements: ::Array[Dodopayments::Models::ProductListResponse::Entitlement],
7
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
8
8
  is_recurring: bool,
9
9
  metadata: ::Hash[Symbol, String],
10
10
  product_id: String,
@@ -24,7 +24,7 @@ module Dodopayments
24
24
 
25
25
  attr_accessor created_at: Time
26
26
 
27
- attr_accessor entitlements: ::Array[Dodopayments::Models::ProductListResponse::Entitlement]
27
+ attr_accessor entitlements: ::Array[Dodopayments::ProductEntitlementSummary]
28
28
 
29
29
  attr_accessor is_recurring: bool
30
30
 
@@ -53,7 +53,7 @@ module Dodopayments
53
53
  def initialize: (
54
54
  business_id: String,
55
55
  created_at: Time,
56
- entitlements: ::Array[Dodopayments::Models::ProductListResponse::Entitlement],
56
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
57
57
  is_recurring: bool,
58
58
  metadata: ::Hash[Symbol, String],
59
59
  product_id: String,
@@ -71,7 +71,7 @@ module Dodopayments
71
71
  def to_hash: -> {
72
72
  business_id: String,
73
73
  created_at: Time,
74
- entitlements: ::Array[Dodopayments::Models::ProductListResponse::Entitlement],
74
+ entitlements: ::Array[Dodopayments::ProductEntitlementSummary],
75
75
  is_recurring: bool,
76
76
  metadata: ::Hash[Symbol, String],
77
77
  product_id: String,
@@ -85,207 +85,6 @@ module Dodopayments
85
85
  price_detail: Dodopayments::Models::price?,
86
86
  tax_inclusive: bool?
87
87
  }
88
-
89
- type entitlement =
90
- {
91
- id: String,
92
- integration_config: Dodopayments::Models::ProductListResponse::Entitlement::integration_config,
93
- integration_type: Dodopayments::Models::ProductListResponse::Entitlement::integration_type,
94
- name: String,
95
- description: String?
96
- }
97
-
98
- class Entitlement < Dodopayments::Internal::Type::BaseModel
99
- attr_accessor id: String
100
-
101
- attr_accessor integration_config: Dodopayments::Models::ProductListResponse::Entitlement::integration_config
102
-
103
- attr_accessor integration_type: Dodopayments::Models::ProductListResponse::Entitlement::integration_type
104
-
105
- attr_accessor name: String
106
-
107
- attr_accessor description: String?
108
-
109
- def initialize: (
110
- id: String,
111
- integration_config: Dodopayments::Models::ProductListResponse::Entitlement::integration_config,
112
- integration_type: Dodopayments::Models::ProductListResponse::Entitlement::integration_type,
113
- name: String,
114
- ?description: String?
115
- ) -> void
116
-
117
- def to_hash: -> {
118
- id: String,
119
- integration_config: Dodopayments::Models::ProductListResponse::Entitlement::integration_config,
120
- integration_type: Dodopayments::Models::ProductListResponse::Entitlement::integration_type,
121
- name: String,
122
- description: String?
123
- }
124
-
125
- type integration_config =
126
- Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::GitHubConfig
127
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::DiscordConfig
128
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::TelegramConfig
129
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::FigmaConfig
130
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::FramerConfig
131
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::NotionConfig
132
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::DigitalFilesConfig
133
- | Dodopayments::Models::ProductListResponse::Entitlement::IntegrationConfig::LicenseKeyConfig
134
-
135
- module IntegrationConfig
136
- extend Dodopayments::Internal::Type::Union
137
-
138
- type github_config = { permission: String, target_id: String }
139
-
140
- class GitHubConfig < Dodopayments::Internal::Type::BaseModel
141
- attr_accessor permission: String
142
-
143
- attr_accessor target_id: String
144
-
145
- def initialize: (permission: String, target_id: String) -> void
146
-
147
- def to_hash: -> { permission: String, target_id: String }
148
- end
149
-
150
- type discord_config = { guild_id: String, role_id: String? }
151
-
152
- class DiscordConfig < Dodopayments::Internal::Type::BaseModel
153
- attr_accessor guild_id: String
154
-
155
- attr_accessor role_id: String?
156
-
157
- def initialize: (guild_id: String, ?role_id: String?) -> void
158
-
159
- def to_hash: -> { guild_id: String, role_id: String? }
160
- end
161
-
162
- type telegram_config = { chat_id: String }
163
-
164
- class TelegramConfig < Dodopayments::Internal::Type::BaseModel
165
- attr_accessor chat_id: String
166
-
167
- def initialize: (chat_id: String) -> void
168
-
169
- def to_hash: -> { chat_id: String }
170
- end
171
-
172
- type figma_config = { figma_file_id: String }
173
-
174
- class FigmaConfig < Dodopayments::Internal::Type::BaseModel
175
- attr_accessor figma_file_id: String
176
-
177
- def initialize: (figma_file_id: String) -> void
178
-
179
- def to_hash: -> { figma_file_id: String }
180
- end
181
-
182
- type framer_config = { framer_template_id: String }
183
-
184
- class FramerConfig < Dodopayments::Internal::Type::BaseModel
185
- attr_accessor framer_template_id: String
186
-
187
- def initialize: (framer_template_id: String) -> void
188
-
189
- def to_hash: -> { framer_template_id: String }
190
- end
191
-
192
- type notion_config = { notion_template_id: String }
193
-
194
- class NotionConfig < Dodopayments::Internal::Type::BaseModel
195
- attr_accessor notion_template_id: String
196
-
197
- def initialize: (notion_template_id: String) -> void
198
-
199
- def to_hash: -> { notion_template_id: String }
200
- end
201
-
202
- type digital_files_config =
203
- {
204
- digital_file_ids: ::Array[String],
205
- external_url: String?,
206
- instructions: String?
207
- }
208
-
209
- class DigitalFilesConfig < Dodopayments::Internal::Type::BaseModel
210
- attr_accessor digital_file_ids: ::Array[String]
211
-
212
- attr_accessor external_url: String?
213
-
214
- attr_accessor instructions: String?
215
-
216
- def initialize: (
217
- digital_file_ids: ::Array[String],
218
- ?external_url: String?,
219
- ?instructions: String?
220
- ) -> void
221
-
222
- def to_hash: -> {
223
- digital_file_ids: ::Array[String],
224
- external_url: String?,
225
- instructions: String?
226
- }
227
- end
228
-
229
- type license_key_config =
230
- {
231
- activation_message: String?,
232
- activations_limit: Integer?,
233
- duration_count: Integer?,
234
- duration_interval: String?
235
- }
236
-
237
- class LicenseKeyConfig < Dodopayments::Internal::Type::BaseModel
238
- attr_accessor activation_message: String?
239
-
240
- attr_accessor activations_limit: Integer?
241
-
242
- attr_accessor duration_count: Integer?
243
-
244
- attr_accessor duration_interval: String?
245
-
246
- def initialize: (
247
- ?activation_message: String?,
248
- ?activations_limit: Integer?,
249
- ?duration_count: Integer?,
250
- ?duration_interval: String?
251
- ) -> void
252
-
253
- def to_hash: -> {
254
- activation_message: String?,
255
- activations_limit: Integer?,
256
- duration_count: Integer?,
257
- duration_interval: String?
258
- }
259
- end
260
-
261
- def self?.variants: -> ::Array[Dodopayments::Models::ProductListResponse::Entitlement::integration_config]
262
- end
263
-
264
- type integration_type =
265
- :discord
266
- | :telegram
267
- | :github
268
- | :figma
269
- | :framer
270
- | :notion
271
- | :digital_files
272
- | :license_key
273
-
274
- module IntegrationType
275
- extend Dodopayments::Internal::Type::Enum
276
-
277
- DISCORD: :discord
278
- TELEGRAM: :telegram
279
- GITHUB: :github
280
- FIGMA: :figma
281
- FRAMER: :framer
282
- NOTION: :notion
283
- DIGITAL_FILES: :digital_files
284
- LICENSE_KEY: :license_key
285
-
286
- def self?.values: -> ::Array[Dodopayments::Models::ProductListResponse::Entitlement::integration_type]
287
- end
288
- end
289
88
  end
290
89
  end
291
90
  end
@@ -8,7 +8,7 @@ module Dodopayments
8
8
  credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
9
9
  description: String?,
10
10
  digital_product_delivery: Dodopayments::ProductUpdateParams::DigitalProductDelivery?,
11
- entitlement_ids: ::Array[String]?,
11
+ entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
12
12
  image_id: String?,
13
13
  license_key_activation_message: String?,
14
14
  license_key_activations_limit: Integer?,
@@ -37,7 +37,7 @@ module Dodopayments
37
37
 
38
38
  attr_accessor digital_product_delivery: Dodopayments::ProductUpdateParams::DigitalProductDelivery?
39
39
 
40
- attr_accessor entitlement_ids: ::Array[String]?
40
+ attr_accessor entitlements: ::Array[Dodopayments::AttachProductEntitlement]?
41
41
 
42
42
  attr_accessor image_id: String?
43
43
 
@@ -64,7 +64,7 @@ module Dodopayments
64
64
  ?credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
65
65
  ?description: String?,
66
66
  ?digital_product_delivery: Dodopayments::ProductUpdateParams::DigitalProductDelivery?,
67
- ?entitlement_ids: ::Array[String]?,
67
+ ?entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
68
68
  ?image_id: String?,
69
69
  ?license_key_activation_message: String?,
70
70
  ?license_key_activations_limit: Integer?,
@@ -84,7 +84,7 @@ module Dodopayments
84
84
  credit_entitlements: ::Array[Dodopayments::AttachCreditEntitlement]?,
85
85
  description: String?,
86
86
  digital_product_delivery: Dodopayments::ProductUpdateParams::DigitalProductDelivery?,
87
- entitlement_ids: ::Array[String]?,
87
+ entitlements: ::Array[Dodopayments::AttachProductEntitlement]?,
88
88
  image_id: String?,
89
89
  license_key_activation_message: String?,
90
90
  license_key_activations_limit: Integer?,
@@ -0,0 +1,73 @@
1
+ module Dodopayments
2
+ module Models
3
+ type scheduled_plan_change =
4
+ {
5
+ id: String,
6
+ addons: ::Array[Dodopayments::ScheduledPlanChange::Addon],
7
+ created_at: Time,
8
+ effective_at: Time,
9
+ product_id: String,
10
+ quantity: Integer,
11
+ product_description: String?,
12
+ product_name: String?
13
+ }
14
+
15
+ class ScheduledPlanChange < Dodopayments::Internal::Type::BaseModel
16
+ attr_accessor id: String
17
+
18
+ attr_accessor addons: ::Array[Dodopayments::ScheduledPlanChange::Addon]
19
+
20
+ attr_accessor created_at: Time
21
+
22
+ attr_accessor effective_at: Time
23
+
24
+ attr_accessor product_id: String
25
+
26
+ attr_accessor quantity: Integer
27
+
28
+ attr_accessor product_description: String?
29
+
30
+ attr_accessor product_name: String?
31
+
32
+ def initialize: (
33
+ id: String,
34
+ addons: ::Array[Dodopayments::ScheduledPlanChange::Addon],
35
+ created_at: Time,
36
+ effective_at: Time,
37
+ product_id: String,
38
+ quantity: Integer,
39
+ ?product_description: String?,
40
+ ?product_name: String?
41
+ ) -> void
42
+
43
+ def to_hash: -> {
44
+ id: String,
45
+ addons: ::Array[Dodopayments::ScheduledPlanChange::Addon],
46
+ created_at: Time,
47
+ effective_at: Time,
48
+ product_id: String,
49
+ quantity: Integer,
50
+ product_description: String?,
51
+ product_name: String?
52
+ }
53
+
54
+ type addon = { addon_id: String, name: String, quantity: Integer }
55
+
56
+ class Addon < Dodopayments::Internal::Type::BaseModel
57
+ attr_accessor addon_id: String
58
+
59
+ attr_accessor name: String
60
+
61
+ attr_accessor quantity: Integer
62
+
63
+ def initialize: (
64
+ addon_id: String,
65
+ name: String,
66
+ quantity: Integer
67
+ ) -> void
68
+
69
+ def to_hash: -> { addon_id: String, name: String, quantity: Integer }
70
+ end
71
+ end
72
+ end
73
+ end