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
@@ -0,0 +1,69 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_list_params =
4
+ {
5
+ integration_type: Dodopayments::Models::EntitlementListParams::integration_type,
6
+ page_number: Integer,
7
+ page_size: Integer
8
+ }
9
+ & Dodopayments::Internal::Type::request_parameters
10
+
11
+ class EntitlementListParams < Dodopayments::Internal::Type::BaseModel
12
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
13
+ include Dodopayments::Internal::Type::RequestParameters
14
+
15
+ attr_reader integration_type: Dodopayments::Models::EntitlementListParams::integration_type?
16
+
17
+ def integration_type=: (
18
+ Dodopayments::Models::EntitlementListParams::integration_type
19
+ ) -> Dodopayments::Models::EntitlementListParams::integration_type
20
+
21
+ attr_reader page_number: Integer?
22
+
23
+ def page_number=: (Integer) -> Integer
24
+
25
+ attr_reader page_size: Integer?
26
+
27
+ def page_size=: (Integer) -> Integer
28
+
29
+ def initialize: (
30
+ ?integration_type: Dodopayments::Models::EntitlementListParams::integration_type,
31
+ ?page_number: Integer,
32
+ ?page_size: Integer,
33
+ ?request_options: Dodopayments::request_opts
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ integration_type: Dodopayments::Models::EntitlementListParams::integration_type,
38
+ page_number: Integer,
39
+ page_size: Integer,
40
+ request_options: Dodopayments::RequestOptions
41
+ }
42
+
43
+ type integration_type =
44
+ :discord
45
+ | :telegram
46
+ | :github
47
+ | :figma
48
+ | :framer
49
+ | :notion
50
+ | :digital_files
51
+ | :license_key
52
+
53
+ module IntegrationType
54
+ extend Dodopayments::Internal::Type::Enum
55
+
56
+ DISCORD: :discord
57
+ TELEGRAM: :telegram
58
+ GITHUB: :github
59
+ FIGMA: :figma
60
+ FRAMER: :framer
61
+ NOTION: :notion
62
+ DIGITAL_FILES: :digital_files
63
+ LICENSE_KEY: :license_key
64
+
65
+ def self?.values: -> ::Array[Dodopayments::Models::EntitlementListParams::integration_type]
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,23 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_retrieve_params =
4
+ { id: String } & Dodopayments::Internal::Type::request_parameters
5
+
6
+ class EntitlementRetrieveParams < Dodopayments::Internal::Type::BaseModel
7
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
8
+ include Dodopayments::Internal::Type::RequestParameters
9
+
10
+ attr_accessor id: String
11
+
12
+ def initialize: (
13
+ id: String,
14
+ ?request_options: Dodopayments::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ id: String,
19
+ request_options: Dodopayments::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,46 @@
1
+ module Dodopayments
2
+ module Models
3
+ type entitlement_update_params =
4
+ {
5
+ id: String,
6
+ description: String?,
7
+ integration_config: Dodopayments::Models::integration_config?,
8
+ metadata: ::Hash[Symbol, String]?,
9
+ name: String?
10
+ }
11
+ & Dodopayments::Internal::Type::request_parameters
12
+
13
+ class EntitlementUpdateParams < Dodopayments::Internal::Type::BaseModel
14
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
15
+ include Dodopayments::Internal::Type::RequestParameters
16
+
17
+ attr_accessor id: String
18
+
19
+ attr_accessor description: String?
20
+
21
+ attr_accessor integration_config: Dodopayments::Models::integration_config?
22
+
23
+ attr_accessor metadata: ::Hash[Symbol, String]?
24
+
25
+ attr_accessor name: String?
26
+
27
+ def initialize: (
28
+ id: String,
29
+ ?description: String?,
30
+ ?integration_config: Dodopayments::Models::integration_config?,
31
+ ?metadata: ::Hash[Symbol, String]?,
32
+ ?name: String?,
33
+ ?request_options: Dodopayments::request_opts
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ id: String,
38
+ description: String?,
39
+ integration_config: Dodopayments::Models::integration_config?,
40
+ metadata: ::Hash[Symbol, String]?,
41
+ name: String?,
42
+ request_options: Dodopayments::RequestOptions
43
+ }
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,134 @@
1
+ module Dodopayments
2
+ module Models
3
+ class EntitlementGrant = Entitlements::EntitlementGrant
4
+
5
+ module Entitlements
6
+ type entitlement_grant =
7
+ {
8
+ id: String,
9
+ business_id: String,
10
+ created_at: Time,
11
+ customer_id: String,
12
+ entitlement_id: String,
13
+ external_id: String,
14
+ status: Dodopayments::Models::Entitlements::EntitlementGrant::status,
15
+ updated_at: Time,
16
+ delivered_at: Time?,
17
+ digital_product_delivery: Dodopayments::DigitalProductDelivery?,
18
+ error_code: String?,
19
+ error_message: String?,
20
+ license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
21
+ metadata: top,
22
+ oauth_expires_at: Time?,
23
+ oauth_url: String?,
24
+ payment_id: String?,
25
+ revocation_reason: String?,
26
+ revoked_at: Time?,
27
+ subscription_id: String?
28
+ }
29
+
30
+ class EntitlementGrant < Dodopayments::Internal::Type::BaseModel
31
+ attr_accessor id: String
32
+
33
+ attr_accessor business_id: String
34
+
35
+ attr_accessor created_at: Time
36
+
37
+ attr_accessor customer_id: String
38
+
39
+ attr_accessor entitlement_id: String
40
+
41
+ attr_accessor external_id: String
42
+
43
+ attr_accessor status: Dodopayments::Models::Entitlements::EntitlementGrant::status
44
+
45
+ attr_accessor updated_at: Time
46
+
47
+ attr_accessor delivered_at: Time?
48
+
49
+ attr_accessor digital_product_delivery: Dodopayments::DigitalProductDelivery?
50
+
51
+ attr_accessor error_code: String?
52
+
53
+ attr_accessor error_message: String?
54
+
55
+ attr_accessor license_key: Dodopayments::Entitlements::LicenseKeyGrant?
56
+
57
+ attr_reader metadata: top?
58
+
59
+ def metadata=: (top) -> top
60
+
61
+ attr_accessor oauth_expires_at: Time?
62
+
63
+ attr_accessor oauth_url: String?
64
+
65
+ attr_accessor payment_id: String?
66
+
67
+ attr_accessor revocation_reason: String?
68
+
69
+ attr_accessor revoked_at: Time?
70
+
71
+ attr_accessor subscription_id: String?
72
+
73
+ def initialize: (
74
+ id: String,
75
+ business_id: String,
76
+ created_at: Time,
77
+ customer_id: String,
78
+ entitlement_id: String,
79
+ external_id: String,
80
+ status: Dodopayments::Models::Entitlements::EntitlementGrant::status,
81
+ updated_at: Time,
82
+ ?delivered_at: Time?,
83
+ ?digital_product_delivery: Dodopayments::DigitalProductDelivery?,
84
+ ?error_code: String?,
85
+ ?error_message: String?,
86
+ ?license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
87
+ ?metadata: top,
88
+ ?oauth_expires_at: Time?,
89
+ ?oauth_url: String?,
90
+ ?payment_id: String?,
91
+ ?revocation_reason: String?,
92
+ ?revoked_at: Time?,
93
+ ?subscription_id: String?
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ id: String,
98
+ business_id: String,
99
+ created_at: Time,
100
+ customer_id: String,
101
+ entitlement_id: String,
102
+ external_id: String,
103
+ status: Dodopayments::Models::Entitlements::EntitlementGrant::status,
104
+ updated_at: Time,
105
+ delivered_at: Time?,
106
+ digital_product_delivery: Dodopayments::DigitalProductDelivery?,
107
+ error_code: String?,
108
+ error_message: String?,
109
+ license_key: Dodopayments::Entitlements::LicenseKeyGrant?,
110
+ metadata: top,
111
+ oauth_expires_at: Time?,
112
+ oauth_url: String?,
113
+ payment_id: String?,
114
+ revocation_reason: String?,
115
+ revoked_at: Time?,
116
+ subscription_id: String?
117
+ }
118
+
119
+ type status = :Pending | :Delivered | :Failed | :Revoked
120
+
121
+ module Status
122
+ extend Dodopayments::Internal::Type::Enum
123
+
124
+ PENDING: :Pending
125
+ DELIVERED: :Delivered
126
+ FAILED: :Failed
127
+ REVOKED: :Revoked
128
+
129
+ def self?.values: -> ::Array[Dodopayments::Models::Entitlements::EntitlementGrant::status]
130
+ end
131
+ end
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,30 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type file_delete_params =
5
+ { id: String, file_id: String }
6
+ & Dodopayments::Internal::Type::request_parameters
7
+
8
+ class FileDeleteParams < Dodopayments::Internal::Type::BaseModel
9
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
10
+ include Dodopayments::Internal::Type::RequestParameters
11
+
12
+ attr_accessor id: String
13
+
14
+ attr_accessor file_id: String
15
+
16
+ def initialize: (
17
+ id: String,
18
+ file_id: String,
19
+ ?request_options: Dodopayments::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ id: String,
24
+ file_id: String,
25
+ request_options: Dodopayments::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type file_upload_params =
5
+ { id: String } & Dodopayments::Internal::Type::request_parameters
6
+
7
+ class FileUploadParams < Dodopayments::Internal::Type::BaseModel
8
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
9
+ include Dodopayments::Internal::Type::RequestParameters
10
+
11
+ attr_accessor id: String
12
+
13
+ def initialize: (
14
+ id: String,
15
+ ?request_options: Dodopayments::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ id: String,
20
+ request_options: Dodopayments::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,15 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type file_upload_response = { file_id: String }
5
+
6
+ class FileUploadResponse < Dodopayments::Internal::Type::BaseModel
7
+ attr_accessor file_id: String
8
+
9
+ def initialize: (file_id: String) -> void
10
+
11
+ def to_hash: -> { file_id: String }
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,71 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type grant_list_params =
5
+ {
6
+ id: String,
7
+ customer_id: String,
8
+ page_number: Integer,
9
+ page_size: Integer,
10
+ status: Dodopayments::Models::Entitlements::GrantListParams::status
11
+ }
12
+ & Dodopayments::Internal::Type::request_parameters
13
+
14
+ class GrantListParams < Dodopayments::Internal::Type::BaseModel
15
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
16
+ include Dodopayments::Internal::Type::RequestParameters
17
+
18
+ attr_accessor id: String
19
+
20
+ attr_reader customer_id: String?
21
+
22
+ def customer_id=: (String) -> String
23
+
24
+ attr_reader page_number: Integer?
25
+
26
+ def page_number=: (Integer) -> Integer
27
+
28
+ attr_reader page_size: Integer?
29
+
30
+ def page_size=: (Integer) -> Integer
31
+
32
+ attr_reader status: Dodopayments::Models::Entitlements::GrantListParams::status?
33
+
34
+ def status=: (
35
+ Dodopayments::Models::Entitlements::GrantListParams::status
36
+ ) -> Dodopayments::Models::Entitlements::GrantListParams::status
37
+
38
+ def initialize: (
39
+ id: String,
40
+ ?customer_id: String,
41
+ ?page_number: Integer,
42
+ ?page_size: Integer,
43
+ ?status: Dodopayments::Models::Entitlements::GrantListParams::status,
44
+ ?request_options: Dodopayments::request_opts
45
+ ) -> void
46
+
47
+ def to_hash: -> {
48
+ id: String,
49
+ customer_id: String,
50
+ page_number: Integer,
51
+ page_size: Integer,
52
+ status: Dodopayments::Models::Entitlements::GrantListParams::status,
53
+ request_options: Dodopayments::RequestOptions
54
+ }
55
+
56
+ type status = :Pending | :Delivered | :Failed | :Revoked
57
+
58
+ module Status
59
+ extend Dodopayments::Internal::Type::Enum
60
+
61
+ PENDING: :Pending
62
+ DELIVERED: :Delivered
63
+ FAILED: :Failed
64
+ REVOKED: :Revoked
65
+
66
+ def self?.values: -> ::Array[Dodopayments::Models::Entitlements::GrantListParams::status]
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,30 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type grant_revoke_params =
5
+ { id: String, grant_id: String }
6
+ & Dodopayments::Internal::Type::request_parameters
7
+
8
+ class GrantRevokeParams < Dodopayments::Internal::Type::BaseModel
9
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
10
+ include Dodopayments::Internal::Type::RequestParameters
11
+
12
+ attr_accessor id: String
13
+
14
+ attr_accessor grant_id: String
15
+
16
+ def initialize: (
17
+ id: String,
18
+ grant_id: String,
19
+ ?request_options: Dodopayments::request_opts
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ id: String,
24
+ grant_id: String,
25
+ request_options: Dodopayments::RequestOptions
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,37 @@
1
+ module Dodopayments
2
+ module Models
3
+ module Entitlements
4
+ type license_key_grant =
5
+ {
6
+ activations_used: Integer,
7
+ key: String,
8
+ activations_limit: Integer?,
9
+ expires_at: Time?
10
+ }
11
+
12
+ class LicenseKeyGrant < Dodopayments::Internal::Type::BaseModel
13
+ attr_accessor activations_used: Integer
14
+
15
+ attr_accessor key: String
16
+
17
+ attr_accessor activations_limit: Integer?
18
+
19
+ attr_accessor expires_at: Time?
20
+
21
+ def initialize: (
22
+ activations_used: Integer,
23
+ key: String,
24
+ ?activations_limit: Integer?,
25
+ ?expires_at: Time?
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ activations_used: Integer,
30
+ key: String,
31
+ activations_limit: Integer?,
32
+ expires_at: Time?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,147 @@
1
+ module Dodopayments
2
+ module Models
3
+ type integration_config =
4
+ Dodopayments::IntegrationConfig::GitHubConfig
5
+ | Dodopayments::IntegrationConfig::DiscordConfig
6
+ | Dodopayments::IntegrationConfig::TelegramConfig
7
+ | Dodopayments::IntegrationConfig::FigmaConfig
8
+ | Dodopayments::IntegrationConfig::FramerConfig
9
+ | Dodopayments::IntegrationConfig::NotionConfig
10
+ | Dodopayments::IntegrationConfig::DigitalFilesConfig
11
+ | Dodopayments::IntegrationConfig::LicenseKeyConfig
12
+
13
+ module IntegrationConfig
14
+ extend Dodopayments::Internal::Type::Union
15
+
16
+ type github_config = { permission: String, target_id: String }
17
+
18
+ class GitHubConfig < Dodopayments::Internal::Type::BaseModel
19
+ attr_accessor permission: String
20
+
21
+ attr_accessor target_id: String
22
+
23
+ def initialize: (permission: String, target_id: String) -> void
24
+
25
+ def to_hash: -> { permission: String, target_id: String }
26
+ end
27
+
28
+ type discord_config = { guild_id: String, role_id: String? }
29
+
30
+ class DiscordConfig < Dodopayments::Internal::Type::BaseModel
31
+ attr_accessor guild_id: String
32
+
33
+ attr_accessor role_id: String?
34
+
35
+ def initialize: (guild_id: String, ?role_id: String?) -> void
36
+
37
+ def to_hash: -> { guild_id: String, role_id: String? }
38
+ end
39
+
40
+ type telegram_config = { chat_id: String }
41
+
42
+ class TelegramConfig < Dodopayments::Internal::Type::BaseModel
43
+ attr_accessor chat_id: String
44
+
45
+ def initialize: (chat_id: String) -> void
46
+
47
+ def to_hash: -> { chat_id: String }
48
+ end
49
+
50
+ type figma_config = { figma_file_id: String }
51
+
52
+ class FigmaConfig < Dodopayments::Internal::Type::BaseModel
53
+ attr_accessor figma_file_id: String
54
+
55
+ def initialize: (figma_file_id: String) -> void
56
+
57
+ def to_hash: -> { figma_file_id: String }
58
+ end
59
+
60
+ type framer_config = { framer_template_id: String }
61
+
62
+ class FramerConfig < Dodopayments::Internal::Type::BaseModel
63
+ attr_accessor framer_template_id: String
64
+
65
+ def initialize: (framer_template_id: String) -> void
66
+
67
+ def to_hash: -> { framer_template_id: String }
68
+ end
69
+
70
+ type notion_config = { notion_template_id: String }
71
+
72
+ class NotionConfig < Dodopayments::Internal::Type::BaseModel
73
+ attr_accessor notion_template_id: String
74
+
75
+ def initialize: (notion_template_id: String) -> void
76
+
77
+ def to_hash: -> { notion_template_id: String }
78
+ end
79
+
80
+ type digital_files_config =
81
+ {
82
+ digital_file_ids: ::Array[String],
83
+ external_url: String?,
84
+ instructions: String?,
85
+ legacy_file_ids: ::Array[String]?
86
+ }
87
+
88
+ class DigitalFilesConfig < Dodopayments::Internal::Type::BaseModel
89
+ attr_accessor digital_file_ids: ::Array[String]
90
+
91
+ attr_accessor external_url: String?
92
+
93
+ attr_accessor instructions: String?
94
+
95
+ attr_accessor legacy_file_ids: ::Array[String]?
96
+
97
+ def initialize: (
98
+ digital_file_ids: ::Array[String],
99
+ ?external_url: String?,
100
+ ?instructions: String?,
101
+ ?legacy_file_ids: ::Array[String]?
102
+ ) -> void
103
+
104
+ def to_hash: -> {
105
+ digital_file_ids: ::Array[String],
106
+ external_url: String?,
107
+ instructions: String?,
108
+ legacy_file_ids: ::Array[String]?
109
+ }
110
+ end
111
+
112
+ type license_key_config =
113
+ {
114
+ activation_message: String?,
115
+ activations_limit: Integer?,
116
+ duration_count: Integer?,
117
+ duration_interval: Dodopayments::Models::time_interval?
118
+ }
119
+
120
+ class LicenseKeyConfig < Dodopayments::Internal::Type::BaseModel
121
+ attr_accessor activation_message: String?
122
+
123
+ attr_accessor activations_limit: Integer?
124
+
125
+ attr_accessor duration_count: Integer?
126
+
127
+ attr_accessor duration_interval: Dodopayments::Models::time_interval?
128
+
129
+ def initialize: (
130
+ ?activation_message: String?,
131
+ ?activations_limit: Integer?,
132
+ ?duration_count: Integer?,
133
+ ?duration_interval: Dodopayments::Models::time_interval?
134
+ ) -> void
135
+
136
+ def to_hash: -> {
137
+ activation_message: String?,
138
+ activations_limit: Integer?,
139
+ duration_count: Integer?,
140
+ duration_interval: Dodopayments::Models::time_interval?
141
+ }
142
+ end
143
+
144
+ def self?.variants: -> ::Array[Dodopayments::Models::integration_config]
145
+ end
146
+ end
147
+ end