dodopayments 1.55.8 → 1.56.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 (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/dodopayments/client.rb +4 -4
  5. data/lib/dodopayments/internal/type/union.rb +9 -7
  6. data/lib/dodopayments/models/dispute_accepted_webhook_event.rb +76 -0
  7. data/lib/dodopayments/models/dispute_cancelled_webhook_event.rb +76 -0
  8. data/lib/dodopayments/models/dispute_challenged_webhook_event.rb +76 -0
  9. data/lib/dodopayments/models/dispute_expired_webhook_event.rb +76 -0
  10. data/lib/dodopayments/models/dispute_lost_webhook_event.rb +76 -0
  11. data/lib/dodopayments/models/dispute_opened_webhook_event.rb +76 -0
  12. data/lib/dodopayments/models/dispute_won_webhook_event.rb +76 -0
  13. data/lib/dodopayments/models/license_key_created_webhook_event.rb +76 -0
  14. data/lib/dodopayments/models/payment_cancelled_webhook_event.rb +76 -0
  15. data/lib/dodopayments/models/payment_failed_webhook_event.rb +76 -0
  16. data/lib/dodopayments/models/payment_processing_webhook_event.rb +76 -0
  17. data/lib/dodopayments/models/payment_succeeded_webhook_event.rb +76 -0
  18. data/lib/dodopayments/models/refund_failed_webhook_event.rb +76 -0
  19. data/lib/dodopayments/models/refund_succeeded_webhook_event.rb +76 -0
  20. data/lib/dodopayments/models/subscription_active_webhook_event.rb +76 -0
  21. data/lib/dodopayments/models/subscription_cancelled_webhook_event.rb +76 -0
  22. data/lib/dodopayments/models/subscription_expired_webhook_event.rb +76 -0
  23. data/lib/dodopayments/models/subscription_failed_webhook_event.rb +76 -0
  24. data/lib/dodopayments/models/subscription_on_hold_webhook_event.rb +76 -0
  25. data/lib/dodopayments/models/subscription_plan_changed_webhook_event.rb +76 -0
  26. data/lib/dodopayments/models/subscription_renewed_webhook_event.rb +76 -0
  27. data/lib/dodopayments/models/unsafe_unwrap_webhook_event.rb +54 -0
  28. data/lib/dodopayments/models/unwrap_webhook_event.rb +54 -0
  29. data/lib/dodopayments/models/webhook_unsafe_unwrap_params.rb +14 -0
  30. data/lib/dodopayments/models/webhook_unwrap_params.rb +14 -0
  31. data/lib/dodopayments/models.rb +50 -0
  32. data/lib/dodopayments/resources/webhooks.rb +16 -0
  33. data/lib/dodopayments/version.rb +1 -1
  34. data/lib/dodopayments.rb +49 -3
  35. data/rbi/dodopayments/client.rbi +3 -3
  36. data/rbi/dodopayments/models/dispute_accepted_webhook_event.rbi +182 -0
  37. data/rbi/dodopayments/models/dispute_cancelled_webhook_event.rbi +182 -0
  38. data/rbi/dodopayments/models/dispute_challenged_webhook_event.rbi +183 -0
  39. data/rbi/dodopayments/models/dispute_expired_webhook_event.rbi +182 -0
  40. data/rbi/dodopayments/models/dispute_lost_webhook_event.rbi +176 -0
  41. data/rbi/dodopayments/models/dispute_opened_webhook_event.rbi +180 -0
  42. data/rbi/dodopayments/models/dispute_won_webhook_event.rbi +176 -0
  43. data/rbi/dodopayments/models/license_key_created_webhook_event.rbi +183 -0
  44. data/rbi/dodopayments/models/payment_cancelled_webhook_event.rbi +182 -0
  45. data/rbi/dodopayments/models/payment_failed_webhook_event.rbi +180 -0
  46. data/rbi/dodopayments/models/payment_processing_webhook_event.rbi +183 -0
  47. data/rbi/dodopayments/models/payment_succeeded_webhook_event.rbi +182 -0
  48. data/rbi/dodopayments/models/refund_failed_webhook_event.rbi +178 -0
  49. data/rbi/dodopayments/models/refund_succeeded_webhook_event.rbi +182 -0
  50. data/rbi/dodopayments/models/subscription_active_webhook_event.rbi +185 -0
  51. data/rbi/dodopayments/models/subscription_cancelled_webhook_event.rbi +185 -0
  52. data/rbi/dodopayments/models/subscription_expired_webhook_event.rbi +185 -0
  53. data/rbi/dodopayments/models/subscription_failed_webhook_event.rbi +185 -0
  54. data/rbi/dodopayments/models/subscription_on_hold_webhook_event.rbi +185 -0
  55. data/rbi/dodopayments/models/subscription_plan_changed_webhook_event.rbi +189 -0
  56. data/rbi/dodopayments/models/subscription_renewed_webhook_event.rbi +185 -0
  57. data/rbi/dodopayments/models/unsafe_unwrap_webhook_event.rbi +44 -0
  58. data/rbi/dodopayments/models/unwrap_webhook_event.rbi +42 -0
  59. data/rbi/dodopayments/models/webhook_unsafe_unwrap_params.rbi +32 -0
  60. data/rbi/dodopayments/models/webhook_unwrap_params.rbi +32 -0
  61. data/rbi/dodopayments/models.rbi +65 -0
  62. data/rbi/dodopayments/resources/webhooks.rbi +66 -0
  63. data/sig/dodopayments/client.rbs +2 -2
  64. data/sig/dodopayments/models/dispute_accepted_webhook_event.rbs +76 -0
  65. data/sig/dodopayments/models/dispute_cancelled_webhook_event.rbs +76 -0
  66. data/sig/dodopayments/models/dispute_challenged_webhook_event.rbs +76 -0
  67. data/sig/dodopayments/models/dispute_expired_webhook_event.rbs +76 -0
  68. data/sig/dodopayments/models/dispute_lost_webhook_event.rbs +76 -0
  69. data/sig/dodopayments/models/dispute_opened_webhook_event.rbs +76 -0
  70. data/sig/dodopayments/models/dispute_won_webhook_event.rbs +76 -0
  71. data/sig/dodopayments/models/license_key_created_webhook_event.rbs +76 -0
  72. data/sig/dodopayments/models/payment_cancelled_webhook_event.rbs +76 -0
  73. data/sig/dodopayments/models/payment_failed_webhook_event.rbs +76 -0
  74. data/sig/dodopayments/models/payment_processing_webhook_event.rbs +76 -0
  75. data/sig/dodopayments/models/payment_succeeded_webhook_event.rbs +76 -0
  76. data/sig/dodopayments/models/refund_failed_webhook_event.rbs +76 -0
  77. data/sig/dodopayments/models/refund_succeeded_webhook_event.rbs +76 -0
  78. data/sig/dodopayments/models/subscription_active_webhook_event.rbs +76 -0
  79. data/sig/dodopayments/models/subscription_cancelled_webhook_event.rbs +76 -0
  80. data/sig/dodopayments/models/subscription_expired_webhook_event.rbs +76 -0
  81. data/sig/dodopayments/models/subscription_failed_webhook_event.rbs +76 -0
  82. data/sig/dodopayments/models/subscription_on_hold_webhook_event.rbs +76 -0
  83. data/sig/dodopayments/models/subscription_plan_changed_webhook_event.rbs +76 -0
  84. data/sig/dodopayments/models/subscription_renewed_webhook_event.rbs +76 -0
  85. data/sig/dodopayments/models/unsafe_unwrap_webhook_event.rbs +32 -0
  86. data/sig/dodopayments/models/unwrap_webhook_event.rbs +32 -0
  87. data/sig/dodopayments/models/webhook_unsafe_unwrap_params.rbs +15 -0
  88. data/sig/dodopayments/models/webhook_unwrap_params.rbs +15 -0
  89. data/sig/dodopayments/models.rbs +50 -0
  90. data/sig/dodopayments/resources/webhooks.rbs +48 -0
  91. metadata +77 -2
@@ -0,0 +1,182 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class PaymentSucceededWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::PaymentSucceededWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::PaymentSucceededWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::PaymentSucceededWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(Dodopayments::PaymentSucceededWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::PaymentSucceededWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::PaymentSucceededWebhookEvent::Type::OrSymbol
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The business identifier
49
+ business_id:,
50
+ # Event-specific data
51
+ data:,
52
+ # The timestamp of when the event occurred
53
+ timestamp:,
54
+ # The event type
55
+ type:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ business_id: String,
63
+ data: Dodopayments::PaymentSucceededWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type: Dodopayments::PaymentSucceededWebhookEvent::Type::TaggedSymbol
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ class Data < Dodopayments::Models::Payment
73
+ OrHash =
74
+ T.type_alias do
75
+ T.any(
76
+ Dodopayments::PaymentSucceededWebhookEvent::Data,
77
+ Dodopayments::Internal::AnyHash
78
+ )
79
+ end
80
+
81
+ # The type of payload in the data field
82
+ sig do
83
+ returns(
84
+ T.nilable(
85
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
86
+ )
87
+ )
88
+ end
89
+ attr_reader :payload_type
90
+
91
+ sig do
92
+ params(
93
+ payload_type:
94
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::OrSymbol
95
+ ).void
96
+ end
97
+ attr_writer :payload_type
98
+
99
+ # Event-specific data
100
+ sig do
101
+ params(
102
+ payload_type:
103
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::OrSymbol
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ # The type of payload in the data field
108
+ payload_type: nil
109
+ )
110
+ end
111
+
112
+ sig do
113
+ override.returns(
114
+ {
115
+ payload_type:
116
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # The type of payload in the data field
124
+ module PayloadType
125
+ extend Dodopayments::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(
130
+ Symbol,
131
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType
132
+ )
133
+ end
134
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
135
+
136
+ PAYMENT =
137
+ T.let(
138
+ :Payment,
139
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
140
+ )
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[
145
+ Dodopayments::PaymentSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
146
+ ]
147
+ )
148
+ end
149
+ def self.values
150
+ end
151
+ end
152
+ end
153
+
154
+ # The event type
155
+ module Type
156
+ extend Dodopayments::Internal::Type::Enum
157
+
158
+ TaggedSymbol =
159
+ T.type_alias do
160
+ T.all(Symbol, Dodopayments::PaymentSucceededWebhookEvent::Type)
161
+ end
162
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
163
+
164
+ PAYMENT_SUCCEEDED =
165
+ T.let(
166
+ :"payment.succeeded",
167
+ Dodopayments::PaymentSucceededWebhookEvent::Type::TaggedSymbol
168
+ )
169
+
170
+ sig do
171
+ override.returns(
172
+ T::Array[
173
+ Dodopayments::PaymentSucceededWebhookEvent::Type::TaggedSymbol
174
+ ]
175
+ )
176
+ end
177
+ def self.values
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,178 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class RefundFailedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::RefundFailedWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::RefundFailedWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(data: Dodopayments::RefundFailedWebhookEvent::Data::OrHash).void
24
+ end
25
+ attr_writer :data
26
+
27
+ # The timestamp of when the event occurred
28
+ sig { returns(Time) }
29
+ attr_accessor :timestamp
30
+
31
+ # The event type
32
+ sig do
33
+ returns(Dodopayments::RefundFailedWebhookEvent::Type::TaggedSymbol)
34
+ end
35
+ attr_accessor :type
36
+
37
+ sig do
38
+ params(
39
+ business_id: String,
40
+ data: Dodopayments::RefundFailedWebhookEvent::Data::OrHash,
41
+ timestamp: Time,
42
+ type: Dodopayments::RefundFailedWebhookEvent::Type::OrSymbol
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # The business identifier
47
+ business_id:,
48
+ # Event-specific data
49
+ data:,
50
+ # The timestamp of when the event occurred
51
+ timestamp:,
52
+ # The event type
53
+ type:
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ business_id: String,
61
+ data: Dodopayments::RefundFailedWebhookEvent::Data,
62
+ timestamp: Time,
63
+ type: Dodopayments::RefundFailedWebhookEvent::Type::TaggedSymbol
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+
70
+ class Data < Dodopayments::Models::Refund
71
+ OrHash =
72
+ T.type_alias do
73
+ T.any(
74
+ Dodopayments::RefundFailedWebhookEvent::Data,
75
+ Dodopayments::Internal::AnyHash
76
+ )
77
+ end
78
+
79
+ # The type of payload in the data field
80
+ sig do
81
+ returns(
82
+ T.nilable(
83
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::TaggedSymbol
84
+ )
85
+ )
86
+ end
87
+ attr_reader :payload_type
88
+
89
+ sig do
90
+ params(
91
+ payload_type:
92
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::OrSymbol
93
+ ).void
94
+ end
95
+ attr_writer :payload_type
96
+
97
+ # Event-specific data
98
+ sig do
99
+ params(
100
+ payload_type:
101
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::OrSymbol
102
+ ).returns(T.attached_class)
103
+ end
104
+ def self.new(
105
+ # The type of payload in the data field
106
+ payload_type: nil
107
+ )
108
+ end
109
+
110
+ sig do
111
+ override.returns(
112
+ {
113
+ payload_type:
114
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::TaggedSymbol
115
+ }
116
+ )
117
+ end
118
+ def to_hash
119
+ end
120
+
121
+ # The type of payload in the data field
122
+ module PayloadType
123
+ extend Dodopayments::Internal::Type::Enum
124
+
125
+ TaggedSymbol =
126
+ T.type_alias do
127
+ T.all(
128
+ Symbol,
129
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType
130
+ )
131
+ end
132
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
133
+
134
+ REFUND =
135
+ T.let(
136
+ :Refund,
137
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::TaggedSymbol
138
+ )
139
+
140
+ sig do
141
+ override.returns(
142
+ T::Array[
143
+ Dodopayments::RefundFailedWebhookEvent::Data::PayloadType::TaggedSymbol
144
+ ]
145
+ )
146
+ end
147
+ def self.values
148
+ end
149
+ end
150
+ end
151
+
152
+ # The event type
153
+ module Type
154
+ extend Dodopayments::Internal::Type::Enum
155
+
156
+ TaggedSymbol =
157
+ T.type_alias do
158
+ T.all(Symbol, Dodopayments::RefundFailedWebhookEvent::Type)
159
+ end
160
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
161
+
162
+ REFUND_FAILED =
163
+ T.let(
164
+ :"refund.failed",
165
+ Dodopayments::RefundFailedWebhookEvent::Type::TaggedSymbol
166
+ )
167
+
168
+ sig do
169
+ override.returns(
170
+ T::Array[Dodopayments::RefundFailedWebhookEvent::Type::TaggedSymbol]
171
+ )
172
+ end
173
+ def self.values
174
+ end
175
+ end
176
+ end
177
+ end
178
+ end
@@ -0,0 +1,182 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class RefundSucceededWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::RefundSucceededWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::RefundSucceededWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::RefundSucceededWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(Dodopayments::RefundSucceededWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::RefundSucceededWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::RefundSucceededWebhookEvent::Type::OrSymbol
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ # The business identifier
49
+ business_id:,
50
+ # Event-specific data
51
+ data:,
52
+ # The timestamp of when the event occurred
53
+ timestamp:,
54
+ # The event type
55
+ type:
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ business_id: String,
63
+ data: Dodopayments::RefundSucceededWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type: Dodopayments::RefundSucceededWebhookEvent::Type::TaggedSymbol
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ class Data < Dodopayments::Models::Refund
73
+ OrHash =
74
+ T.type_alias do
75
+ T.any(
76
+ Dodopayments::RefundSucceededWebhookEvent::Data,
77
+ Dodopayments::Internal::AnyHash
78
+ )
79
+ end
80
+
81
+ # The type of payload in the data field
82
+ sig do
83
+ returns(
84
+ T.nilable(
85
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
86
+ )
87
+ )
88
+ end
89
+ attr_reader :payload_type
90
+
91
+ sig do
92
+ params(
93
+ payload_type:
94
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::OrSymbol
95
+ ).void
96
+ end
97
+ attr_writer :payload_type
98
+
99
+ # Event-specific data
100
+ sig do
101
+ params(
102
+ payload_type:
103
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::OrSymbol
104
+ ).returns(T.attached_class)
105
+ end
106
+ def self.new(
107
+ # The type of payload in the data field
108
+ payload_type: nil
109
+ )
110
+ end
111
+
112
+ sig do
113
+ override.returns(
114
+ {
115
+ payload_type:
116
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # The type of payload in the data field
124
+ module PayloadType
125
+ extend Dodopayments::Internal::Type::Enum
126
+
127
+ TaggedSymbol =
128
+ T.type_alias do
129
+ T.all(
130
+ Symbol,
131
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType
132
+ )
133
+ end
134
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
135
+
136
+ REFUND =
137
+ T.let(
138
+ :Refund,
139
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
140
+ )
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[
145
+ Dodopayments::RefundSucceededWebhookEvent::Data::PayloadType::TaggedSymbol
146
+ ]
147
+ )
148
+ end
149
+ def self.values
150
+ end
151
+ end
152
+ end
153
+
154
+ # The event type
155
+ module Type
156
+ extend Dodopayments::Internal::Type::Enum
157
+
158
+ TaggedSymbol =
159
+ T.type_alias do
160
+ T.all(Symbol, Dodopayments::RefundSucceededWebhookEvent::Type)
161
+ end
162
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
163
+
164
+ REFUND_SUCCEEDED =
165
+ T.let(
166
+ :"refund.succeeded",
167
+ Dodopayments::RefundSucceededWebhookEvent::Type::TaggedSymbol
168
+ )
169
+
170
+ sig do
171
+ override.returns(
172
+ T::Array[
173
+ Dodopayments::RefundSucceededWebhookEvent::Type::TaggedSymbol
174
+ ]
175
+ )
176
+ end
177
+ def self.values
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,185 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class SubscriptionActiveWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::SubscriptionActiveWebhookEvent,
10
+ Dodopayments::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The business identifier
15
+ sig { returns(String) }
16
+ attr_accessor :business_id
17
+
18
+ # Event-specific data
19
+ sig { returns(Dodopayments::SubscriptionActiveWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::SubscriptionActiveWebhookEvent::Data::OrHash
25
+ ).void
26
+ end
27
+ attr_writer :data
28
+
29
+ # The timestamp of when the event occurred
30
+ sig { returns(Time) }
31
+ attr_accessor :timestamp
32
+
33
+ # The event type
34
+ sig do
35
+ returns(
36
+ Dodopayments::SubscriptionActiveWebhookEvent::Type::TaggedSymbol
37
+ )
38
+ end
39
+ attr_accessor :type
40
+
41
+ sig do
42
+ params(
43
+ business_id: String,
44
+ data: Dodopayments::SubscriptionActiveWebhookEvent::Data::OrHash,
45
+ timestamp: Time,
46
+ type: Dodopayments::SubscriptionActiveWebhookEvent::Type::OrSymbol
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # The business identifier
51
+ business_id:,
52
+ # Event-specific data
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::SubscriptionActiveWebhookEvent::Data,
66
+ timestamp: Time,
67
+ type:
68
+ Dodopayments::SubscriptionActiveWebhookEvent::Type::TaggedSymbol
69
+ }
70
+ )
71
+ end
72
+ def to_hash
73
+ end
74
+
75
+ class Data < Dodopayments::Models::Subscription
76
+ OrHash =
77
+ T.type_alias do
78
+ T.any(
79
+ Dodopayments::SubscriptionActiveWebhookEvent::Data,
80
+ Dodopayments::Internal::AnyHash
81
+ )
82
+ end
83
+
84
+ # The type of payload in the data field
85
+ sig do
86
+ returns(
87
+ T.nilable(
88
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::TaggedSymbol
89
+ )
90
+ )
91
+ end
92
+ attr_reader :payload_type
93
+
94
+ sig do
95
+ params(
96
+ payload_type:
97
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::OrSymbol
98
+ ).void
99
+ end
100
+ attr_writer :payload_type
101
+
102
+ # Event-specific data
103
+ sig do
104
+ params(
105
+ payload_type:
106
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::OrSymbol
107
+ ).returns(T.attached_class)
108
+ end
109
+ def self.new(
110
+ # The type of payload in the data field
111
+ payload_type: nil
112
+ )
113
+ end
114
+
115
+ sig do
116
+ override.returns(
117
+ {
118
+ payload_type:
119
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::TaggedSymbol
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ # The type of payload in the data field
127
+ module PayloadType
128
+ extend Dodopayments::Internal::Type::Enum
129
+
130
+ TaggedSymbol =
131
+ T.type_alias do
132
+ T.all(
133
+ Symbol,
134
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType
135
+ )
136
+ end
137
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
138
+
139
+ SUBSCRIPTION =
140
+ T.let(
141
+ :Subscription,
142
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::TaggedSymbol
143
+ )
144
+
145
+ sig do
146
+ override.returns(
147
+ T::Array[
148
+ Dodopayments::SubscriptionActiveWebhookEvent::Data::PayloadType::TaggedSymbol
149
+ ]
150
+ )
151
+ end
152
+ def self.values
153
+ end
154
+ end
155
+ end
156
+
157
+ # The event type
158
+ module Type
159
+ extend Dodopayments::Internal::Type::Enum
160
+
161
+ TaggedSymbol =
162
+ T.type_alias do
163
+ T.all(Symbol, Dodopayments::SubscriptionActiveWebhookEvent::Type)
164
+ end
165
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
166
+
167
+ SUBSCRIPTION_ACTIVE =
168
+ T.let(
169
+ :"subscription.active",
170
+ Dodopayments::SubscriptionActiveWebhookEvent::Type::TaggedSymbol
171
+ )
172
+
173
+ sig do
174
+ override.returns(
175
+ T::Array[
176
+ Dodopayments::SubscriptionActiveWebhookEvent::Type::TaggedSymbol
177
+ ]
178
+ )
179
+ end
180
+ def self.values
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end