dodopayments 2.8.1 → 2.9.1

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 +19 -14
  14. data/lib/dodopayments/models/digital_product_delivery_file.rb +40 -9
  15. data/lib/dodopayments/models/entitlement.rb +97 -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 +56 -0
  19. data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +56 -0
  20. data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +56 -0
  21. data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +56 -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 +190 -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 +45 -0
  33. data/lib/dodopayments/models/integration_config.rb +217 -0
  34. data/lib/dodopayments/models/integration_config_response.rb +278 -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 +10 -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 +6 -153
  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 +63 -0
  60. data/lib/dodopayments/resources/entitlements/grants.rb +76 -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 +16 -18
  79. data/rbi/dodopayments/models/digital_product_delivery_file.rbi +51 -8
  80. data/rbi/dodopayments/models/entitlement.rbi +127 -0
  81. data/rbi/dodopayments/models/entitlement_create_params.rbi +115 -0
  82. data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
  83. data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +107 -0
  84. data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +107 -0
  85. data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +106 -0
  86. data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +107 -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 +269 -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 +68 -0
  98. data/rbi/dodopayments/models/integration_config.rbi +411 -0
  99. data/rbi/dodopayments/models/integration_config_response.rbi +531 -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 +8 -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 +6 -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 +45 -0
  125. data/rbi/dodopayments/resources/entitlements/grants.rbi +63 -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 +65 -0
  144. data/sig/dodopayments/models/entitlement_create_params.rbs +48 -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 +127 -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 +171 -0
  162. data/sig/dodopayments/models/integration_config_response.rbs +225 -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,107 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class EntitlementGrantRevokedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::EntitlementGrantRevokedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Detailed view of a single entitlement grant: who it's for, its lifecycle state,
