whop_sdk 0.0.23 → 0.0.24

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 (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/models/app_build_create_params.rb +16 -55
  5. data/lib/whop_sdk/models/app_create_params.rb +22 -1
  6. data/lib/whop_sdk/models/app_list_params.rb +5 -0
  7. data/lib/whop_sdk/models/app_update_params.rb +14 -53
  8. data/lib/whop_sdk/models/card_brands.rb +16 -0
  9. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +32 -56
  10. data/lib/whop_sdk/models/company_create_params.rb +22 -1
  11. data/lib/whop_sdk/models/company_update_params.rb +28 -106
  12. data/lib/whop_sdk/models/course_create_params.rb +15 -62
  13. data/lib/whop_sdk/models/course_lesson_create_params.rb +14 -53
  14. data/lib/whop_sdk/models/course_lesson_update_params.rb +53 -214
  15. data/lib/whop_sdk/models/course_update_params.rb +14 -61
  16. data/lib/whop_sdk/models/dispute_update_evidence_params.rb +56 -212
  17. data/lib/whop_sdk/models/experience_create_params.rb +22 -1
  18. data/lib/whop_sdk/models/experience_update_params.rb +14 -53
  19. data/lib/whop_sdk/models/forum_post_create_params.rb +13 -52
  20. data/lib/whop_sdk/models/forum_post_update_params.rb +13 -52
  21. data/lib/whop_sdk/models/friendly_receipt_status.rb +23 -11
  22. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +1 -34
  23. data/lib/whop_sdk/models/member_list_response.rb +9 -1
  24. data/lib/whop_sdk/models/member_retrieve_response.rb +9 -1
  25. data/lib/whop_sdk/models/membership.rb +76 -2
  26. data/lib/whop_sdk/models/membership_list_response.rb +38 -2
  27. data/lib/whop_sdk/models/membership_uncancel_params.rb +14 -0
  28. data/lib/whop_sdk/models/message_create_params.rb +13 -52
  29. data/lib/whop_sdk/models/message_update_params.rb +14 -53
  30. data/lib/whop_sdk/models/payment.rb +17 -1
  31. data/lib/whop_sdk/models/payment_list_response.rb +17 -1
  32. data/lib/whop_sdk/models/payment_method_types.rb +58 -57
  33. data/lib/whop_sdk/models/payment_provider.rb +1 -0
  34. data/lib/whop_sdk/models/payout_method_created_webhook_event.rb +26 -1
  35. data/lib/whop_sdk/models/payout_method_list_response.rb +26 -1
  36. data/lib/whop_sdk/models/payout_method_retrieve_response.rb +26 -1
  37. data/lib/whop_sdk/models/plan_create_params.rb +14 -53
  38. data/lib/whop_sdk/models/plan_update_params.rb +14 -53
  39. data/lib/whop_sdk/models/withdrawal_create_params.rb +21 -1
  40. data/lib/whop_sdk/models/withdrawal_create_response.rb +2 -9
  41. data/lib/whop_sdk/models/withdrawal_created_webhook_event.rb +2 -9
  42. data/lib/whop_sdk/models/withdrawal_list_response.rb +1 -9
  43. data/lib/whop_sdk/models/withdrawal_retrieve_response.rb +2 -9
  44. data/lib/whop_sdk/models/withdrawal_updated_webhook_event.rb +2 -9
  45. data/lib/whop_sdk/models.rb +2 -2
  46. data/lib/whop_sdk/resources/app_builds.rb +1 -1
  47. data/lib/whop_sdk/resources/apps.rb +4 -2
  48. data/lib/whop_sdk/resources/checkout_configurations.rb +3 -1
  49. data/lib/whop_sdk/resources/companies.rb +5 -3
  50. data/lib/whop_sdk/resources/course_lessons.rb +4 -4
  51. data/lib/whop_sdk/resources/courses.rb +4 -8
  52. data/lib/whop_sdk/resources/disputes.rb +4 -4
  53. data/lib/whop_sdk/resources/experiences.rb +4 -2
  54. data/lib/whop_sdk/resources/forum_posts.rb +2 -2
  55. data/lib/whop_sdk/resources/memberships.rb +32 -0
  56. data/lib/whop_sdk/resources/messages.rb +2 -2
  57. data/lib/whop_sdk/resources/notifications.rb +4 -0
  58. data/lib/whop_sdk/resources/plans.rb +2 -2
  59. data/lib/whop_sdk/resources/withdrawals.rb +8 -1
  60. data/lib/whop_sdk/version.rb +1 -1
  61. data/lib/whop_sdk.rb +1 -1
  62. data/rbi/whop_sdk/models/app_build_create_params.rbi +26 -89
  63. data/rbi/whop_sdk/models/app_create_params.rbi +36 -0
  64. data/rbi/whop_sdk/models/app_list_params.rbi +10 -0
  65. data/rbi/whop_sdk/models/app_update_params.rbi +21 -93
  66. data/rbi/whop_sdk/models/card_brands.rbi +17 -0
  67. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +45 -87
  68. data/rbi/whop_sdk/models/company_create_params.rbi +39 -0
  69. data/rbi/whop_sdk/models/company_update_params.rbi +47 -185
  70. data/rbi/whop_sdk/models/course_create_params.rbi +24 -101
  71. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +25 -92
  72. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +97 -359
  73. data/rbi/whop_sdk/models/course_update_params.rbi +24 -101
  74. data/rbi/whop_sdk/models/dispute_update_evidence_params.rbi +116 -340
  75. data/rbi/whop_sdk/models/experience_create_params.rbi +41 -0
  76. data/rbi/whop_sdk/models/experience_update_params.rbi +24 -93
  77. data/rbi/whop_sdk/models/forum_post_create_params.rbi +18 -94
  78. data/rbi/whop_sdk/models/forum_post_update_params.rbi +18 -94
  79. data/rbi/whop_sdk/models/friendly_receipt_status.rbi +62 -17
  80. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +0 -105
  81. data/rbi/whop_sdk/models/member_list_response.rbi +8 -0
  82. data/rbi/whop_sdk/models/member_retrieve_response.rbi +8 -0
  83. data/rbi/whop_sdk/models/membership.rbi +126 -4
  84. data/rbi/whop_sdk/models/membership_list_response.rbi +98 -4
  85. data/rbi/whop_sdk/models/membership_uncancel_params.rbi +27 -0
  86. data/rbi/whop_sdk/models/message_create_params.rbi +18 -94
  87. data/rbi/whop_sdk/models/message_update_params.rbi +18 -94
  88. data/rbi/whop_sdk/models/payment.rbi +16 -0
  89. data/rbi/whop_sdk/models/payment_list_response.rbi +16 -0
  90. data/rbi/whop_sdk/models/payment_method_types.rbi +66 -64
  91. data/rbi/whop_sdk/models/payment_provider.rbi +1 -0
  92. data/rbi/whop_sdk/models/payout_method_created_webhook_event.rbi +26 -0
  93. data/rbi/whop_sdk/models/payout_method_list_response.rbi +26 -0
  94. data/rbi/whop_sdk/models/payout_method_retrieve_response.rbi +26 -0
  95. data/rbi/whop_sdk/models/plan_create_params.rbi +21 -93
  96. data/rbi/whop_sdk/models/plan_update_params.rbi +21 -93
  97. data/rbi/whop_sdk/models/withdrawal_create_params.rbi +18 -0
  98. data/rbi/whop_sdk/models/withdrawal_create_response.rbi +8 -11
  99. data/rbi/whop_sdk/models/withdrawal_created_webhook_event.rbi +8 -11
  100. data/rbi/whop_sdk/models/withdrawal_list_response.rbi +3 -11
  101. data/rbi/whop_sdk/models/withdrawal_retrieve_response.rbi +8 -11
  102. data/rbi/whop_sdk/models/withdrawal_updated_webhook_event.rbi +8 -11
  103. data/rbi/whop_sdk/models.rbi +2 -2
  104. data/rbi/whop_sdk/resources/app_builds.rbi +1 -5
  105. data/rbi/whop_sdk/resources/apps.rbi +4 -7
  106. data/rbi/whop_sdk/resources/checkout_configurations.rbi +3 -0
  107. data/rbi/whop_sdk/resources/companies.rbi +5 -13
  108. data/rbi/whop_sdk/resources/course_lessons.rbi +4 -24
  109. data/rbi/whop_sdk/resources/courses.rbi +2 -20
  110. data/rbi/whop_sdk/resources/disputes.rbi +4 -16
  111. data/rbi/whop_sdk/resources/experiences.rbi +4 -7
  112. data/rbi/whop_sdk/resources/forum_posts.rbi +2 -12
  113. data/rbi/whop_sdk/resources/memberships.rbi +26 -0
  114. data/rbi/whop_sdk/resources/messages.rbi +2 -12
  115. data/rbi/whop_sdk/resources/notifications.rbi +4 -0
  116. data/rbi/whop_sdk/resources/plans.rbi +2 -14
  117. data/rbi/whop_sdk/resources/withdrawals.rbi +7 -0
  118. data/sig/whop_sdk/models/app_build_create_params.rbs +9 -30
  119. data/sig/whop_sdk/models/app_create_params.rbs +20 -1
  120. data/sig/whop_sdk/models/app_list_params.rbs +10 -0
  121. data/sig/whop_sdk/models/app_update_params.rbs +9 -30
  122. data/sig/whop_sdk/models/card_brands.rbs +32 -0
  123. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +19 -30
  124. data/sig/whop_sdk/models/company_create_params.rbs +15 -0
  125. data/sig/whop_sdk/models/company_update_params.rbs +18 -60
  126. data/sig/whop_sdk/models/course_create_params.rbs +9 -35
  127. data/sig/whop_sdk/models/course_lesson_create_params.rbs +9 -30
  128. data/sig/whop_sdk/models/course_lesson_update_params.rbs +36 -120
  129. data/sig/whop_sdk/models/course_update_params.rbs +9 -35
  130. data/sig/whop_sdk/models/dispute_update_evidence_params.rbs +36 -120
  131. data/sig/whop_sdk/models/experience_create_params.rbs +15 -0
  132. data/sig/whop_sdk/models/experience_update_params.rbs +9 -30
  133. data/sig/whop_sdk/models/forum_post_create_params.rbs +9 -30
  134. data/sig/whop_sdk/models/forum_post_update_params.rbs +9 -30
  135. data/sig/whop_sdk/models/friendly_receipt_status.rbs +46 -22
  136. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +0 -38
  137. data/sig/whop_sdk/models/member_list_response.rbs +5 -0
  138. data/sig/whop_sdk/models/member_retrieve_response.rbs +5 -0
  139. data/sig/whop_sdk/models/membership.rbs +65 -4
  140. data/sig/whop_sdk/models/membership_list_response.rbs +45 -4
  141. data/sig/whop_sdk/models/membership_uncancel_params.rbs +15 -0
  142. data/sig/whop_sdk/models/message_create_params.rbs +9 -30
  143. data/sig/whop_sdk/models/message_update_params.rbs +9 -30
  144. data/sig/whop_sdk/models/payment.rbs +10 -0
  145. data/sig/whop_sdk/models/payment_list_response.rbs +10 -0
  146. data/sig/whop_sdk/models/payment_method_types.rbs +117 -115
  147. data/sig/whop_sdk/models/payment_provider.rbs +2 -0
  148. data/sig/whop_sdk/models/payout_method_created_webhook_event.rbs +15 -0
  149. data/sig/whop_sdk/models/payout_method_list_response.rbs +15 -0
  150. data/sig/whop_sdk/models/payout_method_retrieve_response.rbs +15 -0
  151. data/sig/whop_sdk/models/plan_create_params.rbs +9 -30
  152. data/sig/whop_sdk/models/plan_update_params.rbs +9 -30
  153. data/sig/whop_sdk/models/withdrawal_create_params.rbs +11 -1
  154. data/sig/whop_sdk/models/withdrawal_create_response.rbs +5 -8
  155. data/sig/whop_sdk/models/withdrawal_created_webhook_event.rbs +5 -8
  156. data/sig/whop_sdk/models/withdrawal_list_response.rbs +3 -8
  157. data/sig/whop_sdk/models/withdrawal_retrieve_response.rbs +5 -8
  158. data/sig/whop_sdk/models/withdrawal_updated_webhook_event.rbs +5 -8
  159. data/sig/whop_sdk/models.rbs +2 -2
  160. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  161. data/sig/whop_sdk/resources/apps.rbs +2 -1
  162. data/sig/whop_sdk/resources/checkout_configurations.rbs +1 -0
  163. data/sig/whop_sdk/resources/companies.rbs +3 -2
  164. data/sig/whop_sdk/resources/course_lessons.rbs +4 -4
  165. data/sig/whop_sdk/resources/courses.rbs +2 -4
  166. data/sig/whop_sdk/resources/disputes.rbs +4 -4
  167. data/sig/whop_sdk/resources/experiences.rbs +2 -1
  168. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  169. data/sig/whop_sdk/resources/memberships.rbs +5 -0
  170. data/sig/whop_sdk/resources/messages.rbs +2 -2
  171. data/sig/whop_sdk/resources/plans.rbs +2 -2
  172. data/sig/whop_sdk/resources/withdrawals.rbs +2 -0
  173. metadata +19 -5
  174. data/lib/whop_sdk/models/withdrawal_types.rb +0 -16
  175. data/rbi/whop_sdk/models/withdrawal_types.rbi +0 -20
  176. data/sig/whop_sdk/models/withdrawal_types.rbs +0 -14
@@ -19,6 +19,10 @@ module WhopSDK
19
19
  sig { returns(WhopSDK::AccessLevel::TaggedSymbol) }
20
20
  attr_accessor :access_level
21
21
 
22
+ # The member's token balance for this company
23
+ sig { returns(Float) }
24
+ attr_accessor :company_token_balance
25
+
22
26
  # When the member was created
23
27
  sig { returns(Time) }
24
28
  attr_accessor :created_at
@@ -69,6 +73,7 @@ module WhopSDK
69
73
  params(
70
74
  id: String,
71
75
  access_level: WhopSDK::AccessLevel::OrSymbol,
76
+ company_token_balance: Float,
72
77
  created_at: Time,
73
78
  joined_at: Time,
74
79
  most_recent_action:
@@ -89,6 +94,8 @@ module WhopSDK
89
94
  # membership to any product on the company. If its no_access, the member does not
90
95
  # have access to the product.
91
96
  access_level:,
97
+ # The member's token balance for this company
98
+ company_token_balance:,
92
99
  # When the member was created
93
100
  created_at:,
94
101
  # When the member joined the company
@@ -115,6 +122,7 @@ module WhopSDK
115
122
  {
116
123
  id: String,
117
124
  access_level: WhopSDK::AccessLevel::TaggedSymbol,
125
+ company_token_balance: Float,
118
126
  created_at: Time,
119
127
  joined_at: Time,
120
128
  most_recent_action:
@@ -33,6 +33,10 @@ module WhopSDK
33
33
  end
34
34
  attr_writer :company
35
35
 
36
+ # The member's token balance for this company
37
+ sig { returns(Float) }
38
+ attr_accessor :company_token_balance
39
+
36
40
  # When the member was created
37
41
  sig { returns(Time) }
38
42
  attr_accessor :created_at
@@ -84,6 +88,7 @@ module WhopSDK
84
88
  id: String,
85
89
  access_level: WhopSDK::AccessLevel::OrSymbol,
86
90
  company: WhopSDK::Models::MemberRetrieveResponse::Company::OrHash,
91
+ company_token_balance: Float,
87
92
  created_at: Time,
88
93
  joined_at: Time,
89
94
  most_recent_action:
@@ -106,6 +111,8 @@ module WhopSDK
106
111
  access_level:,
107
112
  # The company for the member.
108
113
  company:,
114
+ # The member's token balance for this company
115
+ company_token_balance:,
109
116
  # When the member was created
110
117
  created_at:,
111
118
  # When the member joined the company
@@ -133,6 +140,7 @@ module WhopSDK
133
140
  id: String,
134
141
  access_level: WhopSDK::AccessLevel::TaggedSymbol,
135
142
  company: WhopSDK::Models::MemberRetrieveResponse::Company,
143
+ company_token_balance: Float,
136
144
  created_at: Time,
137
145
  joined_at: Time,
138
146
  most_recent_action:
@@ -15,6 +15,13 @@ module WhopSDK
15
15
  sig { returns(T::Boolean) }
16
16
  attr_accessor :cancel_at_period_end
17
17
 
18
+ # The different reasons a user can choose for why they are canceling their
19
+ # membership.
20
+ sig do
21
+ returns(T.nilable(WhopSDK::Membership::CancelOption::TaggedSymbol))
22
+ end
23
+ attr_accessor :cancel_option
24
+
18
25
  # The epoch timestamp of when the customer initiated a cancellation.
19
26
  sig { returns(T.nilable(Time)) }
20
27
  attr_accessor :canceled_at
@@ -38,6 +45,10 @@ module WhopSDK
38
45
  sig { returns(T.nilable(WhopSDK::Currency::TaggedSymbol)) }
39
46
  attr_accessor :currency
40
47
 
48
+ # The responses to custom checkout questions for this membership.
49
+ sig { returns(T::Array[WhopSDK::Membership::CustomFieldResponse]) }
50
+ attr_accessor :custom_field_responses
51
+
41
52
  # The license key for this Membership. This is only present if the membership
42
53
  # grants access to an instance of the Whop Software app.
43
54
  sig { returns(T.nilable(String)) }
@@ -120,11 +131,14 @@ module WhopSDK
120
131
  params(
121
132
  id: String,
122
133
  cancel_at_period_end: T::Boolean,
134
+ cancel_option: T.nilable(WhopSDK::Membership::CancelOption::OrSymbol),
123
135
  canceled_at: T.nilable(Time),
124
136
  cancellation_reason: T.nilable(String),
125
137
  company: WhopSDK::Membership::Company::OrHash,
126
138
  created_at: Time,
127
139
  currency: T.nilable(WhopSDK::Currency::OrSymbol),
140
+ custom_field_responses:
141
+ T::Array[WhopSDK::Membership::CustomFieldResponse::OrHash],
128
142
  license_key: T.nilable(String),
129
143
  manage_url: T.nilable(String),
130
144
  member: T.nilable(WhopSDK::Membership::Member::OrHash),
@@ -146,6 +160,9 @@ module WhopSDK
146
160
  # Whether this Membership is set to cancel at the end of the current billing
147
161
  # cycle. Only applies for memberships that have a renewal plan.
148
162
  cancel_at_period_end:,
163
+ # The different reasons a user can choose for why they are canceling their
164
+ # membership.
165
+ cancel_option:,
149
166
  # The epoch timestamp of when the customer initiated a cancellation.
150
167
  canceled_at:,
151
168
  # The reason that the member canceled the membership (filled out by the member).
@@ -156,6 +173,8 @@ module WhopSDK
156
173
  created_at:,
157
174
  # The available currencies on the platform
158
175
  currency:,
176
+ # The responses to custom checkout questions for this membership.
177
+ custom_field_responses:,
159
178
  # The license key for this Membership. This is only present if the membership
160
179
  # grants access to an instance of the Whop Software app.
161
180
  license_key:,
@@ -193,11 +212,15 @@ module WhopSDK
193
212
  {
194
213
  id: String,
195
214
  cancel_at_period_end: T::Boolean,
215
+ cancel_option:
216
+ T.nilable(WhopSDK::Membership::CancelOption::TaggedSymbol),
196
217
  canceled_at: T.nilable(Time),
197
218
  cancellation_reason: T.nilable(String),
198
219
  company: WhopSDK::Membership::Company,
199
220
  created_at: Time,
200
221
  currency: T.nilable(WhopSDK::Currency::TaggedSymbol),
222
+ custom_field_responses:
223
+ T::Array[WhopSDK::Membership::CustomFieldResponse],
201
224
  license_key: T.nilable(String),
202
225
  manage_url: T.nilable(String),
203
226
  member: T.nilable(WhopSDK::Membership::Member),
@@ -217,6 +240,47 @@ module WhopSDK
217
240
  def to_hash
218
241
  end
219
242
 
243
+ # The different reasons a user can choose for why they are canceling their
244
+ # membership.
245
+ module CancelOption
246
+ extend WhopSDK::Internal::Type::Enum
247
+
248
+ TaggedSymbol =
249
+ T.type_alias { T.all(Symbol, WhopSDK::Membership::CancelOption) }
250
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
251
+
252
+ TOO_EXPENSIVE =
253
+ T.let(:too_expensive, WhopSDK::Membership::CancelOption::TaggedSymbol)
254
+ SWITCHING =
255
+ T.let(:switching, WhopSDK::Membership::CancelOption::TaggedSymbol)
256
+ MISSING_FEATURES =
257
+ T.let(
258
+ :missing_features,
259
+ WhopSDK::Membership::CancelOption::TaggedSymbol
260
+ )
261
+ TECHNICAL_ISSUES =
262
+ T.let(
263
+ :technical_issues,
264
+ WhopSDK::Membership::CancelOption::TaggedSymbol
265
+ )
266
+ BAD_EXPERIENCE =
267
+ T.let(
268
+ :bad_experience,
269
+ WhopSDK::Membership::CancelOption::TaggedSymbol
270
+ )
271
+ OTHER = T.let(:other, WhopSDK::Membership::CancelOption::TaggedSymbol)
272
+ TESTING =
273
+ T.let(:testing, WhopSDK::Membership::CancelOption::TaggedSymbol)
274
+
275
+ sig do
276
+ override.returns(
277
+ T::Array[WhopSDK::Membership::CancelOption::TaggedSymbol]
278
+ )
279
+ end
280
+ def self.values
281
+ end
282
+ end
283
+
220
284
  class Company < WhopSDK::Internal::Type::BaseModel
221
285
  OrHash =
222
286
  T.type_alias do
@@ -246,6 +310,50 @@ module WhopSDK
246
310
  end
247
311
  end
248
312
 
313
+ class CustomFieldResponse < WhopSDK::Internal::Type::BaseModel
314
+ OrHash =
315
+ T.type_alias do
316
+ T.any(
317
+ WhopSDK::Membership::CustomFieldResponse,
318
+ WhopSDK::Internal::AnyHash
319
+ )
320
+ end
321
+
322
+ # The ID of the custom field item
323
+ sig { returns(String) }
324
+ attr_accessor :id
325
+
326
+ # The response a user gave to the specific question or field.
327
+ sig { returns(String) }
328
+ attr_accessor :answer
329
+
330
+ # The question asked by the custom field
331
+ sig { returns(String) }
332
+ attr_accessor :question
333
+
334
+ # The response from a custom field on checkout
335
+ sig do
336
+ params(id: String, answer: String, question: String).returns(
337
+ T.attached_class
338
+ )
339
+ end
340
+ def self.new(
341
+ # The ID of the custom field item
342
+ id:,
343
+ # The response a user gave to the specific question or field.
344
+ answer:,
345
+ # The question asked by the custom field
346
+ question:
347
+ )
348
+ end
349
+
350
+ sig do
351
+ override.returns({ id: String, answer: String, question: String })
352
+ end
353
+ def to_hash
354
+ end
355
+ end
356
+
249
357
  class Member < WhopSDK::Internal::Type::BaseModel
250
358
  OrHash =
251
359
  T.type_alias do
@@ -354,6 +462,10 @@ module WhopSDK
354
462
  sig { returns(String) }
355
463
  attr_accessor :id
356
464
 
465
+ # The email of the user
466
+ sig { returns(T.nilable(String)) }
467
+ attr_accessor :email
468
+
357
469
  # The name of the user from their Whop account.
358
470
  sig { returns(T.nilable(String)) }
359
471
  attr_accessor :name
@@ -364,13 +476,18 @@ module WhopSDK
364
476
 
365
477
  # The user this membership belongs to
366
478
  sig do
367
- params(id: String, name: T.nilable(String), username: String).returns(
368
- T.attached_class
369
- )
479
+ params(
480
+ id: String,
481
+ email: T.nilable(String),
482
+ name: T.nilable(String),
483
+ username: String
484
+ ).returns(T.attached_class)
370
485
  end
371
486
  def self.new(
372
487
  # The internal ID of the user.
373
488
  id:,
489
+ # The email of the user
490
+ email:,
374
491
  # The name of the user from their Whop account.
375
492
  name:,
376
493
  # The username of the user from their Whop account.
@@ -380,7 +497,12 @@ module WhopSDK
380
497
 
381
498
  sig do
382
499
  override.returns(
383
- { id: String, name: T.nilable(String), username: String }
500
+ {
501
+ id: String,
502
+ email: T.nilable(String),
503
+ name: T.nilable(String),
504
+ username: String
505
+ }
384
506
  )
385
507
  end
386
508
  def to_hash
@@ -20,6 +20,17 @@ module WhopSDK
20
20
  sig { returns(T::Boolean) }
21
21
  attr_accessor :cancel_at_period_end
22
22
 
23
+ # The different reasons a user can choose for why they are canceling their
24
+ # membership.
25
+ sig do
26
+ returns(
27
+ T.nilable(
28
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
29
+ )
30
+ )
31
+ end
32
+ attr_accessor :cancel_option
33
+
23
34
  # The epoch timestamp of when the customer initiated a cancellation.
24
35
  sig { returns(T.nilable(Time)) }
25
36
  attr_accessor :canceled_at
@@ -149,6 +160,10 @@ module WhopSDK
149
160
  params(
150
161
  id: String,
151
162
  cancel_at_period_end: T::Boolean,
163
+ cancel_option:
164
+ T.nilable(
165
+ WhopSDK::Models::MembershipListResponse::CancelOption::OrSymbol
166
+ ),
152
167
  canceled_at: T.nilable(Time),
153
168
  cancellation_reason: T.nilable(String),
154
169
  company: WhopSDK::Models::MembershipListResponse::Company::OrHash,
@@ -179,6 +194,9 @@ module WhopSDK
179
194
  # Whether this Membership is set to cancel at the end of the current billing
180
195
  # cycle. Only applies for memberships that have a renewal plan.
181
196
  cancel_at_period_end:,
197
+ # The different reasons a user can choose for why they are canceling their
198
+ # membership.
199
+ cancel_option:,
182
200
  # The epoch timestamp of when the customer initiated a cancellation.
183
201
  canceled_at:,
184
202
  # The reason that the member canceled the membership (filled out by the member).
@@ -226,6 +244,10 @@ module WhopSDK
226
244
  {
227
245
  id: String,
228
246
  cancel_at_period_end: T::Boolean,
247
+ cancel_option:
248
+ T.nilable(
249
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
250
+ ),
229
251
  canceled_at: T.nilable(Time),
230
252
  cancellation_reason: T.nilable(String),
231
253
  company: WhopSDK::Models::MembershipListResponse::Company,
@@ -251,6 +273,64 @@ module WhopSDK
251
273
  def to_hash
252
274
  end
253
275
 
276
+ # The different reasons a user can choose for why they are canceling their
277
+ # membership.
278
+ module CancelOption
279
+ extend WhopSDK::Internal::Type::Enum
280
+
281
+ TaggedSymbol =
282
+ T.type_alias do
283
+ T.all(Symbol, WhopSDK::Models::MembershipListResponse::CancelOption)
284
+ end
285
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
286
+
287
+ TOO_EXPENSIVE =
288
+ T.let(
289
+ :too_expensive,
290
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
291
+ )
292
+ SWITCHING =
293
+ T.let(
294
+ :switching,
295
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
296
+ )
297
+ MISSING_FEATURES =
298
+ T.let(
299
+ :missing_features,
300
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
301
+ )
302
+ TECHNICAL_ISSUES =
303
+ T.let(
304
+ :technical_issues,
305
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
306
+ )
307
+ BAD_EXPERIENCE =
308
+ T.let(
309
+ :bad_experience,
310
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
311
+ )
312
+ OTHER =
313
+ T.let(
314
+ :other,
315
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
316
+ )
317
+ TESTING =
318
+ T.let(
319
+ :testing,
320
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
321
+ )
322
+
323
+ sig do
324
+ override.returns(
325
+ T::Array[
326
+ WhopSDK::Models::MembershipListResponse::CancelOption::TaggedSymbol
327
+ ]
328
+ )
329
+ end
330
+ def self.values
331
+ end
332
+ end
333
+
254
334
  class Company < WhopSDK::Internal::Type::BaseModel
255
335
  OrHash =
256
336
  T.type_alias do
@@ -406,6 +486,10 @@ module WhopSDK
406
486
  sig { returns(String) }
407
487
  attr_accessor :id
408
488
 
489
+ # The email of the user
490
+ sig { returns(T.nilable(String)) }
491
+ attr_accessor :email
492
+
409
493
  # The name of the user from their Whop account.
410
494
  sig { returns(T.nilable(String)) }
411
495
  attr_accessor :name
@@ -416,13 +500,18 @@ module WhopSDK
416
500
 
417
501
  # The user this membership belongs to
418
502
  sig do
419
- params(id: String, name: T.nilable(String), username: String).returns(
420
- T.attached_class
421
- )
503
+ params(
504
+ id: String,
505
+ email: T.nilable(String),
506
+ name: T.nilable(String),
507
+ username: String
508
+ ).returns(T.attached_class)
422
509
  end
423
510
  def self.new(
424
511
  # The internal ID of the user.
425
512
  id:,
513
+ # The email of the user
514
+ email:,
426
515
  # The name of the user from their Whop account.
427
516
  name:,
428
517
  # The username of the user from their Whop account.
@@ -432,7 +521,12 @@ module WhopSDK
432
521
 
433
522
  sig do
434
523
  override.returns(
435
- { id: String, name: T.nilable(String), username: String }
524
+ {
525
+ id: String,
526
+ email: T.nilable(String),
527
+ name: T.nilable(String),
528
+ username: String
529
+ }
436
530
  )
437
531
  end
438
532
  def to_hash
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class MembershipUncancelParams < 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::MembershipUncancelParams, 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
@@ -21,16 +21,7 @@ module WhopSDK
21
21
 
22
22
  # The attachments for this message, such as videos or images.
23
23
  sig do
24
- returns(
25
- T.nilable(
26
- T::Array[
27
- T.any(
28
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
29
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
30
- )
31
- ]
32
- )
33
- )
24
+ returns(T.nilable(T::Array[WhopSDK::MessageCreateParams::Attachment]))
34
25
  end
35
26
  attr_accessor :attachments
36
27
 
@@ -49,12 +40,7 @@ module WhopSDK
49
40
  content: String,
50
41
  attachments:
51
42
  T.nilable(
52
- T::Array[
53
- T.any(
54
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID::OrHash,
55
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID::OrHash
56
- )
57
- ]
43
+ T::Array[WhopSDK::MessageCreateParams::Attachment::OrHash]
58
44
  ),
59
45
  poll: T.nilable(WhopSDK::MessageCreateParams::Poll::OrHash),
60
46
  request_options: WhopSDK::RequestOptions::OrHash
@@ -79,14 +65,7 @@ module WhopSDK
79
65
  channel_id: String,
80
66
  content: String,
81
67
  attachments:
82
- T.nilable(
83
- T::Array[
84
- T.any(
85
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
86
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
87
- )
88
- ]
89
- ),
68
+ T.nilable(T::Array[WhopSDK::MessageCreateParams::Attachment]),
90
69
  poll: T.nilable(WhopSDK::MessageCreateParams::Poll),
91
70
  request_options: WhopSDK::RequestOptions
92
71
  }
@@ -95,84 +74,29 @@ module WhopSDK
95
74
  def to_hash
96
75
  end
97
76
 
98
- # Input for an attachment
99
- module Attachment
100
- extend WhopSDK::Internal::Type::Union
101
-
102
- Variants =
77
+ class Attachment < WhopSDK::Internal::Type::BaseModel
78
+ OrHash =
103
79
  T.type_alias do
104
80
  T.any(
105
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
106
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID
81
+ WhopSDK::MessageCreateParams::Attachment,
82
+ WhopSDK::Internal::AnyHash
107
83
  )
108
84
  end
109
85
 
110
- class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
111
- OrHash =
112
- T.type_alias do
113
- T.any(
114
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithDirectUploadID,
115
- WhopSDK::Internal::AnyHash
116
- )
117
- end
118
-
119
- # This ID should be used the first time you upload an attachment. It is the ID of
120
- # the direct upload that was created when uploading the file to S3 via the
121
- # mediaDirectUpload mutation.
122
- sig { returns(String) }
123
- attr_accessor :direct_upload_id
124
-
125
- # Input for an attachment
126
- sig { params(direct_upload_id: String).returns(T.attached_class) }
127
- def self.new(
128
- # This ID should be used the first time you upload an attachment. It is the ID of
129
- # the direct upload that was created when uploading the file to S3 via the
130
- # mediaDirectUpload mutation.
131
- direct_upload_id:
132
- )
133
- end
134
-
135
- sig { override.returns({ direct_upload_id: String }) }
136
- def to_hash
137
- end
138
- end
139
-
140
- class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
141
- OrHash =
142
- T.type_alias do
143
- T.any(
144
- WhopSDK::MessageCreateParams::Attachment::AttachmentInputWithID,
145
- WhopSDK::Internal::AnyHash
146
- )
147
- end
148
-
149
- # The ID of an existing attachment object. Use this when updating a resource and
150
- # keeping a subset of the attachments. Don't use this unless you know what you're
151
- # doing.
152
- sig { returns(String) }
153
- attr_accessor :id
86
+ # The ID of an existing file object.
87
+ sig { returns(String) }
88
+ attr_accessor :id
154
89
 
155
- # Input for an attachment
156
- sig { params(id: String).returns(T.attached_class) }
157
- def self.new(
158
- # The ID of an existing attachment object. Use this when updating a resource and
159
- # keeping a subset of the attachments. Don't use this unless you know what you're
160
- # doing.
161
- id:
162
- )
163
- end
164
-
165
- sig { override.returns({ id: String }) }
166
- def to_hash
167
- end
90
+ # Input for an attachment
91
+ sig { params(id: String).returns(T.attached_class) }
92
+ def self.new(
93
+ # The ID of an existing file object.
94
+ id:
95
+ )
168
96
  end
169
97
 
170
- sig do
171
- override.returns(
172
- T::Array[WhopSDK::MessageCreateParams::Attachment::Variants]
173
- )
174
- end
175
- def self.variants
98
+ sig { override.returns({ id: String }) }
99
+ def to_hash
176
100
  end
177
101
  end
178
102