whop_sdk 0.0.19 → 0.0.22

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +10 -1
  4. data/lib/whop_sdk/client.rb +12 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +12 -10
  6. data/lib/whop_sdk/internal/util.rb +7 -2
  7. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +11 -1
  8. data/lib/whop_sdk/models/company_create_params.rb +17 -1
  9. data/lib/whop_sdk/models/company_update_params.rb +17 -1
  10. data/lib/whop_sdk/models/lead_create_params.rb +58 -0
  11. data/lib/whop_sdk/models/lead_create_response.rb +149 -0
  12. data/lib/whop_sdk/models/lead_list_params.rb +78 -0
  13. data/lib/whop_sdk/models/lead_list_response.rb +149 -0
  14. data/lib/whop_sdk/models/lead_retrieve_params.rb +14 -0
  15. data/lib/whop_sdk/models/lead_retrieve_response.rb +149 -0
  16. data/lib/whop_sdk/models/lead_update_params.rb +30 -0
  17. data/lib/whop_sdk/models/lead_update_response.rb +149 -0
  18. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +128 -2
  19. data/lib/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rb +53 -0
  20. data/lib/whop_sdk/models/membership_status.rb +1 -0
  21. data/lib/whop_sdk/models/payment.rb +3 -3
  22. data/lib/whop_sdk/models/payment_create_params.rb +9 -1
  23. data/lib/whop_sdk/models/payment_list_fees_response.rb +1 -0
  24. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  25. data/lib/whop_sdk/models/payment_method_list_params.rb +16 -8
  26. data/lib/whop_sdk/models/payment_method_retrieve_params.rb +13 -5
  27. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +168 -0
  28. data/lib/whop_sdk/models/payout_method_list_response.rb +31 -1
  29. data/lib/whop_sdk/models/payout_method_retrieve_params.rb +14 -0
  30. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +125 -0
  31. data/lib/whop_sdk/models/support_channel_create_params.rb +2 -2
  32. data/lib/whop_sdk/models/topup_create_params.rb +46 -0
  33. data/lib/whop_sdk/models/topup_create_response.rb +67 -0
  34. data/lib/whop_sdk/models/unwrap_webhook_event.rb +8 -1
  35. data/lib/whop_sdk/models/verification_retrieve_params.rb +14 -0
  36. data/lib/whop_sdk/models/verification_retrieve_response.rb +99 -0
  37. data/lib/whop_sdk/models/verification_succeeded_webhook_event.rb +142 -0
  38. data/lib/whop_sdk/models.rb +21 -0
  39. data/lib/whop_sdk/resources/companies.rb +10 -2
  40. data/lib/whop_sdk/resources/leads.rb +158 -0
  41. data/lib/whop_sdk/resources/payment_methods.rb +12 -8
  42. data/lib/whop_sdk/resources/payments.rb +3 -1
  43. data/lib/whop_sdk/resources/payout_methods.rb +24 -0
  44. data/lib/whop_sdk/resources/support_channels.rb +1 -1
  45. data/lib/whop_sdk/resources/topups.rb +46 -0
  46. data/lib/whop_sdk/resources/verifications.rb +38 -0
  47. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  48. data/lib/whop_sdk/version.rb +1 -1
  49. data/lib/whop_sdk.rb +20 -0
  50. data/rbi/whop_sdk/client.rbi +9 -0
  51. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +12 -0
  52. data/rbi/whop_sdk/models/company_create_params.rbi +16 -0
  53. data/rbi/whop_sdk/models/company_update_params.rbi +16 -0
  54. data/rbi/whop_sdk/models/lead_create_params.rbi +77 -0
  55. data/rbi/whop_sdk/models/lead_create_response.rbi +234 -0
  56. data/rbi/whop_sdk/models/lead_list_params.rbi +99 -0
  57. data/rbi/whop_sdk/models/lead_list_response.rbi +230 -0
  58. data/rbi/whop_sdk/models/lead_retrieve_params.rbi +27 -0
  59. data/rbi/whop_sdk/models/lead_retrieve_response.rbi +238 -0
  60. data/rbi/whop_sdk/models/lead_update_params.rbi +51 -0
  61. data/rbi/whop_sdk/models/lead_update_response.rbi +234 -0
  62. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +336 -0
  63. data/rbi/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbi +77 -0
  64. data/rbi/whop_sdk/models/membership_status.rbi +1 -0
  65. data/rbi/whop_sdk/models/payment.rbi +4 -4
  66. data/rbi/whop_sdk/models/payment_create_params.rbi +8 -0
  67. data/rbi/whop_sdk/models/payment_list_fees_response.rbi +5 -0
  68. data/rbi/whop_sdk/models/payment_list_response.rbi +4 -4
  69. data/rbi/whop_sdk/models/payment_method_list_params.rbi +16 -8
  70. data/rbi/whop_sdk/models/payment_method_retrieve_params.rbi +17 -6
  71. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +340 -0
  72. data/rbi/whop_sdk/models/payout_method_list_response.rbi +58 -0
  73. data/rbi/whop_sdk/models/payout_method_retrieve_params.rbi +27 -0
  74. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +262 -0
  75. data/rbi/whop_sdk/models/support_channel_create_params.rbi +2 -2
  76. data/rbi/whop_sdk/models/topup_create_params.rbi +67 -0
  77. data/rbi/whop_sdk/models/topup_create_response.rbi +89 -0
  78. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +4 -1
  79. data/rbi/whop_sdk/models/verification_retrieve_params.rbi +27 -0
  80. data/rbi/whop_sdk/models/verification_retrieve_response.rbi +290 -0
  81. data/rbi/whop_sdk/models/verification_succeeded_webhook_event.rbi +367 -0
  82. data/rbi/whop_sdk/models.rbi +23 -0
  83. data/rbi/whop_sdk/resources/companies.rbi +12 -0
  84. data/rbi/whop_sdk/resources/leads.rbi +138 -0
  85. data/rbi/whop_sdk/resources/payment_methods.rbi +13 -7
  86. data/rbi/whop_sdk/resources/payments.rbi +3 -0
  87. data/rbi/whop_sdk/resources/payout_methods.rbi +18 -0
  88. data/rbi/whop_sdk/resources/support_channels.rbi +1 -1
  89. data/rbi/whop_sdk/resources/topups.rbi +39 -0
  90. data/rbi/whop_sdk/resources/verifications.rbi +30 -0
  91. data/rbi/whop_sdk/resources/webhooks.rbi +4 -1
  92. data/sig/whop_sdk/client.rbs +6 -0
  93. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +5 -0
  94. data/sig/whop_sdk/models/company_create_params.rbs +10 -0
  95. data/sig/whop_sdk/models/company_update_params.rbs +10 -0
  96. data/sig/whop_sdk/models/lead_create_params.rbs +46 -0
  97. data/sig/whop_sdk/models/lead_create_response.rbs +104 -0
  98. data/sig/whop_sdk/models/lead_list_params.rbs +61 -0
  99. data/sig/whop_sdk/models/lead_list_response.rbs +104 -0
  100. data/sig/whop_sdk/models/lead_retrieve_params.rbs +15 -0
  101. data/sig/whop_sdk/models/lead_retrieve_response.rbs +104 -0
  102. data/sig/whop_sdk/models/lead_update_params.rbs +28 -0
  103. data/sig/whop_sdk/models/lead_update_response.rbs +104 -0
  104. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +134 -1
  105. data/sig/whop_sdk/models/membership_cancel_at_period_end_changed_webhook_event.rbs +40 -0
  106. data/sig/whop_sdk/models/membership_status.rbs +2 -0
  107. data/sig/whop_sdk/models/payment_create_params.rbs +5 -0
  108. data/sig/whop_sdk/models/payment_list_fees_response.rbs +2 -0
  109. data/sig/whop_sdk/models/payment_method_list_params.rbs +11 -6
  110. data/sig/whop_sdk/models/payment_method_retrieve_params.rbs +9 -4
  111. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +140 -0
  112. data/sig/whop_sdk/models/payout_method_list_response.rbs +20 -0
  113. data/sig/whop_sdk/models/payout_method_retrieve_params.rbs +15 -0
  114. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +103 -0
  115. data/sig/whop_sdk/models/topup_create_params.rbs +41 -0
  116. data/sig/whop_sdk/models/topup_create_response.rbs +50 -0
  117. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +3 -0
  118. data/sig/whop_sdk/models/verification_retrieve_params.rbs +15 -0
  119. data/sig/whop_sdk/models/verification_retrieve_response.rbs +117 -0
  120. data/sig/whop_sdk/models/verification_succeeded_webhook_event.rbs +154 -0
  121. data/sig/whop_sdk/models.rbs +20 -0
  122. data/sig/whop_sdk/resources/companies.rbs +4 -0
  123. data/sig/whop_sdk/resources/leads.rbs +40 -0
  124. data/sig/whop_sdk/resources/payment_methods.rbs +4 -2
  125. data/sig/whop_sdk/resources/payments.rbs +1 -0
  126. data/sig/whop_sdk/resources/payout_methods.rbs +5 -0
  127. data/sig/whop_sdk/resources/topups.rbs +15 -0
  128. data/sig/whop_sdk/resources/verifications.rbs +12 -0
  129. data/sig/whop_sdk/resources/webhooks.rbs +4 -1
  130. metadata +62 -2
