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,234 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadCreateResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(WhopSDK::Models::LeadCreateResponse, 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::LeadCreateResponse::Member)) }
21
+ attr_reader :member
22
+
23
+ sig do
24
+ params(
25
+ member: T.nilable(WhopSDK::Models::LeadCreateResponse::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::LeadCreateResponse::Product)) }
36
+ attr_reader :product
37
+
38
+ sig do
39
+ params(
40
+ product:
41
+ T.nilable(WhopSDK::Models::LeadCreateResponse::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::LeadCreateResponse::User) }
56
+ attr_reader :user
57
+
58
+ sig do
59
+ params(user: WhopSDK::Models::LeadCreateResponse::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::LeadCreateResponse::Member::OrHash),
70
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
71
+ product:
72
+ T.nilable(WhopSDK::Models::LeadCreateResponse::Product::OrHash),
73
+ referrer: T.nilable(String),
74
+ updated_at: Time,
75
+ user: WhopSDK::Models::LeadCreateResponse::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::LeadCreateResponse::Member),
104
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
105
+ product: T.nilable(WhopSDK::Models::LeadCreateResponse::Product),
106
+ referrer: T.nilable(String),
107
+ updated_at: Time,
108
+ user: WhopSDK::Models::LeadCreateResponse::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::LeadCreateResponse::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::LeadCreateResponse::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::LeadCreateResponse::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
@@ -0,0 +1,99 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadListParams < 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::LeadListParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The ID of the company to list leads for
15
+ sig { returns(String) }
16
+ attr_accessor :company_id
17
+
18
+ # Returns the elements in the list that come after the specified cursor.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :after
21
+
22
+ # Returns the elements in the list that come before the specified cursor.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :before
25
+
26
+ # The minimum creation date to filter by
27
+ sig { returns(T.nilable(Time)) }
28
+ attr_accessor :created_after
29
+
30
+ # The maximum creation date to filter by
31
+ sig { returns(T.nilable(Time)) }
32
+ attr_accessor :created_before
33
+
34
+ # Returns the first _n_ elements from the list.
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_accessor :first
37
+
38
+ # Returns the last _n_ elements from the list.
39
+ sig { returns(T.nilable(Integer)) }
40
+ attr_accessor :last
41
+
42
+ # The product IDs to filter the leads by
43
+ sig { returns(T.nilable(T::Array[String])) }
44
+ attr_accessor :product_ids
45
+
46
+ sig do
47
+ params(
48
+ company_id: String,
49
+ after: T.nilable(String),
50
+ before: T.nilable(String),
51
+ created_after: T.nilable(Time),
52
+ created_before: T.nilable(Time),
53
+ first: T.nilable(Integer),
54
+ last: T.nilable(Integer),
55
+ product_ids: T.nilable(T::Array[String]),
56
+ request_options: WhopSDK::RequestOptions::OrHash
57
+ ).returns(T.attached_class)
58
+ end
59
+ def self.new(
60
+ # The ID of the company to list leads for
61
+ company_id:,
62
+ # Returns the elements in the list that come after the specified cursor.
63
+ after: nil,
64
+ # Returns the elements in the list that come before the specified cursor.
65
+ before: nil,
66
+ # The minimum creation date to filter by
67
+ created_after: nil,
68
+ # The maximum creation date to filter by
69
+ created_before: nil,
70
+ # Returns the first _n_ elements from the list.
71
+ first: nil,
72
+ # Returns the last _n_ elements from the list.
73
+ last: nil,
74
+ # The product IDs to filter the leads by
75
+ product_ids: nil,
76
+ request_options: {}
77
+ )
78
+ end
79
+
80
+ sig do
81
+ override.returns(
82
+ {
83
+ company_id: String,
84
+ after: T.nilable(String),
85
+ before: T.nilable(String),
86
+ created_after: T.nilable(Time),
87
+ created_before: T.nilable(Time),
88
+ first: T.nilable(Integer),
89
+ last: T.nilable(Integer),
90
+ product_ids: T.nilable(T::Array[String]),
91
+ request_options: WhopSDK::RequestOptions
92
+ }
93
+ )
94
+ end
95
+ def to_hash
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,230 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadListResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(WhopSDK::Models::LeadListResponse, 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::LeadListResponse::Member)) }
21
+ attr_reader :member
22
+
23
+ sig do
24
+ params(
25
+ member: T.nilable(WhopSDK::Models::LeadListResponse::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::LeadListResponse::Product)) }
36
+ attr_reader :product
37
+
38
+ sig do
39
+ params(
40
+ product: T.nilable(WhopSDK::Models::LeadListResponse::Product::OrHash)
41
+ ).void
42
+ end
43
+ attr_writer :product
44
+
45
+ # The referrer URL that brought this lead.
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :referrer
48
+
49
+ # The timestamp of when the lead was last updated.
50
+ sig { returns(Time) }
51
+ attr_accessor :updated_at
52
+
53
+ # The user who is the lead.
54
+ sig { returns(WhopSDK::Models::LeadListResponse::User) }
55
+ attr_reader :user
56
+
57
+ sig { params(user: WhopSDK::Models::LeadListResponse::User::OrHash).void }
58
+ attr_writer :user
59
+
60
+ # An object representing a lead (someone who is interested in a whop).
61
+ sig do
62
+ params(
63
+ id: String,
64
+ created_at: Time,
65
+ member: T.nilable(WhopSDK::Models::LeadListResponse::Member::OrHash),
66
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
67
+ product:
68
+ T.nilable(WhopSDK::Models::LeadListResponse::Product::OrHash),
69
+ referrer: T.nilable(String),
70
+ updated_at: Time,
71
+ user: WhopSDK::Models::LeadListResponse::User::OrHash
72
+ ).returns(T.attached_class)
73
+ end
74
+ def self.new(
75
+ # The ID of the lead.
76
+ id:,
77
+ # The timestamp of when the lead was created.
78
+ created_at:,
79
+ # The converted member, if any.
80
+ member:,
81
+ # Custom metadata for the lead.
82
+ metadata:,
83
+ # The access pass the lead is interested in, if available.
84
+ product:,
85
+ # The referrer URL that brought this lead.
86
+ referrer:,
87
+ # The timestamp of when the lead was last updated.
88
+ updated_at:,
89
+ # The user who is the lead.
90
+ user:
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ id: String,
98
+ created_at: Time,
99
+ member: T.nilable(WhopSDK::Models::LeadListResponse::Member),
100
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
101
+ product: T.nilable(WhopSDK::Models::LeadListResponse::Product),
102
+ referrer: T.nilable(String),
103
+ updated_at: Time,
104
+ user: WhopSDK::Models::LeadListResponse::User
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+
111
+ class Member < WhopSDK::Internal::Type::BaseModel
112
+ OrHash =
113
+ T.type_alias do
114
+ T.any(
115
+ WhopSDK::Models::LeadListResponse::Member,
116
+ WhopSDK::Internal::AnyHash
117
+ )
118
+ end
119
+
120
+ # The ID of the member
121
+ sig { returns(String) }
122
+ attr_accessor :id
123
+
124
+ # The converted member, if any.
125
+ sig { params(id: String).returns(T.attached_class) }
126
+ def self.new(
127
+ # The ID of the member
128
+ id:
129
+ )
130
+ end
131
+
132
+ sig { override.returns({ id: String }) }
133
+ def to_hash
134
+ end
135
+ end
136
+
137
+ class Product < WhopSDK::Internal::Type::BaseModel
138
+ OrHash =
139
+ T.type_alias do
140
+ T.any(
141
+ WhopSDK::Models::LeadListResponse::Product,
142
+ WhopSDK::Internal::AnyHash
143
+ )
144
+ end
145
+
146
+ # The internal ID of the public product.
147
+ sig { returns(String) }
148
+ attr_accessor :id
149
+
150
+ # The title of the product. Use for Whop 4.0.
151
+ sig { returns(String) }
152
+ attr_accessor :title
153
+
154
+ # The access pass the lead is interested in, if available.
155
+ sig { params(id: String, title: String).returns(T.attached_class) }
156
+ def self.new(
157
+ # The internal ID of the public product.
158
+ id:,
159
+ # The title of the product. Use for Whop 4.0.
160
+ title:
161
+ )
162
+ end
163
+
164
+ sig { override.returns({ id: String, title: String }) }
165
+ def to_hash
166
+ end
167
+ end
168
+
169
+ class User < WhopSDK::Internal::Type::BaseModel
170
+ OrHash =
171
+ T.type_alias do
172
+ T.any(
173
+ WhopSDK::Models::LeadListResponse::User,
174
+ WhopSDK::Internal::AnyHash
175
+ )
176
+ end
177
+
178
+ # The internal ID of the user.
179
+ sig { returns(String) }
180
+ attr_accessor :id
181
+
182
+ # The email of the user
183
+ sig { returns(T.nilable(String)) }
184
+ attr_accessor :email
185
+
186
+ # The name of the user from their Whop account.
187
+ sig { returns(T.nilable(String)) }
188
+ attr_accessor :name
189
+
190
+ # The username of the user from their Whop account.
191
+ sig { returns(String) }
192
+ attr_accessor :username
193
+
194
+ # The user who is the lead.
195
+ sig do
196
+ params(
197
+ id: String,
198
+ email: T.nilable(String),
199
+ name: T.nilable(String),
200
+ username: String
201
+ ).returns(T.attached_class)
202
+ end
203
+ def self.new(
204
+ # The internal ID of the user.
205
+ id:,
206
+ # The email of the user
207
+ email:,
208
+ # The name of the user from their Whop account.
209
+ name:,
210
+ # The username of the user from their Whop account.
211
+ username:
212
+ )
213
+ end
214
+
215
+ sig do
216
+ override.returns(
217
+ {
218
+ id: String,
219
+ email: T.nilable(String),
220
+ name: T.nilable(String),
221
+ username: String
222
+ }
223
+ )
224
+ end
225
+ def to_hash
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class LeadRetrieveParams < 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::LeadRetrieveParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ sig do
15
+ params(request_options: WhopSDK::RequestOptions::OrHash).returns(
16
+ T.attached_class
17
+ )
18
+ end
19
+ def self.new(request_options: {})
20
+ end
21
+
22
+ sig { override.returns({ request_options: WhopSDK::RequestOptions }) }
23
+ def to_hash
24
+ end
25
+ end
26
+ end
27
+ end