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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +1 -1
- data/lib/dodopayments/client.rb +4 -0
- data/lib/dodopayments/models/attach_product_entitlement.rb +22 -0
- data/lib/dodopayments/models/cancellation_feedback.rb +21 -0
- data/lib/dodopayments/models/checkout_session_flags.rb +12 -1
- data/lib/dodopayments/models/checkout_session_request.rb +14 -1
- data/lib/dodopayments/models/credit_entitlements/credit_ledger_entry.rb +1 -0
- data/lib/dodopayments/models/credit_overage_reset_webhook_event.rb +52 -0
- data/lib/dodopayments/models/customer_list_entitlements_params.rb +20 -0
- data/lib/dodopayments/models/customer_list_entitlements_response.rb +105 -0
- data/lib/dodopayments/models/digital_product_delivery.rb +19 -14
- data/lib/dodopayments/models/digital_product_delivery_file.rb +40 -9
- data/lib/dodopayments/models/entitlement.rb +97 -0
- data/lib/dodopayments/models/entitlement_create_params.rb +54 -0
- data/lib/dodopayments/models/entitlement_delete_params.rb +20 -0
- data/lib/dodopayments/models/entitlement_grant_created_webhook_event.rb +56 -0
- data/lib/dodopayments/models/entitlement_grant_delivered_webhook_event.rb +56 -0
- data/lib/dodopayments/models/entitlement_grant_failed_webhook_event.rb +56 -0
- data/lib/dodopayments/models/entitlement_grant_revoked_webhook_event.rb +56 -0
- data/lib/dodopayments/models/entitlement_integration_type.rb +21 -0
- data/lib/dodopayments/models/entitlement_list_params.rb +55 -0
- data/lib/dodopayments/models/entitlement_retrieve_params.rb +20 -0
- data/lib/dodopayments/models/entitlement_update_params.rb +54 -0
- data/lib/dodopayments/models/entitlements/entitlement_grant.rb +190 -0
- data/lib/dodopayments/models/entitlements/file_delete_params.rb +28 -0
- data/lib/dodopayments/models/entitlements/file_upload_params.rb +22 -0
- data/lib/dodopayments/models/entitlements/file_upload_response.rb +23 -0
- data/lib/dodopayments/models/entitlements/grant_list_params.rb +68 -0
- data/lib/dodopayments/models/entitlements/grant_revoke_params.rb +28 -0
- data/lib/dodopayments/models/entitlements/license_key_grant.rb +45 -0
- data/lib/dodopayments/models/integration_config.rb +217 -0
- data/lib/dodopayments/models/integration_config_response.rb +278 -0
- data/lib/dodopayments/models/license_key_instance_list_params.rb +9 -1
- data/lib/dodopayments/models/one_time_product_cart_item.rb +15 -1
- data/lib/dodopayments/models/payment.rb +19 -3
- data/lib/dodopayments/models/payment_create_params.rb +23 -35
- data/lib/dodopayments/models/payment_create_response.rb +3 -33
- data/lib/dodopayments/models/product.rb +10 -217
- data/lib/dodopayments/models/product_create_params.rb +25 -6
- data/lib/dodopayments/models/product_entitlement_summary.rb +57 -0
- data/lib/dodopayments/models/product_list_response.rb +3 -218
- data/lib/dodopayments/models/product_update_params.rb +21 -7
- data/lib/dodopayments/models/scheduled_plan_change.rb +99 -0
- data/lib/dodopayments/models/subscription.rb +20 -102
- data/lib/dodopayments/models/subscription_create_params.rb +27 -37
- data/lib/dodopayments/models/subscription_create_response.rb +19 -3
- data/lib/dodopayments/models/subscription_list_response.rb +3 -103
- data/lib/dodopayments/models/subscription_update_params.rb +23 -1
- data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +11 -1
- data/lib/dodopayments/models/unwrap_webhook_event.rb +11 -1
- data/lib/dodopayments/models/update_subscription_plan_req.rb +10 -1
- data/lib/dodopayments/models/webhook_event_type.rb +1 -0
- data/lib/dodopayments/models/webhook_payload.rb +6 -153
- data/lib/dodopayments/models.rb +40 -0
- data/lib/dodopayments/resources/checkout_sessions.rb +6 -2
- data/lib/dodopayments/resources/customers.rb +20 -0
- data/lib/dodopayments/resources/entitlements/files.rb +63 -0
- data/lib/dodopayments/resources/entitlements/grants.rb +76 -0
- data/lib/dodopayments/resources/entitlements.rb +153 -0
- data/lib/dodopayments/resources/license_key_instances.rb +3 -1
- data/lib/dodopayments/resources/payments.rb +6 -2
- data/lib/dodopayments/resources/products.rb +4 -4
- data/lib/dodopayments/resources/subscriptions.rb +20 -5
- data/lib/dodopayments/resources/webhooks.rb +2 -2
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +30 -0
- data/rbi/dodopayments/client.rbi +3 -0
- data/rbi/dodopayments/models/attach_product_entitlement.rbi +35 -0
- data/rbi/dodopayments/models/cancellation_feedback.rbi +45 -0
- data/rbi/dodopayments/models/checkout_session_flags.rbi +20 -3
- data/rbi/dodopayments/models/checkout_session_request.rbi +18 -0
- data/rbi/dodopayments/models/credit_entitlements/credit_ledger_entry.rbi +5 -0
- data/rbi/dodopayments/models/credit_overage_reset_webhook_event.rbi +103 -0
- data/rbi/dodopayments/models/customer_list_entitlements_params.rbi +38 -0
- data/rbi/dodopayments/models/customer_list_entitlements_response.rbi +189 -0
- data/rbi/dodopayments/models/digital_product_delivery.rbi +16 -18
- data/rbi/dodopayments/models/digital_product_delivery_file.rbi +51 -8
- data/rbi/dodopayments/models/entitlement.rbi +127 -0
- data/rbi/dodopayments/models/entitlement_create_params.rbi +115 -0
- data/rbi/dodopayments/models/entitlement_delete_params.rbi +38 -0
- data/rbi/dodopayments/models/entitlement_grant_created_webhook_event.rbi +107 -0
- data/rbi/dodopayments/models/entitlement_grant_delivered_webhook_event.rbi +107 -0
- data/rbi/dodopayments/models/entitlement_grant_failed_webhook_event.rbi +106 -0
- data/rbi/dodopayments/models/entitlement_grant_revoked_webhook_event.rbi +107 -0
- data/rbi/dodopayments/models/entitlement_integration_type.rbi +44 -0
- data/rbi/dodopayments/models/entitlement_list_params.rbi +146 -0
- data/rbi/dodopayments/models/entitlement_retrieve_params.rbi +38 -0
- data/rbi/dodopayments/models/entitlement_update_params.rbi +111 -0
- data/rbi/dodopayments/models/entitlements/entitlement_grant.rbi +269 -0
- data/rbi/dodopayments/models/entitlements/file_delete_params.rbi +48 -0
- data/rbi/dodopayments/models/entitlements/file_upload_params.rbi +40 -0
- data/rbi/dodopayments/models/entitlements/file_upload_response.rbi +34 -0
- data/rbi/dodopayments/models/entitlements/grant_list_params.rbi +145 -0
- data/rbi/dodopayments/models/entitlements/grant_revoke_params.rbi +48 -0
- data/rbi/dodopayments/models/entitlements/license_key_grant.rbi +68 -0
- data/rbi/dodopayments/models/integration_config.rbi +411 -0
- data/rbi/dodopayments/models/integration_config_response.rbi +531 -0
- data/rbi/dodopayments/models/license_key_instance_list_params.rbi +8 -0
- data/rbi/dodopayments/models/one_time_product_cart_item.rbi +24 -3
- data/rbi/dodopayments/models/payment.rbi +31 -3
- data/rbi/dodopayments/models/payment_create_params.rbi +28 -56
- data/rbi/dodopayments/models/payment_create_response.rbi +3 -68
- data/rbi/dodopayments/models/product.rbi +8 -420
- data/rbi/dodopayments/models/product_create_params.rbi +43 -7
- data/rbi/dodopayments/models/product_entitlement_summary.rbi +88 -0
- data/rbi/dodopayments/models/product_list_response.rbi +3 -430
- data/rbi/dodopayments/models/product_update_params.rbi +35 -9
- data/rbi/dodopayments/models/scheduled_plan_change.rbi +141 -0
- data/rbi/dodopayments/models/subscription.rbi +24 -149
- data/rbi/dodopayments/models/subscription_create_params.rbi +36 -68
- data/rbi/dodopayments/models/subscription_create_response.rbi +47 -3
- data/rbi/dodopayments/models/subscription_list_response.rbi +4 -167
- data/rbi/dodopayments/models/subscription_update_params.rbi +27 -0
- data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +5 -0
- data/rbi/dodopayments/models/unwrap_webhook_event.rbi +5 -0
- data/rbi/dodopayments/models/update_subscription_plan_req.rbi +10 -0
- data/rbi/dodopayments/models/webhook_event_type.rbi +5 -0
- data/rbi/dodopayments/models/webhook_payload.rbi +6 -197
- data/rbi/dodopayments/models.rbi +46 -0
- data/rbi/dodopayments/resources/checkout_sessions.rbi +16 -0
- data/rbi/dodopayments/resources/customers.rbi +14 -0
- data/rbi/dodopayments/resources/entitlements/files.rbi +45 -0
- data/rbi/dodopayments/resources/entitlements/grants.rbi +63 -0
- data/rbi/dodopayments/resources/entitlements.rbi +143 -0
- data/rbi/dodopayments/resources/license_key_instances.rbi +3 -0
- data/rbi/dodopayments/resources/payments.rbi +10 -2
- data/rbi/dodopayments/resources/products.rbi +34 -7
- data/rbi/dodopayments/resources/subscriptions.rbi +31 -5
- data/rbi/dodopayments/resources/webhooks.rbi +10 -0
- data/sig/dodopayments/client.rbs +2 -0
- data/sig/dodopayments/models/attach_product_entitlement.rbs +13 -0
- data/sig/dodopayments/models/cancellation_feedback.rbs +28 -0
- data/sig/dodopayments/models/checkout_session_flags.rbs +10 -3
- data/sig/dodopayments/models/checkout_session_request.rbs +5 -0
- data/sig/dodopayments/models/credit_entitlements/credit_ledger_entry.rbs +2 -0
- data/sig/dodopayments/models/credit_overage_reset_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/customer_list_entitlements_params.rbs +23 -0
- data/sig/dodopayments/models/customer_list_entitlements_response.rbs +95 -0
- data/sig/dodopayments/models/digital_product_delivery.rbs +5 -5
- data/sig/dodopayments/models/digital_product_delivery_file.rbs +32 -5
- data/sig/dodopayments/models/entitlement.rbs +65 -0
- data/sig/dodopayments/models/entitlement_create_params.rbs +48 -0
- data/sig/dodopayments/models/entitlement_delete_params.rbs +23 -0
- data/sig/dodopayments/models/entitlement_grant_created_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_delivered_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_failed_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_grant_revoked_webhook_event.rbs +45 -0
- data/sig/dodopayments/models/entitlement_integration_type.rbs +28 -0
- data/sig/dodopayments/models/entitlement_list_params.rbs +69 -0
- data/sig/dodopayments/models/entitlement_retrieve_params.rbs +23 -0
- data/sig/dodopayments/models/entitlement_update_params.rbs +46 -0
- data/sig/dodopayments/models/entitlements/entitlement_grant.rbs +127 -0
- data/sig/dodopayments/models/entitlements/file_delete_params.rbs +30 -0
- data/sig/dodopayments/models/entitlements/file_upload_params.rbs +25 -0
- data/sig/dodopayments/models/entitlements/file_upload_response.rbs +15 -0
- data/sig/dodopayments/models/entitlements/grant_list_params.rbs +71 -0
- data/sig/dodopayments/models/entitlements/grant_revoke_params.rbs +30 -0
- data/sig/dodopayments/models/entitlements/license_key_grant.rbs +37 -0
- data/sig/dodopayments/models/integration_config.rbs +171 -0
- data/sig/dodopayments/models/integration_config_response.rbs +225 -0
- data/sig/dodopayments/models/license_key_instance_list_params.rbs +10 -1
- data/sig/dodopayments/models/one_time_product_cart_item.rbs +14 -3
- data/sig/dodopayments/models/payment.rbs +16 -4
- data/sig/dodopayments/models/payment_create_params.rbs +16 -27
- data/sig/dodopayments/models/payment_create_response.rbs +4 -27
- data/sig/dodopayments/models/product.rbs +4 -205
- data/sig/dodopayments/models/product_create_params.rbs +4 -4
- data/sig/dodopayments/models/product_entitlement_summary.rbs +40 -0
- data/sig/dodopayments/models/product_list_response.rbs +4 -205
- data/sig/dodopayments/models/product_update_params.rbs +4 -4
- data/sig/dodopayments/models/scheduled_plan_change.rbs +73 -0
- data/sig/dodopayments/models/subscription.rbs +14 -74
- data/sig/dodopayments/models/subscription_create_params.rbs +16 -27
- data/sig/dodopayments/models/subscription_create_response.rbs +16 -4
- data/sig/dodopayments/models/subscription_list_response.rbs +4 -74
- data/sig/dodopayments/models/subscription_update_params.rbs +12 -0
- data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +5 -0
- data/sig/dodopayments/models/unwrap_webhook_event.rbs +5 -0
- data/sig/dodopayments/models/update_subscription_plan_req.rbs +5 -0
- data/sig/dodopayments/models/webhook_event_type.rbs +2 -0
- data/sig/dodopayments/models/webhook_payload.rbs +8 -134
- data/sig/dodopayments/models.rbs +40 -0
- data/sig/dodopayments/resources/checkout_sessions.rbs +2 -0
- data/sig/dodopayments/resources/customers.rbs +5 -0
- data/sig/dodopayments/resources/entitlements/files.rbs +20 -0
- data/sig/dodopayments/resources/entitlements/grants.rbs +24 -0
- data/sig/dodopayments/resources/entitlements.rbs +46 -0
- data/sig/dodopayments/resources/license_key_instances.rbs +1 -0
- data/sig/dodopayments/resources/payments.rbs +3 -1
- data/sig/dodopayments/resources/products.rbs +2 -2
- data/sig/dodopayments/resources/subscriptions.rbs +7 -1
- data/sig/dodopayments/resources/webhooks.rbs +10 -0
- metadata +92 -2
|
@@ -11,25 +11,68 @@ module Dodopayments
|
|
|
11
11
|
)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Short-lived presigned URL for downloading the file.
|
|
14
15
|
sig { returns(String) }
|
|
15
|
-
attr_accessor :
|
|
16
|
+
attr_accessor :download_url
|
|
17
|
+
|
|
18
|
+
# Seconds until `download_url` expires.
|
|
19
|
+
sig { returns(Integer) }
|
|
20
|
+
attr_accessor :expires_in
|
|
16
21
|
|
|
22
|
+
# Identifier of the attached file.
|
|
17
23
|
sig { returns(String) }
|
|
18
|
-
attr_accessor :
|
|
24
|
+
attr_accessor :file_id
|
|
19
25
|
|
|
26
|
+
# Original filename of the attached file.
|
|
20
27
|
sig { returns(String) }
|
|
21
|
-
attr_accessor :
|
|
28
|
+
attr_accessor :filename
|
|
29
|
+
|
|
30
|
+
# Optional content-type declared at upload.
|
|
31
|
+
sig { returns(T.nilable(String)) }
|
|
32
|
+
attr_accessor :content_type
|
|
22
33
|
|
|
34
|
+
# Optional size of the file in bytes.
|
|
35
|
+
sig { returns(T.nilable(Integer)) }
|
|
36
|
+
attr_accessor :file_size
|
|
37
|
+
|
|
38
|
+
# One file in a digital-product delivery payload.
|
|
23
39
|
sig do
|
|
24
|
-
params(
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
params(
|
|
41
|
+
download_url: String,
|
|
42
|
+
expires_in: Integer,
|
|
43
|
+
file_id: String,
|
|
44
|
+
filename: String,
|
|
45
|
+
content_type: T.nilable(String),
|
|
46
|
+
file_size: T.nilable(Integer)
|
|
47
|
+
).returns(T.attached_class)
|
|
27
48
|
end
|
|
28
|
-
def self.new(
|
|
49
|
+
def self.new(
|
|
50
|
+
# Short-lived presigned URL for downloading the file.
|
|
51
|
+
download_url:,
|
|
52
|
+
# Seconds until `download_url` expires.
|
|
53
|
+
expires_in:,
|
|
54
|
+
# Identifier of the attached file.
|
|
55
|
+
file_id:,
|
|
56
|
+
# Original filename of the attached file.
|
|
57
|
+
filename:,
|
|
58
|
+
# Optional content-type declared at upload.
|
|
59
|
+
content_type: nil,
|
|
60
|
+
# Optional size of the file in bytes.
|
|
61
|
+
file_size: nil
|
|
62
|
+
)
|
|
29
63
|
end
|
|
30
64
|
|
|
31
65
|
sig do
|
|
32
|
-
override.returns(
|
|
66
|
+
override.returns(
|
|
67
|
+
{
|
|
68
|
+
download_url: String,
|
|
69
|
+
expires_in: Integer,
|
|
70
|
+
file_id: String,
|
|
71
|
+
filename: String,
|
|
72
|
+
content_type: T.nilable(String),
|
|
73
|
+
file_size: T.nilable(Integer)
|
|
74
|
+
}
|
|
75
|
+
)
|
|
33
76
|
end
|
|
34
77
|
def to_hash
|
|
35
78
|
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class Entitlement < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Dodopayments::Entitlement, Dodopayments::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Unique identifier of the entitlement.
|
|
12
|
+
sig { returns(String) }
|
|
13
|
+
attr_accessor :id
|
|
14
|
+
|
|
15
|
+
# Identifier of the business that owns this entitlement.
|
|
16
|
+
sig { returns(String) }
|
|
17
|
+
attr_accessor :business_id
|
|
18
|
+
|
|
19
|
+
# Timestamp when the entitlement was created.
|
|
20
|
+
sig { returns(Time) }
|
|
21
|
+
attr_accessor :created_at
|
|
22
|
+
|
|
23
|
+
# Integration-specific configuration. For `digital_files` entitlements this
|
|
24
|
+
# includes presigned download URLs for each attached file.
|
|
25
|
+
sig { returns(Dodopayments::IntegrationConfigResponse::Variants) }
|
|
26
|
+
attr_accessor :integration_config
|
|
27
|
+
|
|
28
|
+
# Platform integration this entitlement uses.
|
|
29
|
+
sig { returns(Dodopayments::EntitlementIntegrationType::TaggedSymbol) }
|
|
30
|
+
attr_accessor :integration_type
|
|
31
|
+
|
|
32
|
+
# Always `true` for entitlements returned by the public API; soft-deleted
|
|
33
|
+
# entitlements are not returned.
|
|
34
|
+
sig { returns(T::Boolean) }
|
|
35
|
+
attr_accessor :is_active
|
|
36
|
+
|
|
37
|
+
# Arbitrary key-value metadata supplied at creation or via PATCH.
|
|
38
|
+
sig { returns(T::Hash[Symbol, String]) }
|
|
39
|
+
attr_accessor :metadata
|
|
40
|
+
|
|
41
|
+
# Display name supplied at creation.
|
|
42
|
+
sig { returns(String) }
|
|
43
|
+
attr_accessor :name
|
|
44
|
+
|
|
45
|
+
# Timestamp when the entitlement was last modified.
|
|
46
|
+
sig { returns(Time) }
|
|
47
|
+
attr_accessor :updated_at
|
|
48
|
+
|
|
49
|
+
# Optional description supplied at creation.
|
|
50
|
+
sig { returns(T.nilable(String)) }
|
|
51
|
+
attr_accessor :description
|
|
52
|
+
|
|
53
|
+
# Detailed view of a single entitlement: identity, integration type,
|
|
54
|
+
# integration-specific configuration, and metadata.
|
|
55
|
+
sig do
|
|
56
|
+
params(
|
|
57
|
+
id: String,
|
|
58
|
+
business_id: String,
|
|
59
|
+
created_at: Time,
|
|
60
|
+
integration_config:
|
|
61
|
+
T.any(
|
|
62
|
+
Dodopayments::IntegrationConfigResponse::GitHubConfig::OrHash,
|
|
63
|
+
Dodopayments::IntegrationConfigResponse::DiscordConfig::OrHash,
|
|
64
|
+
Dodopayments::IntegrationConfigResponse::TelegramConfig::OrHash,
|
|
65
|
+
Dodopayments::IntegrationConfigResponse::FigmaConfig::OrHash,
|
|
66
|
+
Dodopayments::IntegrationConfigResponse::FramerConfig::OrHash,
|
|
67
|
+
Dodopayments::IntegrationConfigResponse::NotionConfig::OrHash,
|
|
68
|
+
Dodopayments::IntegrationConfigResponse::DigitalFilesConfig::OrHash,
|
|
69
|
+
Dodopayments::IntegrationConfigResponse::LicenseKeyConfig::OrHash
|
|
70
|
+
),
|
|
71
|
+
integration_type: Dodopayments::EntitlementIntegrationType::OrSymbol,
|
|
72
|
+
is_active: T::Boolean,
|
|
73
|
+
metadata: T::Hash[Symbol, String],
|
|
74
|
+
name: String,
|
|
75
|
+
updated_at: Time,
|
|
76
|
+
description: T.nilable(String)
|
|
77
|
+
).returns(T.attached_class)
|
|
78
|
+
end
|
|
79
|
+
def self.new(
|
|
80
|
+
# Unique identifier of the entitlement.
|
|
81
|
+
id:,
|
|
82
|
+
# Identifier of the business that owns this entitlement.
|
|
83
|
+
business_id:,
|
|
84
|
+
# Timestamp when the entitlement was created.
|
|
85
|
+
created_at:,
|
|
86
|
+
# Integration-specific configuration. For `digital_files` entitlements this
|
|
87
|
+
# includes presigned download URLs for each attached file.
|
|
88
|
+
integration_config:,
|
|
89
|
+
# Platform integration this entitlement uses.
|
|
90
|
+
integration_type:,
|
|
91
|
+
# Always `true` for entitlements returned by the public API; soft-deleted
|
|
92
|
+
# entitlements are not returned.
|
|
93
|
+
is_active:,
|
|
94
|
+
# Arbitrary key-value metadata supplied at creation or via PATCH.
|
|
95
|
+
metadata:,
|
|
96
|
+
# Display name supplied at creation.
|
|
97
|
+
name:,
|
|
98
|
+
# Timestamp when the entitlement was last modified.
|
|
99
|
+
updated_at:,
|
|
100
|
+
# Optional description supplied at creation.
|
|
101
|
+
description: nil
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
override.returns(
|
|
107
|
+
{
|
|
108
|
+
id: String,
|
|
109
|
+
business_id: String,
|
|
110
|
+
created_at: Time,
|
|
111
|
+
integration_config:
|
|
112
|
+
Dodopayments::IntegrationConfigResponse::Variants,
|
|
113
|
+
integration_type:
|
|
114
|
+
Dodopayments::EntitlementIntegrationType::TaggedSymbol,
|
|
115
|
+
is_active: T::Boolean,
|
|
116
|
+
metadata: T::Hash[Symbol, String],
|
|
117
|
+
name: String,
|
|
118
|
+
updated_at: Time,
|
|
119
|
+
description: T.nilable(String)
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
end
|
|
123
|
+
def to_hash
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class EntitlementCreateParams < 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::EntitlementCreateParams,
|
|
13
|
+
Dodopayments::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Platform-specific configuration (validated per integration_type)
|
|
18
|
+
sig do
|
|
19
|
+
returns(
|
|
20
|
+
T.any(
|
|
21
|
+
Dodopayments::IntegrationConfig::GitHubConfig,
|
|
22
|
+
Dodopayments::IntegrationConfig::DiscordConfig,
|
|
23
|
+
Dodopayments::IntegrationConfig::TelegramConfig,
|
|
24
|
+
Dodopayments::IntegrationConfig::FigmaConfig,
|
|
25
|
+
Dodopayments::IntegrationConfig::FramerConfig,
|
|
26
|
+
Dodopayments::IntegrationConfig::NotionConfig,
|
|
27
|
+
Dodopayments::IntegrationConfig::DigitalFilesConfig,
|
|
28
|
+
Dodopayments::IntegrationConfig::LicenseKeyConfig
|
|
29
|
+
)
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
attr_accessor :integration_config
|
|
33
|
+
|
|
34
|
+
# Which platform integration this entitlement uses
|
|
35
|
+
sig { returns(Dodopayments::EntitlementIntegrationType::OrSymbol) }
|
|
36
|
+
attr_accessor :integration_type
|
|
37
|
+
|
|
38
|
+
# Display name for this entitlement
|
|
39
|
+
sig { returns(String) }
|
|
40
|
+
attr_accessor :name
|
|
41
|
+
|
|
42
|
+
# Optional description
|
|
43
|
+
sig { returns(T.nilable(String)) }
|
|
44
|
+
attr_accessor :description
|
|
45
|
+
|
|
46
|
+
# Additional metadata for the entitlement
|
|
47
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
48
|
+
attr_reader :metadata
|
|
49
|
+
|
|
50
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
|
51
|
+
attr_writer :metadata
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
params(
|
|
55
|
+
integration_config:
|
|
56
|
+
T.any(
|
|
57
|
+
Dodopayments::IntegrationConfig::GitHubConfig::OrHash,
|
|
58
|
+
Dodopayments::IntegrationConfig::DiscordConfig::OrHash,
|
|
59
|
+
Dodopayments::IntegrationConfig::TelegramConfig::OrHash,
|
|
60
|
+
Dodopayments::IntegrationConfig::FigmaConfig::OrHash,
|
|
61
|
+
Dodopayments::IntegrationConfig::FramerConfig::OrHash,
|
|
62
|
+
Dodopayments::IntegrationConfig::NotionConfig::OrHash,
|
|
63
|
+
Dodopayments::IntegrationConfig::DigitalFilesConfig::OrHash,
|
|
64
|
+
Dodopayments::IntegrationConfig::LicenseKeyConfig::OrHash
|
|
65
|
+
),
|
|
66
|
+
integration_type: Dodopayments::EntitlementIntegrationType::OrSymbol,
|
|
67
|
+
name: String,
|
|
68
|
+
description: T.nilable(String),
|
|
69
|
+
metadata: T::Hash[Symbol, String],
|
|
70
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
|
71
|
+
).returns(T.attached_class)
|
|
72
|
+
end
|
|
73
|
+
def self.new(
|
|
74
|
+
# Platform-specific configuration (validated per integration_type)
|
|
75
|
+
integration_config:,
|
|
76
|
+
# Which platform integration this entitlement uses
|
|
77
|
+
integration_type:,
|
|
78
|
+
# Display name for this entitlement
|
|
79
|
+
name:,
|
|
80
|
+
# Optional description
|
|
81
|
+
description: nil,
|
|
82
|
+
# Additional metadata for the entitlement
|
|
83
|
+
metadata: nil,
|
|
84
|
+
request_options: {}
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
sig do
|
|
89
|
+
override.returns(
|
|
90
|
+
{
|
|
91
|
+
integration_config:
|
|
92
|
+
T.any(
|
|
93
|
+
Dodopayments::IntegrationConfig::GitHubConfig,
|
|
94
|
+
Dodopayments::IntegrationConfig::DiscordConfig,
|
|
95
|
+
Dodopayments::IntegrationConfig::TelegramConfig,
|
|
96
|
+
Dodopayments::IntegrationConfig::FigmaConfig,
|
|
97
|
+
Dodopayments::IntegrationConfig::FramerConfig,
|
|
98
|
+
Dodopayments::IntegrationConfig::NotionConfig,
|
|
99
|
+
Dodopayments::IntegrationConfig::DigitalFilesConfig,
|
|
100
|
+
Dodopayments::IntegrationConfig::LicenseKeyConfig
|
|
101
|
+
),
|
|
102
|
+
integration_type:
|
|
103
|
+
Dodopayments::EntitlementIntegrationType::OrSymbol,
|
|
104
|
+
name: String,
|
|
105
|
+
description: T.nilable(String),
|
|
106
|
+
metadata: T::Hash[Symbol, String],
|
|
107
|
+
request_options: Dodopayments::RequestOptions
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
def to_hash
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class EntitlementDeleteParams < 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::EntitlementDeleteParams,
|
|
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,107 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class EntitlementGrantCreatedWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::EntitlementGrantCreatedWebhookEvent,
|
|
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::EntitlementGrantCreatedWebhookEvent::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::EntitlementGrantCreatedWebhookEvent::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::EntitlementGrantCreatedWebhookEvent::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::EntitlementGrantCreatedWebhookEvent::Type
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
88
|
+
|
|
89
|
+
ENTITLEMENT_GRANT_CREATED =
|
|
90
|
+
T.let(
|
|
91
|
+
:"entitlement_grant.created",
|
|
92
|
+
Dodopayments::EntitlementGrantCreatedWebhookEvent::Type::TaggedSymbol
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
T::Array[
|
|
98
|
+
Dodopayments::EntitlementGrantCreatedWebhookEvent::Type::TaggedSymbol
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
def self.values
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class EntitlementGrantDeliveredWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::EntitlementGrantDeliveredWebhookEvent,
|
|
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::EntitlementGrantDeliveredWebhookEvent::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::EntitlementGrantDeliveredWebhookEvent::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::EntitlementGrantDeliveredWebhookEvent::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::EntitlementGrantDeliveredWebhookEvent::Type
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
88
|
+
|
|
89
|
+
ENTITLEMENT_GRANT_DELIVERED =
|
|
90
|
+
T.let(
|
|
91
|
+
:"entitlement_grant.delivered",
|
|
92
|
+
Dodopayments::EntitlementGrantDeliveredWebhookEvent::Type::TaggedSymbol
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
T::Array[
|
|
98
|
+
Dodopayments::EntitlementGrantDeliveredWebhookEvent::Type::TaggedSymbol
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
def self.values
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dodopayments
|
|
4
|
+
module Models
|
|
5
|
+
class EntitlementGrantFailedWebhookEvent < Dodopayments::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
Dodopayments::EntitlementGrantFailedWebhookEvent,
|
|
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::EntitlementGrantFailedWebhookEvent::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: Dodopayments::EntitlementGrantFailedWebhookEvent::Type::OrSymbol
|
|
46
|
+
).returns(T.attached_class)
|
|
47
|
+
end
|
|
48
|
+
def self.new(
|
|
49
|
+
# The business identifier
|
|
50
|
+
business_id:,
|
|
51
|
+
# Detailed view of a single entitlement grant: who it's for, its lifecycle state,
|
|
52
|
+
# and any integration-specific delivery payload.
|
|
53
|
+
data:,
|
|
54
|
+
# The timestamp of when the event occurred
|
|
55
|
+
timestamp:,
|
|
56
|
+
# The event type
|
|
57
|
+
type:
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
sig do
|
|
62
|
+
override.returns(
|
|
63
|
+
{
|
|
64
|
+
business_id: String,
|
|
65
|
+
data: Dodopayments::Entitlements::EntitlementGrant,
|
|
66
|
+
timestamp: Time,
|
|
67
|
+
type:
|
|
68
|
+
Dodopayments::EntitlementGrantFailedWebhookEvent::Type::TaggedSymbol
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
def to_hash
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# The event type
|
|
76
|
+
module Type
|
|
77
|
+
extend Dodopayments::Internal::Type::Enum
|
|
78
|
+
|
|
79
|
+
TaggedSymbol =
|
|
80
|
+
T.type_alias do
|
|
81
|
+
T.all(
|
|
82
|
+
Symbol,
|
|
83
|
+
Dodopayments::EntitlementGrantFailedWebhookEvent::Type
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
87
|
+
|
|
88
|
+
ENTITLEMENT_GRANT_FAILED =
|
|
89
|
+
T.let(
|
|
90
|
+
:"entitlement_grant.failed",
|
|
91
|
+
Dodopayments::EntitlementGrantFailedWebhookEvent::Type::TaggedSymbol
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
sig do
|
|
95
|
+
override.returns(
|
|
96
|
+
T::Array[
|
|
97
|
+
Dodopayments::EntitlementGrantFailedWebhookEvent::Type::TaggedSymbol
|
|
98
|
+
]
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
def self.values
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|