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 DisputeExpiredWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::DisputeExpiredWebhookEvent,
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::DisputeExpiredWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(
24
+ data: Dodopayments::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::Type::TaggedSymbol)
36
+ end
37
+ attr_accessor :type
38
+
39
+ sig do
40
+ params(
41
+ business_id: String,
42
+ data: Dodopayments::DisputeExpiredWebhookEvent::Data::OrHash,
43
+ timestamp: Time,
44
+ type: Dodopayments::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::Data,
64
+ timestamp: Time,
65
+ type: Dodopayments::DisputeExpiredWebhookEvent::Type::TaggedSymbol
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ class Data < Dodopayments::Models::Dispute
73
+ OrHash =
74
+ T.type_alias do
75
+ T.any(
76
+ Dodopayments::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::Data::PayloadType::TaggedSymbol
86
+ )
87
+ )
88
+ end
89
+ attr_reader :payload_type
90
+
91
+ sig do
92
+ params(
93
+ payload_type:
94
+ Dodopayments::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::Data::PayloadType
132
+ )
133
+ end
134
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
135
+
136
+ DISPUTE =
137
+ T.let(
138
+ :Dispute,
139
+ Dodopayments::DisputeExpiredWebhookEvent::Data::PayloadType::TaggedSymbol
140
+ )
141
+
142
+ sig do
143
+ override.returns(
144
+ T::Array[
145
+ Dodopayments::DisputeExpiredWebhookEvent::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::DisputeExpiredWebhookEvent::Type)
161
+ end
162
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
163
+
164
+ DISPUTE_EXPIRED =
165
+ T.let(
166
+ :"dispute.expired",
167
+ Dodopayments::DisputeExpiredWebhookEvent::Type::TaggedSymbol
168
+ )
169
+
170
+ sig do
171
+ override.returns(
172
+ T::Array[
173
+ Dodopayments::DisputeExpiredWebhookEvent::Type::TaggedSymbol
174
+ ]
175
+ )
176
+ end
177
+ def self.values
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,176 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeLostWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::DisputeLostWebhookEvent,
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::DisputeLostWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(data: Dodopayments::DisputeLostWebhookEvent::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 { returns(Dodopayments::DisputeLostWebhookEvent::Type::TaggedSymbol) }
33
+ attr_accessor :type
34
+
35
+ sig do
36
+ params(
37
+ business_id: String,
38
+ data: Dodopayments::DisputeLostWebhookEvent::Data::OrHash,
39
+ timestamp: Time,
40
+ type: Dodopayments::DisputeLostWebhookEvent::Type::OrSymbol
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # The business identifier
45
+ business_id:,
46
+ # Event-specific data
47
+ data:,
48
+ # The timestamp of when the event occurred
49
+ timestamp:,
50
+ # The event type
51
+ type:
52
+ )
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ {
58
+ business_id: String,
59
+ data: Dodopayments::DisputeLostWebhookEvent::Data,
60
+ timestamp: Time,
61
+ type: Dodopayments::DisputeLostWebhookEvent::Type::TaggedSymbol
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+
68
+ class Data < Dodopayments::Models::Dispute
69
+ OrHash =
70
+ T.type_alias do
71
+ T.any(
72
+ Dodopayments::DisputeLostWebhookEvent::Data,
73
+ Dodopayments::Internal::AnyHash
74
+ )
75
+ end
76
+
77
+ # The type of payload in the data field
78
+ sig do
79
+ returns(
80
+ T.nilable(
81
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::TaggedSymbol
82
+ )
83
+ )
84
+ end
85
+ attr_reader :payload_type
86
+
87
+ sig do
88
+ params(
89
+ payload_type:
90
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::OrSymbol
91
+ ).void
92
+ end
93
+ attr_writer :payload_type
94
+
95
+ # Event-specific data
96
+ sig do
97
+ params(
98
+ payload_type:
99
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::OrSymbol
100
+ ).returns(T.attached_class)
101
+ end
102
+ def self.new(
103
+ # The type of payload in the data field
104
+ payload_type: nil
105
+ )
106
+ end
107
+
108
+ sig do
109
+ override.returns(
110
+ {
111
+ payload_type:
112
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::TaggedSymbol
113
+ }
114
+ )
115
+ end
116
+ def to_hash
117
+ end
118
+
119
+ # The type of payload in the data field
120
+ module PayloadType
121
+ extend Dodopayments::Internal::Type::Enum
122
+
123
+ TaggedSymbol =
124
+ T.type_alias do
125
+ T.all(
126
+ Symbol,
127
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType
128
+ )
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ DISPUTE =
133
+ T.let(
134
+ :Dispute,
135
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::TaggedSymbol
136
+ )
137
+
138
+ sig do
139
+ override.returns(
140
+ T::Array[
141
+ Dodopayments::DisputeLostWebhookEvent::Data::PayloadType::TaggedSymbol
142
+ ]
143
+ )
144
+ end
145
+ def self.values
146
+ end
147
+ end
148
+ end
149
+
150
+ # The event type
151
+ module Type
152
+ extend Dodopayments::Internal::Type::Enum
153
+
154
+ TaggedSymbol =
155
+ T.type_alias do
156
+ T.all(Symbol, Dodopayments::DisputeLostWebhookEvent::Type)
157
+ end
158
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
159
+
160
+ DISPUTE_LOST =
161
+ T.let(
162
+ :"dispute.lost",
163
+ Dodopayments::DisputeLostWebhookEvent::Type::TaggedSymbol
164
+ )
165
+
166
+ sig do
167
+ override.returns(
168
+ T::Array[Dodopayments::DisputeLostWebhookEvent::Type::TaggedSymbol]
169
+ )
170
+ end
171
+ def self.values
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,180 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeOpenedWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::DisputeOpenedWebhookEvent,
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::DisputeOpenedWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(data: Dodopayments::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::Type::TaggedSymbol)
34
+ end
35
+ attr_accessor :type
36
+
37
+ sig do
38
+ params(
39
+ business_id: String,
40
+ data: Dodopayments::DisputeOpenedWebhookEvent::Data::OrHash,
41
+ timestamp: Time,
42
+ type: Dodopayments::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::Data,
62
+ timestamp: Time,
63
+ type: Dodopayments::DisputeOpenedWebhookEvent::Type::TaggedSymbol
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+
70
+ class Data < Dodopayments::Models::Dispute
71
+ OrHash =
72
+ T.type_alias do
73
+ T.any(
74
+ Dodopayments::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::Data::PayloadType::TaggedSymbol
84
+ )
85
+ )
86
+ end
87
+ attr_reader :payload_type
88
+
89
+ sig do
90
+ params(
91
+ payload_type:
92
+ Dodopayments::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::Data::PayloadType
130
+ )
131
+ end
132
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
133
+
134
+ DISPUTE =
135
+ T.let(
136
+ :Dispute,
137
+ Dodopayments::DisputeOpenedWebhookEvent::Data::PayloadType::TaggedSymbol
138
+ )
139
+
140
+ sig do
141
+ override.returns(
142
+ T::Array[
143
+ Dodopayments::DisputeOpenedWebhookEvent::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::DisputeOpenedWebhookEvent::Type)
159
+ end
160
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
161
+
162
+ DISPUTE_OPENED =
163
+ T.let(
164
+ :"dispute.opened",
165
+ Dodopayments::DisputeOpenedWebhookEvent::Type::TaggedSymbol
166
+ )
167
+
168
+ sig do
169
+ override.returns(
170
+ T::Array[
171
+ Dodopayments::DisputeOpenedWebhookEvent::Type::TaggedSymbol
172
+ ]
173
+ )
174
+ end
175
+ def self.values
176
+ end
177
+ end
178
+ end
179
+ end
180
+ end
@@ -0,0 +1,176 @@
1
+ # typed: strong
2
+
3
+ module Dodopayments
4
+ module Models
5
+ class DisputeWonWebhookEvent < Dodopayments::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Dodopayments::DisputeWonWebhookEvent,
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::DisputeWonWebhookEvent::Data) }
20
+ attr_reader :data
21
+
22
+ sig do
23
+ params(data: Dodopayments::DisputeWonWebhookEvent::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 { returns(Dodopayments::DisputeWonWebhookEvent::Type::TaggedSymbol) }
33
+ attr_accessor :type
34
+
35
+ sig do
36
+ params(
37
+ business_id: String,
38
+ data: Dodopayments::DisputeWonWebhookEvent::Data::OrHash,
39
+ timestamp: Time,
40
+ type: Dodopayments::DisputeWonWebhookEvent::Type::OrSymbol
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # The business identifier
45
+ business_id:,
46
+ # Event-specific data
47
+ data:,
48
+ # The timestamp of when the event occurred
49
+ timestamp:,
50
+ # The event type
51
+ type:
52
+ )
53
+ end
54
+
55
+ sig do
56
+ override.returns(
57
+ {
58
+ business_id: String,
59
+ data: Dodopayments::DisputeWonWebhookEvent::Data,
60
+ timestamp: Time,
61
+ type: Dodopayments::DisputeWonWebhookEvent::Type::TaggedSymbol
62
+ }
63
+ )
64
+ end
65
+ def to_hash
66
+ end
67
+
68
+ class Data < Dodopayments::Models::Dispute
69
+ OrHash =
70
+ T.type_alias do
71
+ T.any(
72
+ Dodopayments::DisputeWonWebhookEvent::Data,
73
+ Dodopayments::Internal::AnyHash
74
+ )
75
+ end
76
+
77
+ # The type of payload in the data field
78
+ sig do
79
+ returns(
80
+ T.nilable(
81
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::TaggedSymbol
82
+ )
83
+ )
84
+ end
85
+ attr_reader :payload_type
86
+
87
+ sig do
88
+ params(
89
+ payload_type:
90
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::OrSymbol
91
+ ).void
92
+ end
93
+ attr_writer :payload_type
94
+
95
+ # Event-specific data
96
+ sig do
97
+ params(
98
+ payload_type:
99
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::OrSymbol
100
+ ).returns(T.attached_class)
101
+ end
102
+ def self.new(
103
+ # The type of payload in the data field
104
+ payload_type: nil
105
+ )
106
+ end
107
+
108
+ sig do
109
+ override.returns(
110
+ {
111
+ payload_type:
112
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::TaggedSymbol
113
+ }
114
+ )
115
+ end
116
+ def to_hash
117
+ end
118
+
119
+ # The type of payload in the data field
120
+ module PayloadType
121
+ extend Dodopayments::Internal::Type::Enum
122
+
123
+ TaggedSymbol =
124
+ T.type_alias do
125
+ T.all(
126
+ Symbol,
127
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType
128
+ )
129
+ end
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ DISPUTE =
133
+ T.let(
134
+ :Dispute,
135
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::TaggedSymbol
136
+ )
137
+
138
+ sig do
139
+ override.returns(
140
+ T::Array[
141
+ Dodopayments::DisputeWonWebhookEvent::Data::PayloadType::TaggedSymbol
142
+ ]
143
+ )
144
+ end
145
+ def self.values
146
+ end
147
+ end
148
+ end
149
+
150
+ # The event type
151
+ module Type
152
+ extend Dodopayments::Internal::Type::Enum
153
+
154
+ TaggedSymbol =
155
+ T.type_alias do
156
+ T.all(Symbol, Dodopayments::DisputeWonWebhookEvent::Type)
157
+ end
158
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
159
+
160
+ DISPUTE_WON =
161
+ T.let(
162
+ :"dispute.won",
163
+ Dodopayments::DisputeWonWebhookEvent::Type::TaggedSymbol
164
+ )
165
+
166
+ sig do
167
+ override.returns(
168
+ T::Array[Dodopayments::DisputeWonWebhookEvent::Type::TaggedSymbol]
169
+ )
170
+ end
171
+ def self.values
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end