@@ -0,0 +1,238 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadRetrieveResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::LeadRetrieveResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The ID of the lead.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The timestamp of when the lead was created.
19
+ sig { returns(Time) }
20
+ attr_accessor :created_at
21
+
22
+ # The converted member, if any.
23
+ sig { returns(T.nilable(WhopSDK::Models::LeadRetrieveResponse::Member)) }
24
+ attr_reader :member
25
+
26
+ sig do
27
+ params(
28
+ member:
29
+ T.nilable(WhopSDK::Models::LeadRetrieveResponse::Member::OrHash)
30
+ ).void
31
+ end
32
+ attr_writer :member
33
+
34
+ # Custom metadata for the lead.
35
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
36
+ attr_accessor :metadata
37
+
38
+ # The access pass the lead is interested in, if available.
39
+ sig { returns(T.nilable(WhopSDK::Models::LeadRetrieveResponse::Product)) }
40
+ attr_reader :product
41
+
42
+ sig do
43
+ params(
44
+ product:
45
+ T.nilable(WhopSDK::Models::LeadRetrieveResponse::Product::OrHash)
46
+ ).void
47
+ end
48
+ attr_writer :product
49
+
50
+ # The referrer URL that brought this lead.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_accessor :referrer
53
+
54
+ # The timestamp of when the lead was last updated.
55
+ sig { returns(Time) }
56
+ attr_accessor :updated_at
57
+
58
+ # The user who is the lead.
59
+ sig { returns(WhopSDK::Models::LeadRetrieveResponse::User) }
60
+ attr_reader :user
61
+
62
+ sig do
63
+ params(user: WhopSDK::Models::LeadRetrieveResponse::User::OrHash).void
64
+ end
65
+ attr_writer :user
66
+
67
+ # An object representing a lead (someone who is interested in a whop).
68
+ sig do
69
+ params(
70
+ id: String,
71
+ created_at: Time,
72
+ member:
73
+ T.nilable(WhopSDK::Models::LeadRetrieveResponse::Member::OrHash),
74
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
75
+ product:
76
+ T.nilable(WhopSDK::Models::LeadRetrieveResponse::Product::OrHash),
77
+ referrer: T.nilable(String),
78
+ updated_at: Time,
79
+ user: WhopSDK::Models::LeadRetrieveResponse::User::OrHash
80
+ ).returns(T.attached_class)
81
+ end
82
+ def self.new(
83
+ # The ID of the lead.
84
+ id:,
85
+ # The timestamp of when the lead was created.
86
+ created_at:,
87
+ # The converted member, if any.
88
+ member:,
89
+ # Custom metadata for the lead.
90
+ metadata:,
91
+ # The access pass the lead is interested in, if available.
92
+ product:,
93
+ # The referrer URL that brought this lead.
94
+ referrer:,
95
+ # The timestamp of when the lead was last updated.
96
+ updated_at:,
97
+ # The user who is the lead.
98
+ user:
99
+ )
100
+ end
101
+
102
+ sig do
103
+ override.returns(
104
+ {
105
+ id: String,
106
+ created_at: Time,
107
+ member: T.nilable(WhopSDK::Models::LeadRetrieveResponse::Member),
108
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
109
+ product: T.nilable(WhopSDK::Models::LeadRetrieveResponse::Product),
110
+ referrer: T.nilable(String),
111
+ updated_at: Time,
112
+ user: WhopSDK::Models::LeadRetrieveResponse::User
113
+ }
114
+ )
115
+ end
116
+ def to_hash
117
+ end
118
+
119
+ class Member < WhopSDK::Internal::Type::BaseModel
120
+ OrHash =
121
+ T.type_alias do
122
+ T.any(
123
+ WhopSDK::Models::LeadRetrieveResponse::Member,
124
+ WhopSDK::Internal::AnyHash
125
+ )
126
+ end
127
+
128
+ # The ID of the member
129
+ sig { returns(String) }
130
+ attr_accessor :id
131
+
132
+ # The converted member, if any.
133
+ sig { params(id: String).returns(T.attached_class) }
134
+ def self.new(
135
+ # The ID of the member
136
+ id:
137
+ )
138
+ end
139
+
140
+ sig { override.returns({ id: String }) }
141
+ def to_hash
142
+ end
143
+ end
144
+
145
+ class Product < WhopSDK::Internal::Type::BaseModel
146
+ OrHash =
147
+ T.type_alias do
148
+ T.any(
149
+ WhopSDK::Models::LeadRetrieveResponse::Product,
150
+ WhopSDK::Internal::AnyHash
151
+ )
152
+ end
153
+
154
+ # The internal ID of the public product.
155
+ sig { returns(String) }
156
+ attr_accessor :id
157
+
158
+ # The title of the product. Use for Whop 4.0.
159
+ sig { returns(String) }
160
+ attr_accessor :title
161
+
162
+ # The access pass the lead is interested in, if available.
163
+ sig { params(id: String, title: String).returns(T.attached_class) }
164
+ def self.new(
165
+ # The internal ID of the public product.
166
+ id:,
167
+ # The title of the product. Use for Whop 4.0.
168
+ title:
169
+ )
170
+ end
171
+
172
+ sig { override.returns({ id: String, title: String }) }
173
+ def to_hash
174
+ end
175
+ end
176
+
177
+ class User < WhopSDK::Internal::Type::BaseModel
178
+ OrHash =
179
+ T.type_alias do
180
+ T.any(
181
+ WhopSDK::Models::LeadRetrieveResponse::User,
182
+ WhopSDK::Internal::AnyHash
183
+ )
184
+ end
185
+
186
+ # The internal ID of the user.
187
+ sig { returns(String) }
188
+ attr_accessor :id
189
+
190
+ # The email of the user
191
+ sig { returns(T.nilable(String)) }
192
+ attr_accessor :email
193
+
194
+ # The name of the user from their Whop account.
195
+ sig { returns(T.nilable(String)) }
196
+ attr_accessor :name
197
+
198
+ # The username of the user from their Whop account.
199
+ sig { returns(String) }
200
+ attr_accessor :username
201
+
202
+ # The user who is the lead.
203
+ sig do
204
+ params(
205
+ id: String,
206
+ email: T.nilable(String),
207
+ name: T.nilable(String),
208
+ username: String
209
+ ).returns(T.attached_class)
210
+ end
211
+ def self.new(
212
+ # The internal ID of the user.
213
+ id:,
214
+ # The email of the user
215
+ email:,
216
+ # The name of the user from their Whop account.
217
+ name:,
218
+ # The username of the user from their Whop account.
219
+ username:
220
+ )
221
+ end
222
+
223
+ sig do
224
+ override.returns(
225
+ {
226
+ id: String,
227
+ email: T.nilable(String),
228
+ name: T.nilable(String),
229
+ username: String
230
+ }
231
+ )
232
+ end
233
+ def to_hash
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
@@ -0,0 +1,51 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadUpdateParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::LeadUpdateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # Custom metadata for the lead.
15
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
16
+ attr_accessor :metadata
17
+
18
+ # The url referrer of the lead.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :referrer
21
+
22
+ sig do
23
+ params(
24
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
25
+ referrer: T.nilable(String),
26
+ request_options: WhopSDK::RequestOptions::OrHash
27
+ ).returns(T.attached_class)
28
+ end
29
+ def self.new(
30
+ # Custom metadata for the lead.
31
+ metadata: nil,
32
+ # The url referrer of the lead.
33
+ referrer: nil,
34
+ request_options: {}
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
42
+ referrer: T.nilable(String),
43
+ request_options: WhopSDK::RequestOptions
44
+ }
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,234 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadUpdateResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(WhopSDK::Models::LeadUpdateResponse, WhopSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # The ID of the lead.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # The timestamp of when the lead was created.
16
+ sig { returns(Time) }
17
+ attr_accessor :created_at
18
+
19
+ # The converted member, if any.
20
+ sig { returns(T.nilable(WhopSDK::Models::LeadUpdateResponse::Member)) }
21
+ attr_reader :member
22
+
23
+ sig do
24
+ params(
25
+ member: T.nilable(WhopSDK::Models::LeadUpdateResponse::Member::OrHash)
26
+ ).void
27
+ end
28
+ attr_writer :member
29
+
30
+ # Custom metadata for the lead.
31
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
32
+ attr_accessor :metadata
33
+
34
+ # The access pass the lead is interested in, if available.
35
+ sig { returns(T.nilable(WhopSDK::Models::LeadUpdateResponse::Product)) }
36
+ attr_reader :product
37
+
38
+ sig do
39
+ params(
40
+ product:
41
+ T.nilable(WhopSDK::Models::LeadUpdateResponse::Product::OrHash)
42
+ ).void
43
+ end
44
+ attr_writer :product
45
+
46
+ # The referrer URL that brought this lead.
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :referrer
49
+
50
+ # The timestamp of when the lead was last updated.
51
+ sig { returns(Time) }
52
+ attr_accessor :updated_at
53
+
54
+ # The user who is the lead.
55
+ sig { returns(WhopSDK::Models::LeadUpdateResponse::User) }
56
+ attr_reader :user
57
+
58
+ sig do
59
+ params(user: WhopSDK::Models::LeadUpdateResponse::User::OrHash).void
60
+ end
61
+ attr_writer :user
62
+
63
+ # An object representing a lead (someone who is interested in a whop).
64
+ sig do
65
+ params(
66
+ id: String,
67
+ created_at: Time,
68
+ member:
69
+ T.nilable(WhopSDK::Models::LeadUpdateResponse::Member::OrHash),
70
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
71
+ product:
72
+ T.nilable(WhopSDK::Models::LeadUpdateResponse::Product::OrHash),
73
+ referrer: T.nilable(String),
74
+ updated_at: Time,
75
+ user: WhopSDK::Models::LeadUpdateResponse::User::OrHash
76
+ ).returns(T.attached_class)
77
+ end
78
+ def self.new(
79
+ # The ID of the lead.
80
+ id:,
81
+ # The timestamp of when the lead was created.
82
+ created_at:,
83
+ # The converted member, if any.
84
+ member:,
85
+ # Custom metadata for the lead.
86
+ metadata:,
87
+ # The access pass the lead is interested in, if available.
88
+ product:,
89
+ # The referrer URL that brought this lead.
90
+ referrer:,
91
+ # The timestamp of when the lead was last updated.
92
+ updated_at:,
93
+ # The user who is the lead.
94
+ user:
95
+ )
96
+ end
97
+
98
+ sig do
99
+ override.returns(
100
+ {
101
+ id: String,
102
+ created_at: Time,
103
+ member: T.nilable(WhopSDK::Models::LeadUpdateResponse::Member),
104
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
105
+ product: T.nilable(WhopSDK::Models::LeadUpdateResponse::Product),
106
+ referrer: T.nilable(String),
107
+ updated_at: Time,
108
+ user: WhopSDK::Models::LeadUpdateResponse::User
109
+ }
110
+ )
111
+ end
112
+ def to_hash
113
+ end
114
+
115
+ class Member < WhopSDK::Internal::Type::BaseModel
116
+ OrHash =
117
+ T.type_alias do
118
+ T.any(
119
+ WhopSDK::Models::LeadUpdateResponse::Member,
120
+ WhopSDK::Internal::AnyHash
121
+ )
122
+ end
123
+
124
+ # The ID of the member
125
+ sig { returns(String) }
126
+ attr_accessor :id
127
+
128
+ # The converted member, if any.
129
+ sig { params(id: String).returns(T.attached_class) }
130
+ def self.new(
131
+ # The ID of the member
132
+ id:
133
+ )
134
+ end
135
+
136
+ sig { override.returns({ id: String }) }
137
+ def to_hash
138
+ end
139
+ end
140
+
141
+ class Product < WhopSDK::Internal::Type::BaseModel
142
+ OrHash =
143
+ T.type_alias do
144
+ T.any(
145
+ WhopSDK::Models::LeadUpdateResponse::Product,
146
+ WhopSDK::Internal::AnyHash
147
+ )
148
+ end
149
+
150
+ # The internal ID of the public product.
151
+ sig { returns(String) }
152
+ attr_accessor :id
153
+
154
+ # The title of the product. Use for Whop 4.0.
155
+ sig { returns(String) }
156
+ attr_accessor :title
157
+
158
+ # The access pass the lead is interested in, if available.
159
+ sig { params(id: String, title: String).returns(T.attached_class) }
160
+ def self.new(
161
+ # The internal ID of the public product.
162
+ id:,
163
+ # The title of the product. Use for Whop 4.0.
164
+ title:
165
+ )
166
+ end
167
+
168
+ sig { override.returns({ id: String, title: String }) }
169
+ def to_hash
170
+ end
171
+ end
172
+
173
+ class User < WhopSDK::Internal::Type::BaseModel
174
+ OrHash =
175
+ T.type_alias do
176
+ T.any(
177
+ WhopSDK::Models::LeadUpdateResponse::User,
178
+ WhopSDK::Internal::AnyHash
179
+ )
180
+ end
181
+
182
+ # The internal ID of the user.
183
+ sig { returns(String) }
184
+ attr_accessor :id
185
+
186
+ # The email of the user
187
+ sig { returns(T.nilable(String)) }
188
+ attr_accessor :email
189
+
190
+ # The name of the user from their Whop account.
191
+ sig { returns(T.nilable(String)) }
192
+ attr_accessor :name
193
+
194
+ # The username of the user from their Whop account.
195
+ sig { returns(String) }
196
+ attr_accessor :username
197
+
198
+ # The user who is the lead.
199
+ sig do
200
+ params(
201
+ id: String,
202
+ email: T.nilable(String),
203
+ name: T.nilable(String),
204
+ username: String
205
+ ).returns(T.attached_class)
206
+ end
207
+ def self.new(
208
+ # The internal ID of the user.
209
+ id:,
210
+ # The email of the user
211
+ email:,
212
+ # The name of the user from their Whop account.
213
+ name:,
214
+ # The username of the user from their Whop account.
215
+ username:
216
+ )
217
+ end
218
+
219
+ sig do
220
+ override.returns(
221
+ {
222
+ id: String,
223
+ email: T.nilable(String),
224
+ name: T.nilable(String),
225
+ username: String
226
+ }
227
+ )
228
+ end
229
+ def to_hash
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end