19
+ # and any integration-specific delivery payload.
20
+ sig { returns(Dodopayments::Entitlements::EntitlementGrant) }
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(data: Dodopayments::Entitlements::EntitlementGrant::OrHash).void
25
+ end
26
+ attr_writer :data
27
+
28
+ # The timestamp of when the event occurred
29
+ sig { returns(Time) }
30
+ attr_accessor :timestamp
31
+
32
+ # The event type
33
+ sig do
34
+ returns(
35
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type::TaggedSymbol
36
+ )
37
+ end
38
+ attr_accessor :type
39
+
40
+ sig do
41
+ params(
42
+ business_id: String,
43
+ data: Dodopayments::Entitlements::EntitlementGrant::OrHash,
44
+ timestamp: Time,
45
+ type:
46
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type::OrSymbol
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # The business identifier
51
+ business_id:,
52
+ # Detailed view of a single entitlement grant: who it's for, its lifecycle state,
53
+ # and any integration-specific delivery payload.
54
+ data:,
55
+ # The timestamp of when the event occurred
56
+ timestamp:,
57
+ # The event type
58
+ type:
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ business_id: String,
66
+ data: Dodopayments::Entitlements::EntitlementGrant,
67
+ timestamp: Time,
68
+ type:
69
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type::TaggedSymbol
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+
76
+ # The event type
77
+ module Type
78
+ extend Dodopayments::Internal::Type::Enum
79
+
80
+ TaggedSymbol =
81
+ T.type_alias do
82
+ T.all(
83
+ Symbol,
84
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type
85
+ )
86
+ end
87
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
88
+
89
+ ENTITLEMENT_GRANT_REVOKED =
90
+ T.let(
91
+ :"entitlement_grant.revoked",
92
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type::TaggedSymbol
93
+ )
94
+
95
+ sig do
96
+ override.returns(
97
+ T::Array[
98
+ Dodopayments::EntitlementGrantRevokedWebhookEvent::Type::TaggedSymbol
99
+ ]
100
+ )
101
+ end
102
+ def self.values
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,44 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ module EntitlementIntegrationType
6
+ extend Dodopayments::Internal::Type::Enum
7
+
8
+ TaggedSymbol =
9
+ T.type_alias { T.all(Symbol, Dodopayments::EntitlementIntegrationType) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ DISCORD =
13
+ T.let(:discord, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
14
+ TELEGRAM =
15
+ T.let(:telegram, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
16
+ GITHUB =
17
+ T.let(:github, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
18
+ FIGMA =
19
+ T.let(:figma, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
20
+ FRAMER =
21
+ T.let(:framer, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
22
+ NOTION =
23
+ T.let(:notion, Dodopayments::EntitlementIntegrationType::TaggedSymbol)
24
+ DIGITAL_FILES =
25
+ T.let(
26
+ :digital_files,
27
+ Dodopayments::EntitlementIntegrationType::TaggedSymbol
28
+ )
29
+ LICENSE_KEY =
30
+ T.let(
31
+ :license_key,
32
+ Dodopayments::EntitlementIntegrationType::TaggedSymbol
33
+ )
34
+
35
+ sig do
36
+ override.returns(
37
+ T::Array[Dodopayments::EntitlementIntegrationType::TaggedSymbol]
38
+ )
39
+ end
40
+ def self.values
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,146 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class EntitlementListParams < Dodopayments::Internal::Type::BaseModel
6
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
7
+ include Dodopayments::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::EntitlementListParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Filter by integration type
18
+ sig do
19
+ returns(
20
+ T.nilable(
21
+ Dodopayments::EntitlementListParams::IntegrationType::OrSymbol
22
+ )
23
+ )
24
+ end
25
+ attr_reader :integration_type
26
+
27
+ sig do
28
+ params(
29
+ integration_type:
30
+ Dodopayments::EntitlementListParams::IntegrationType::OrSymbol
31
+ ).void
32
+ end
33
+ attr_writer :integration_type
34
+
35
+ # Page number (default 0)
36
+ sig { returns(T.nilable(Integer)) }
37
+ attr_reader :page_number
38
+
39
+ sig { params(page_number: Integer).void }
40
+ attr_writer :page_number
41
+
42
+ # Page size (default 10, max 100)
43
+ sig { returns(T.nilable(Integer)) }
44
+ attr_reader :page_size
45
+
46
+ sig { params(page_size: Integer).void }
47
+ attr_writer :page_size
48
+
49
+ sig do
50
+ params(
51
+ integration_type:
52
+ Dodopayments::EntitlementListParams::IntegrationType::OrSymbol,
53
+ page_number: Integer,
54
+ page_size: Integer,
55
+ request_options: Dodopayments::RequestOptions::OrHash
56
+ ).returns(T.attached_class)
57
+ end
58
+ def self.new(
59
+ # Filter by integration type
60
+ integration_type: nil,
61
+ # Page number (default 0)
62
+ page_number: nil,
63
+ # Page size (default 10, max 100)
64
+ page_size: nil,
65
+ request_options: {}
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ integration_type:
73
+ Dodopayments::EntitlementListParams::IntegrationType::OrSymbol,
74
+ page_number: Integer,
75
+ page_size: Integer,
76
+ request_options: Dodopayments::RequestOptions
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ # Filter by integration type
84
+ module IntegrationType
85
+ extend Dodopayments::Internal::Type::Enum
86
+
87
+ TaggedSymbol =
88
+ T.type_alias do
89
+ T.all(Symbol, Dodopayments::EntitlementListParams::IntegrationType)
90
+ end
91
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
92
+
93
+ DISCORD =
94
+ T.let(
95
+ :discord,
96
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
97
+ )
98
+ TELEGRAM =
99
+ T.let(
100
+ :telegram,
101
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
102
+ )
103
+ GITHUB =
104
+ T.let(
105
+ :github,
106
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
107
+ )
108
+ FIGMA =
109
+ T.let(
110
+ :figma,
111
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
112
+ )
113
+ FRAMER =
114
+ T.let(
115
+ :framer,
116
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
117
+ )
118
+ NOTION =
119
+ T.let(
120
+ :notion,
121
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
122
+ )
123
+ DIGITAL_FILES =
124
+ T.let(
125
+ :digital_files,
126
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
127
+ )
128
+ LICENSE_KEY =
129
+ T.let(
130
+ :license_key,
131
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
132
+ )
133
+
134
+ sig do
135
+ override.returns(
136
+ T::Array[
137
+ Dodopayments::EntitlementListParams::IntegrationType::TaggedSymbol
138
+ ]
139
+ )
140
+ end
141
+ def self.values
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class EntitlementRetrieveParams < Dodopayments::Internal::Type::BaseModel
6
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
7
+ include Dodopayments::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::EntitlementRetrieveParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ sig do
21
+ params(
22
+ id: String,
23
+ request_options: Dodopayments::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ { id: String, request_options: Dodopayments::RequestOptions }
32
+ )
33
+ end
34
+ def to_hash
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,111 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class EntitlementUpdateParams < Dodopayments::Internal::Type::BaseModel
6
+ extend Dodopayments::Internal::Type::RequestParameters::Converter
7
+ include Dodopayments::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ Dodopayments::EntitlementUpdateParams,
13
+ Dodopayments::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :id
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :description
22
+
23
+ # Integration-specific configuration supplied when creating or updating an
24
+ # entitlement. The shape required matches the entitlement's `integration_type`.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ T.any(
29
+ Dodopayments::IntegrationConfig::GitHubConfig,
30
+ Dodopayments::IntegrationConfig::DiscordConfig,
31
+ Dodopayments::IntegrationConfig::TelegramConfig,
32
+ Dodopayments::IntegrationConfig::FigmaConfig,
33
+ Dodopayments::IntegrationConfig::FramerConfig,
34
+ Dodopayments::IntegrationConfig::NotionConfig,
35
+ Dodopayments::IntegrationConfig::DigitalFilesConfig,
36
+ Dodopayments::IntegrationConfig::LicenseKeyConfig
37
+ )
38
+ )
39
+ )
40
+ end
41
+ attr_accessor :integration_config
42
+
43
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
44
+ attr_accessor :metadata
45
+
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :name
48
+
49
+ sig do
50
+ params(
51
+ id: String,
52
+ description: T.nilable(String),
53
+ integration_config:
54
+ T.nilable(
55
+ T.any(
56
+ Dodopayments::IntegrationConfig::GitHubConfig::OrHash,
57
+ Dodopayments::IntegrationConfig::DiscordConfig::OrHash,
58
+ Dodopayments::IntegrationConfig::TelegramConfig::OrHash,
59
+ Dodopayments::IntegrationConfig::FigmaConfig::OrHash,
60
+ Dodopayments::IntegrationConfig::FramerConfig::OrHash,
61
+ Dodopayments::IntegrationConfig::NotionConfig::OrHash,
62
+ Dodopayments::IntegrationConfig::DigitalFilesConfig::OrHash,
63
+ Dodopayments::IntegrationConfig::LicenseKeyConfig::OrHash
64
+ )
65
+ ),
66
+ metadata: T.nilable(T::Hash[Symbol, String]),
67
+ name: T.nilable(String),
68
+ request_options: Dodopayments::RequestOptions::OrHash
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ id:,
73
+ description: nil,
74
+ # Integration-specific configuration supplied when creating or updating an
75
+ # entitlement. The shape required matches the entitlement's `integration_type`.
76
+ integration_config: nil,
77
+ metadata: nil,
78
+ name: nil,
79
+ request_options: {}
80
+ )
81
+ end
82
+
83
+ sig do
84
+ override.returns(
85
+ {
86
+ id: String,
87
+ description: T.nilable(String),
88
+ integration_config:
89
+ T.nilable(
90
+ T.any(
91
+ Dodopayments::IntegrationConfig::GitHubConfig,
92
+ Dodopayments::IntegrationConfig::DiscordConfig,
93
+ Dodopayments::IntegrationConfig::TelegramConfig,
94
+ Dodopayments::IntegrationConfig::FigmaConfig,
95
+ Dodopayments::IntegrationConfig::FramerConfig,
96
+ Dodopayments::IntegrationConfig::NotionConfig,
97
+ Dodopayments::IntegrationConfig::DigitalFilesConfig,
98
+ Dodopayments::IntegrationConfig::LicenseKeyConfig
99
+ )
100
+ ),
101
+ metadata: T.nilable(T::Hash[Symbol, String]),
102
+ name: T.nilable(String),
103
+ request_options: Dodopayments::RequestOptions
104
+ }
105
+ )
106
+ end
107
+ def to_hash
108
+ end
109
+ end
110
+ end
111
+ end