whop_sdk 0.0.7 → 0.0.8

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 (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +7 -7
  4. data/lib/whop_sdk/client.rb +8 -0
  5. data/lib/whop_sdk/internal/type/base_model.rb +1 -1
  6. data/lib/whop_sdk/models/app.rb +9 -1
  7. data/lib/whop_sdk/models/app_list_params.rb +9 -1
  8. data/lib/whop_sdk/models/app_list_response.rb +9 -1
  9. data/lib/whop_sdk/models/app_type.rb +18 -0
  10. data/lib/whop_sdk/models/app_update_params.rb +9 -1
  11. data/lib/whop_sdk/models/checkout_configuration.rb +69 -7
  12. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +73 -1
  13. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +69 -7
  14. data/lib/whop_sdk/models/checkout_modes.rb +16 -0
  15. data/lib/whop_sdk/models/course.rb +9 -1
  16. data/lib/whop_sdk/models/course_lesson_list_response.rb +9 -1
  17. data/lib/whop_sdk/models/course_lesson_mark_as_completed_params.rb +14 -0
  18. data/lib/whop_sdk/models/course_lesson_mark_as_completed_response.rb +8 -0
  19. data/lib/whop_sdk/models/course_lesson_start_params.rb +14 -0
  20. data/lib/whop_sdk/models/course_lesson_start_response.rb +8 -0
  21. data/lib/whop_sdk/models/course_lesson_submit_assessment_params.rb +52 -0
  22. data/lib/whop_sdk/models/course_lesson_submit_assessment_response.rb +151 -0
  23. data/lib/whop_sdk/models/course_list_response.rb +9 -1
  24. data/lib/whop_sdk/models/forum_post_create_params.rb +3 -14
  25. data/lib/whop_sdk/models/forum_post_update_params.rb +3 -14
  26. data/lib/whop_sdk/models/forum_post_visibility_type.rb +16 -0
  27. data/lib/whop_sdk/models/lesson.rb +104 -2
  28. data/lib/whop_sdk/models/payment_provider.rb +22 -0
  29. data/lib/whop_sdk/models/refund_created_webhook_event.rb +354 -0
  30. data/lib/whop_sdk/models/refund_list_params.rb +62 -0
  31. data/lib/whop_sdk/models/refund_list_response.rb +113 -0
  32. data/lib/whop_sdk/models/refund_reference_status.rb +17 -0
  33. data/lib/whop_sdk/models/refund_reference_type.rb +17 -0
  34. data/lib/whop_sdk/models/refund_retrieve_params.rb +14 -0
  35. data/lib/whop_sdk/models/refund_retrieve_response.rb +307 -0
  36. data/lib/whop_sdk/models/refund_status.rb +19 -0
  37. data/lib/whop_sdk/models/refund_updated_webhook_event.rb +354 -0
  38. data/lib/whop_sdk/models/unwrap_webhook_event.rb +5 -1
  39. data/lib/whop_sdk/models/withdrawal_fee_types.rb +16 -0
  40. data/lib/whop_sdk/models/withdrawal_list_params.rb +78 -0
  41. data/lib/whop_sdk/models/withdrawal_list_response.rb +87 -0
  42. data/lib/whop_sdk/models/withdrawal_retrieve_params.rb +14 -0
  43. data/lib/whop_sdk/models/withdrawal_retrieve_response.rb +320 -0
  44. data/lib/whop_sdk/models/withdrawal_speeds.rb +16 -0
  45. data/lib/whop_sdk/models/withdrawal_status.rb +21 -0
  46. data/lib/whop_sdk/models/withdrawal_types.rb +16 -0
  47. data/lib/whop_sdk/models.rb +40 -0
  48. data/lib/whop_sdk/resources/apps.rb +6 -2
  49. data/lib/whop_sdk/resources/checkout_configurations.rb +11 -1
  50. data/lib/whop_sdk/resources/course_lessons.rb +64 -0
  51. data/lib/whop_sdk/resources/forum_posts.rb +2 -2
  52. data/lib/whop_sdk/resources/refunds.rb +78 -0
  53. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  54. data/lib/whop_sdk/resources/withdrawals.rb +79 -0
  55. data/lib/whop_sdk/version.rb +1 -1
  56. data/lib/whop_sdk.rb +29 -0
  57. data/rbi/whop_sdk/client.rbi +6 -0
  58. data/rbi/whop_sdk/models/app.rbi +8 -0
  59. data/rbi/whop_sdk/models/app_list_params.rbi +8 -0
  60. data/rbi/whop_sdk/models/app_list_response.rbi +8 -0
  61. data/rbi/whop_sdk/models/app_type.rbi +22 -0
  62. data/rbi/whop_sdk/models/app_update_params.rbi +8 -0
  63. data/rbi/whop_sdk/models/checkout_configuration.rbi +117 -7
  64. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +116 -0
  65. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +127 -7
  66. data/rbi/whop_sdk/models/checkout_modes.rbi +20 -0
  67. data/rbi/whop_sdk/models/course.rbi +8 -0
  68. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +8 -0
  69. data/rbi/whop_sdk/models/course_lesson_mark_as_completed_params.rbi +30 -0
  70. data/rbi/whop_sdk/models/course_lesson_mark_as_completed_response.rbi +8 -0
  71. data/rbi/whop_sdk/models/course_lesson_start_params.rbi +27 -0
  72. data/rbi/whop_sdk/models/course_lesson_start_response.rbi +8 -0
  73. data/rbi/whop_sdk/models/course_lesson_submit_assessment_params.rbi +104 -0
  74. data/rbi/whop_sdk/models/course_lesson_submit_assessment_response.rbi +222 -0
  75. data/rbi/whop_sdk/models/course_list_response.rbi +8 -0
  76. data/rbi/whop_sdk/models/forum_post_create_params.rbi +3 -37
  77. data/rbi/whop_sdk/models/forum_post_update_params.rbi +3 -37
  78. data/rbi/whop_sdk/models/forum_post_visibility_type.rbi +27 -0
  79. data/rbi/whop_sdk/models/lesson.rbi +115 -3
  80. data/rbi/whop_sdk/models/payment_provider.rbi +27 -0
  81. data/rbi/whop_sdk/models/refund_created_webhook_event.rbi +561 -0
  82. data/rbi/whop_sdk/models/refund_list_params.rbi +83 -0
  83. data/rbi/whop_sdk/models/refund_list_response.rbi +155 -0
  84. data/rbi/whop_sdk/models/refund_reference_status.rbi +26 -0
  85. data/rbi/whop_sdk/models/refund_reference_type.rbi +36 -0
  86. data/rbi/whop_sdk/models/refund_retrieve_params.rbi +27 -0
  87. data/rbi/whop_sdk/models/refund_retrieve_response.rbi +484 -0
  88. data/rbi/whop_sdk/models/refund_status.rbi +24 -0
  89. data/rbi/whop_sdk/models/refund_updated_webhook_event.rbi +561 -0
  90. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +3 -1
  91. data/rbi/whop_sdk/models/withdrawal_fee_types.rbi +22 -0
  92. data/rbi/whop_sdk/models/withdrawal_list_params.rbi +99 -0
  93. data/rbi/whop_sdk/models/withdrawal_list_response.rbi +107 -0
  94. data/rbi/whop_sdk/models/withdrawal_retrieve_params.rbi +27 -0
  95. data/rbi/whop_sdk/models/withdrawal_retrieve_response.rbi +713 -0
  96. data/rbi/whop_sdk/models/withdrawal_speeds.rbi +22 -0
  97. data/rbi/whop_sdk/models/withdrawal_status.rbi +28 -0
  98. data/rbi/whop_sdk/models/withdrawal_types.rbi +20 -0
  99. data/rbi/whop_sdk/models.rbi +42 -0
  100. data/rbi/whop_sdk/resources/apps.rbi +6 -0
  101. data/rbi/whop_sdk/resources/checkout_configurations.rbi +15 -0
  102. data/rbi/whop_sdk/resources/course_lessons.rbi +48 -0
  103. data/rbi/whop_sdk/resources/forum_posts.rbi +2 -4
  104. data/rbi/whop_sdk/resources/refunds.rbi +68 -0
  105. data/rbi/whop_sdk/resources/webhooks.rbi +3 -1
  106. data/rbi/whop_sdk/resources/withdrawals.rbi +71 -0
  107. data/sig/whop_sdk/client.rbs +4 -0
  108. data/sig/whop_sdk/models/app.rbs +5 -0
  109. data/sig/whop_sdk/models/app_list_params.rbs +5 -0
  110. data/sig/whop_sdk/models/app_list_response.rbs +5 -0
  111. data/sig/whop_sdk/models/app_type.rbs +16 -0
  112. data/sig/whop_sdk/models/app_update_params.rbs +5 -0
  113. data/sig/whop_sdk/models/checkout_configuration.rbs +45 -8
  114. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +43 -1
  115. data/sig/whop_sdk/models/checkout_configuration_list_response.rbs +45 -8
  116. data/sig/whop_sdk/models/checkout_modes.rbs +14 -0
  117. data/sig/whop_sdk/models/course.rbs +5 -0
  118. data/sig/whop_sdk/models/course_lesson_list_response.rbs +5 -0
  119. data/sig/whop_sdk/models/course_lesson_mark_as_completed_params.rbs +15 -0
  120. data/sig/whop_sdk/models/course_lesson_mark_as_completed_response.rbs +5 -0
  121. data/sig/whop_sdk/models/course_lesson_start_params.rbs +15 -0
  122. data/sig/whop_sdk/models/course_lesson_start_response.rbs +5 -0
  123. data/sig/whop_sdk/models/course_lesson_submit_assessment_params.rbs +51 -0
  124. data/sig/whop_sdk/models/course_lesson_submit_assessment_response.rbs +96 -0
  125. data/sig/whop_sdk/models/course_list_response.rbs +5 -0
  126. data/sig/whop_sdk/models/forum_post_create_params.rbs +4 -15
  127. data/sig/whop_sdk/models/forum_post_update_params.rbs +4 -15
  128. data/sig/whop_sdk/models/forum_post_visibility_type.rbs +14 -0
  129. data/sig/whop_sdk/models/lesson.rbs +79 -3
  130. data/sig/whop_sdk/models/payment_provider.rbs +28 -0
  131. data/sig/whop_sdk/models/refund_created_webhook_event.rbs +252 -0
  132. data/sig/whop_sdk/models/refund_list_params.rbs +51 -0
  133. data/sig/whop_sdk/models/refund_list_response.rbs +80 -0
  134. data/sig/whop_sdk/models/refund_reference_status.rbs +15 -0
  135. data/sig/whop_sdk/models/refund_reference_type.rbs +18 -0
  136. data/sig/whop_sdk/models/refund_retrieve_params.rbs +15 -0
  137. data/sig/whop_sdk/models/refund_retrieve_response.rbs +215 -0
  138. data/sig/whop_sdk/models/refund_status.rbs +18 -0
  139. data/sig/whop_sdk/models/refund_updated_webhook_event.rbs +252 -0
  140. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +2 -0
  141. data/sig/whop_sdk/models/withdrawal_fee_types.rbs +14 -0
  142. data/sig/whop_sdk/models/withdrawal_list_params.rbs +61 -0
  143. data/sig/whop_sdk/models/withdrawal_list_response.rbs +60 -0
  144. data/sig/whop_sdk/models/withdrawal_retrieve_params.rbs +15 -0
  145. data/sig/whop_sdk/models/withdrawal_retrieve_response.rbs +297 -0
  146. data/sig/whop_sdk/models/withdrawal_speeds.rbs +14 -0
  147. data/sig/whop_sdk/models/withdrawal_status.rbs +26 -0
  148. data/sig/whop_sdk/models/withdrawal_types.rbs +14 -0
  149. data/sig/whop_sdk/models.rbs +40 -0
  150. data/sig/whop_sdk/resources/apps.rbs +2 -0
  151. data/sig/whop_sdk/resources/checkout_configurations.rbs +3 -0
  152. data/sig/whop_sdk/resources/course_lessons.rbs +16 -0
  153. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  154. data/sig/whop_sdk/resources/refunds.rbs +22 -0
  155. data/sig/whop_sdk/resources/webhooks.rbs +3 -1
  156. data/sig/whop_sdk/resources/withdrawals.rbs +24 -0
  157. metadata +89 -2
@@ -3,6 +3,9 @@
3
3
  module WhopSDK
4
4
  module Resources
5
5
  class CheckoutConfigurations
6
+ # Some parameter documentations has been truncated, see
7
+ # {WhopSDK::Models::CheckoutConfigurationCreateParams} for more details.
8
+ #
6
9
  # Creates a new checkout configuration
7
10
  #
8
11
  # Required permissions:
@@ -11,19 +14,26 @@ module WhopSDK
11
14
  # - `plan:create`
12
15
  # - `access_pass:create`
13
16
  # - `access_pass:update`
17
+ # - `checkout_configuration:basic:read`
14
18
  #
15
- # @overload create(plan:, plan_id:, affiliate_code: nil, metadata: nil, redirect_url: nil, request_options: {})
19
+ # @overload create(plan:, plan_id:, company_id:, affiliate_code: nil, metadata: nil, payment_method_configuration: nil, redirect_url: nil, mode: :setup, request_options: {})
16
20
  #
17
21
  # @param plan [WhopSDK::Models::CheckoutConfigurationCreateParams::Plan] Pass this object to create a new plan for this checkout configuration
18
22
  #
19
23
  # @param plan_id [String] The ID of the plan to use for the checkout configuration
20
24
  #
25
+ # @param company_id [String] The ID of the company for which to generate the checkout configuration. Only req
26
+ #
21
27
  # @param affiliate_code [String, nil] The affiliate code to use for the checkout configuration
22
28
  #
23
29
  # @param metadata [Hash{Symbol=>Object}, nil] The metadata to use for the checkout configuration
24
30
  #
31
+ # @param payment_method_configuration [WhopSDK::Models::CheckoutConfigurationCreateParams::PaymentMethodConfiguration, nil] This currently only works for configurations made in 'setup' mode. The explicit
32
+ #
25
33
  # @param redirect_url [String, nil] The URL to redirect the user to after the checkout configuration is created
26
34
  #
35
+ # @param mode [Symbol, :setup]
36
+ #
27
37
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
28
38
  #
29
39
  # @return [WhopSDK::Models::CheckoutConfiguration]
@@ -185,6 +185,70 @@ module WhopSDK
185
185
  )
186
186
  end
187
187
 
188
+ # Marks a course lesson as completed
189
+ #
190
+ # @overload mark_as_completed(lesson_id, request_options: {})
191
+ #
192
+ # @param lesson_id [String] The ID of the lesson to mark as completed
193
+ #
194
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
195
+ #
196
+ # @return [Boolean]
197
+ #
198
+ # @see WhopSDK::Models::CourseLessonMarkAsCompletedParams
199
+ def mark_as_completed(lesson_id, params = {})
200
+ @client.request(
201
+ method: :post,
202
+ path: ["course_lessons/%1$s/mark_as_completed", lesson_id],
203
+ model: WhopSDK::Internal::Type::Boolean,
204
+ options: params[:request_options]
205
+ )
206
+ end
207
+
208
+ # Starts a course lesson
209
+ #
210
+ # @overload start(lesson_id, request_options: {})
211
+ #
212
+ # @param lesson_id [String] The ID of the lesson being started
213
+ #
214
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
215
+ #
216
+ # @return [Boolean]
217
+ #
218
+ # @see WhopSDK::Models::CourseLessonStartParams
219
+ def start(lesson_id, params = {})
220
+ @client.request(
221
+ method: :post,
222
+ path: ["course_lessons/%1$s/start", lesson_id],
223
+ model: WhopSDK::Internal::Type::Boolean,
224
+ options: params[:request_options]
225
+ )
226
+ end
227
+
228
+ # Submits answers for a course assessment
229
+ #
230
+ # @overload submit_assessment(lesson_id, answers:, request_options: {})
231
+ #
232
+ # @param lesson_id [String] The ID of the lesson (quiz or knowledge check) to submit answers for
233
+ #
234
+ # @param answers [Array<WhopSDK::Models::CourseLessonSubmitAssessmentParams::Answer>] The answers to the assessment questions
235
+ #
236
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
237
+ #
238
+ # @return [WhopSDK::Models::CourseLessonSubmitAssessmentResponse]
239
+ #
240
+ # @see WhopSDK::Models::CourseLessonSubmitAssessmentParams
241
+ def submit_assessment(lesson_id, params)
242
+ parsed, options = WhopSDK::CourseLessonSubmitAssessmentParams.dump_request(params)
243
+ @client.request(
244
+ method: :post,
245
+ path: ["course_lessons/%1$s/submit_assessment", lesson_id],
246
+ body: parsed,
247
+ model: WhopSDK::Models::CourseLessonSubmitAssessmentResponse,
248
+ options: options
249
+ )
250
+ end
251
+
188
252
  # @api private
189
253
  #
190
254
  # @param client [WhopSDK::Client]
@@ -34,7 +34,7 @@ module WhopSDK
34
34
  #
35
35
  # @param title [String, nil] The title of the post. Only visible if paywalled.
36
36
  #
37
- # @param visibility [Symbol, WhopSDK::Models::ForumPostCreateParams::Visibility, nil] The visibility types for forum posts
37
+ # @param visibility [Symbol, WhopSDK::Models::ForumPostVisibilityType, nil] The visibility types for forum posts
38
38
  #
39
39
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
40
40
  #
@@ -93,7 +93,7 @@ module WhopSDK
93
93
  #
94
94
  # @param title [String, nil] The title of the post. Only visible if paywalled.
95
95
  #
96
- # @param visibility [Symbol, WhopSDK::Models::ForumPostUpdateParams::Visibility, nil] The visibility types for forum posts
96
+ # @param visibility [Symbol, WhopSDK::Models::ForumPostVisibilityType, nil] The visibility types for forum posts
97
97
  #
98
98
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
99
99
  #
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Refunds
6
+ # Retrieves a Refund by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payment:basic:read`
11
+ # - `member:email:read`
12
+ # - `member:basic:read`
13
+ # - `member:phone:read`
14
+ #
15
+ # @overload retrieve(id, request_options: {})
16
+ #
17
+ # @param id [String] The ID of the refund
18
+ #
19
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [WhopSDK::Models::RefundRetrieveResponse]
22
+ #
23
+ # @see WhopSDK::Models::RefundRetrieveParams
24
+ def retrieve(id, params = {})
25
+ @client.request(
26
+ method: :get,
27
+ path: ["refunds/%1$s", id],
28
+ model: WhopSDK::Models::RefundRetrieveResponse,
29
+ options: params[:request_options]
30
+ )
31
+ end
32
+
33
+ # Lists Refunds for a payment.
34
+ #
35
+ # Required permissions:
36
+ #
37
+ # - `payment:basic:read`
38
+ #
39
+ # @overload list(payment_id:, after: nil, before: nil, direction: nil, first: nil, last: nil, request_options: {})
40
+ #
41
+ # @param payment_id [String] The ID of the payment to list refunds for
42
+ #
43
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
44
+ #
45
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
46
+ #
47
+ # @param direction [Symbol, WhopSDK::Models::Direction, nil] The direction of the sort.
48
+ #
49
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
50
+ #
51
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
52
+ #
53
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
54
+ #
55
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::RefundListResponse>]
56
+ #
57
+ # @see WhopSDK::Models::RefundListParams
58
+ def list(params)
59
+ parsed, options = WhopSDK::RefundListParams.dump_request(params)
60
+ @client.request(
61
+ method: :get,
62
+ path: "refunds",
63
+ query: parsed,
64
+ page: WhopSDK::Internal::CursorPage,
65
+ model: WhopSDK::Models::RefundListResponse,
66
+ options: options
67
+ )
68
+ end
69
+
70
+ # @api private
71
+ #
72
+ # @param client [WhopSDK::Client]
73
+ def initialize(client:)
74
+ @client = client
75
+ end
76
+ end
77
+ end
78
+ end
@@ -5,7 +5,7 @@ module WhopSDK
5
5
  class Webhooks
6
6
  # @param payload [String] The raw webhook payload as a string
7
7
  #
8
- # @return [WhopSDK::Models::InvoiceCreatedWebhookEvent, WhopSDK::Models::InvoicePaidWebhookEvent, WhopSDK::Models::InvoicePastDueWebhookEvent, WhopSDK::Models::InvoiceVoidedWebhookEvent, WhopSDK::Models::MembershipActivatedWebhookEvent, WhopSDK::Models::MembershipDeactivatedWebhookEvent, WhopSDK::Models::EntryCreatedWebhookEvent, WhopSDK::Models::EntryApprovedWebhookEvent, WhopSDK::Models::EntryDeniedWebhookEvent, WhopSDK::Models::EntryDeletedWebhookEvent, WhopSDK::Models::CourseLessonInteractionCompletedWebhookEvent, WhopSDK::Models::PaymentSucceededWebhookEvent, WhopSDK::Models::PaymentFailedWebhookEvent, WhopSDK::Models::PaymentPendingWebhookEvent, WhopSDK::Models::DisputeCreatedWebhookEvent, WhopSDK::Models::DisputeUpdatedWebhookEvent]
8
+ # @return [WhopSDK::Models::InvoiceCreatedWebhookEvent, WhopSDK::Models::InvoicePaidWebhookEvent, WhopSDK::Models::InvoicePastDueWebhookEvent, WhopSDK::Models::InvoiceVoidedWebhookEvent, WhopSDK::Models::MembershipActivatedWebhookEvent, WhopSDK::Models::MembershipDeactivatedWebhookEvent, WhopSDK::Models::EntryCreatedWebhookEvent, WhopSDK::Models::EntryApprovedWebhookEvent, WhopSDK::Models::EntryDeniedWebhookEvent, WhopSDK::Models::EntryDeletedWebhookEvent, WhopSDK::Models::CourseLessonInteractionCompletedWebhookEvent, WhopSDK::Models::PaymentSucceededWebhookEvent, WhopSDK::Models::PaymentFailedWebhookEvent, WhopSDK::Models::PaymentPendingWebhookEvent, WhopSDK::Models::DisputeCreatedWebhookEvent, WhopSDK::Models::DisputeUpdatedWebhookEvent, WhopSDK::Models::RefundCreatedWebhookEvent, WhopSDK::Models::RefundUpdatedWebhookEvent]
9
9
  def unwrap(payload)
10
10
  parsed = JSON.parse(payload, symbolize_names: true)
11
11
  WhopSDK::Internal::Type::Converter.coerce(WhopSDK::Models::UnwrapWebhookEvent, parsed)
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class Withdrawals
6
+ # Retrieves a withdrawal by ID
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `payout:withdrawal:read`
11
+ #
12
+ # @overload retrieve(id, request_options: {})
13
+ #
14
+ # @param id [String] The ID of the Withdrawal
15
+ #
16
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
17
+ #
18
+ # @return [WhopSDK::Models::WithdrawalRetrieveResponse]
19
+ #
20
+ # @see WhopSDK::Models::WithdrawalRetrieveParams
21
+ def retrieve(id, params = {})
22
+ @client.request(
23
+ method: :get,
24
+ path: ["withdrawals/%1$s", id],
25
+ model: WhopSDK::Models::WithdrawalRetrieveResponse,
26
+ options: params[:request_options]
27
+ )
28
+ end
29
+
30
+ # Lists withdrawals
31
+ #
32
+ # Required permissions:
33
+ #
34
+ # - `payout:withdrawal:read`
35
+ #
36
+ # @overload list(company_id:, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, request_options: {})
37
+ #
38
+ # @param company_id [String] The ID of the company to list withdrawals for
39
+ #
40
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
41
+ #
42
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
43
+ #
44
+ # @param created_after [Time, nil] The minimum creation date to filter by
45
+ #
46
+ # @param created_before [Time, nil] The maximum creation date to filter by
47
+ #
48
+ # @param direction [Symbol, WhopSDK::Models::Direction, nil] The direction of the sort.
49
+ #
50
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
51
+ #
52
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
53
+ #
54
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
55
+ #
56
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::WithdrawalListResponse>]
57
+ #
58
+ # @see WhopSDK::Models::WithdrawalListParams
59
+ def list(params)
60
+ parsed, options = WhopSDK::WithdrawalListParams.dump_request(params)
61
+ @client.request(
62
+ method: :get,
63
+ path: "withdrawals",
64
+ query: parsed,
65
+ page: WhopSDK::Internal::CursorPage,
66
+ model: WhopSDK::Models::WithdrawalListResponse,
67
+ options: options
68
+ )
69
+ end
70
+
71
+ # @api private
72
+ #
73
+ # @param client [WhopSDK::Client]
74
+ def initialize(client:)
75
+ @client = client
76
+ end
77
+ end
78
+ end
79
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WhopSDK
4
- VERSION = "0.0.7"
4
+ VERSION = "0.0.8"
5
5
  end
data/lib/whop_sdk.rb CHANGED
@@ -70,6 +70,7 @@ require_relative "whop_sdk/models/app_list_params"
70
70
  require_relative "whop_sdk/models/app_list_response"
71
71
  require_relative "whop_sdk/models/app_retrieve_params"
72
72
  require_relative "whop_sdk/models/app_statuses"
73
+ require_relative "whop_sdk/models/app_type"
73
74
  require_relative "whop_sdk/models/app_update_params"
74
75
  require_relative "whop_sdk/models/app_view_type"
75
76
  require_relative "whop_sdk/models/assessment_question_types"
@@ -91,6 +92,7 @@ require_relative "whop_sdk/models/checkout_configuration_create_params"
91
92
  require_relative "whop_sdk/models/checkout_configuration_list_params"
92
93
  require_relative "whop_sdk/models/checkout_configuration_list_response"
93
94
  require_relative "whop_sdk/models/checkout_configuration_retrieve_params"
95
+ require_relative "whop_sdk/models/checkout_modes"
94
96
  require_relative "whop_sdk/models/collection_method"
95
97
  require_relative "whop_sdk/models/company"
96
98
  require_relative "whop_sdk/models/company_create_params"
@@ -119,7 +121,13 @@ require_relative "whop_sdk/models/course_lesson_interaction_list_params"
119
121
  require_relative "whop_sdk/models/course_lesson_interaction_retrieve_params"
120
122
  require_relative "whop_sdk/models/course_lesson_list_params"
121
123
  require_relative "whop_sdk/models/course_lesson_list_response"
124
+ require_relative "whop_sdk/models/course_lesson_mark_as_completed_params"
125
+ require_relative "whop_sdk/models/course_lesson_mark_as_completed_response"
122
126
  require_relative "whop_sdk/models/course_lesson_retrieve_params"
127
+ require_relative "whop_sdk/models/course_lesson_start_params"
128
+ require_relative "whop_sdk/models/course_lesson_start_response"
129
+ require_relative "whop_sdk/models/course_lesson_submit_assessment_params"
130
+ require_relative "whop_sdk/models/course_lesson_submit_assessment_response"
123
131
  require_relative "whop_sdk/models/course_lesson_update_params"
124
132
  require_relative "whop_sdk/models/course_list_params"
125
133
  require_relative "whop_sdk/models/course_list_response"
@@ -177,6 +185,7 @@ require_relative "whop_sdk/models/forum_post_list_params"
177
185
  require_relative "whop_sdk/models/forum_post_list_response"
178
186
  require_relative "whop_sdk/models/forum_post_retrieve_params"
179
187
  require_relative "whop_sdk/models/forum_post_update_params"
188
+ require_relative "whop_sdk/models/forum_post_visibility_type"
180
189
  require_relative "whop_sdk/models/forum_retrieve_params"
181
190
  require_relative "whop_sdk/models/forum_update_params"
182
191
  require_relative "whop_sdk/models/friendly_receipt_status"
@@ -232,6 +241,7 @@ require_relative "whop_sdk/models/payment_list_params"
232
241
  require_relative "whop_sdk/models/payment_list_response"
233
242
  require_relative "whop_sdk/models/payment_method_types"
234
243
  require_relative "whop_sdk/models/payment_pending_webhook_event"
244
+ require_relative "whop_sdk/models/payment_provider"
235
245
  require_relative "whop_sdk/models/payment_refund_params"
236
246
  require_relative "whop_sdk/models/payment_retrieve_params"
237
247
  require_relative "whop_sdk/models/payment_retry_params"
@@ -270,6 +280,15 @@ require_relative "whop_sdk/models/reaction_list_params"
270
280
  require_relative "whop_sdk/models/reaction_list_response"
271
281
  require_relative "whop_sdk/models/reaction_retrieve_params"
272
282
  require_relative "whop_sdk/models/receipt_status"
283
+ require_relative "whop_sdk/models/refund_created_webhook_event"
284
+ require_relative "whop_sdk/models/refund_list_params"
285
+ require_relative "whop_sdk/models/refund_list_response"
286
+ require_relative "whop_sdk/models/refund_reference_status"
287
+ require_relative "whop_sdk/models/refund_reference_type"
288
+ require_relative "whop_sdk/models/refund_retrieve_params"
289
+ require_relative "whop_sdk/models/refund_retrieve_response"
290
+ require_relative "whop_sdk/models/refund_status"
291
+ require_relative "whop_sdk/models/refund_updated_webhook_event"
273
292
  require_relative "whop_sdk/models/release_method"
274
293
  require_relative "whop_sdk/models/review_list_params"
275
294
  require_relative "whop_sdk/models/review_list_response"
@@ -307,6 +326,14 @@ require_relative "whop_sdk/models/who_can_comment_types"
307
326
  require_relative "whop_sdk/models/who_can_post"
308
327
  require_relative "whop_sdk/models/who_can_post_types"
309
328
  require_relative "whop_sdk/models/who_can_react"
329
+ require_relative "whop_sdk/models/withdrawal_fee_types"
330
+ require_relative "whop_sdk/models/withdrawal_list_params"
331
+ require_relative "whop_sdk/models/withdrawal_list_response"
332
+ require_relative "whop_sdk/models/withdrawal_retrieve_params"
333
+ require_relative "whop_sdk/models/withdrawal_retrieve_response"
334
+ require_relative "whop_sdk/models/withdrawal_speeds"
335
+ require_relative "whop_sdk/models/withdrawal_status"
336
+ require_relative "whop_sdk/models/withdrawal_types"
310
337
  require_relative "whop_sdk/models"
311
338
  require_relative "whop_sdk/resources/access_tokens"
312
339
  require_relative "whop_sdk/resources/app_builds"
@@ -336,10 +363,12 @@ require_relative "whop_sdk/resources/plans"
336
363
  require_relative "whop_sdk/resources/products"
337
364
  require_relative "whop_sdk/resources/promo_codes"
338
365
  require_relative "whop_sdk/resources/reactions"
366
+ require_relative "whop_sdk/resources/refunds"
339
367
  require_relative "whop_sdk/resources/reviews"
340
368
  require_relative "whop_sdk/resources/shipments"
341
369
  require_relative "whop_sdk/resources/support_channels"
342
370
  require_relative "whop_sdk/resources/transfers"
343
371
  require_relative "whop_sdk/resources/users"
344
372
  require_relative "whop_sdk/resources/webhooks"
373
+ require_relative "whop_sdk/resources/withdrawals"
345
374
  require_relative "whop_sdk/helpers/verify_user_token"
@@ -121,6 +121,12 @@ module WhopSDK
121
121
  sig { returns(WhopSDK::Resources::Disputes) }
122
122
  attr_reader :disputes
123
123
 
124
+ sig { returns(WhopSDK::Resources::Refunds) }
125
+ attr_reader :refunds
126
+
127
+ sig { returns(WhopSDK::Resources::Withdrawals) }
128
+ attr_reader :withdrawals
129
+
124
130
  # @api private
125
131
  sig { override.returns(T::Hash[String, String]) }
126
132
  private def auth_headers
@@ -16,6 +16,10 @@ module WhopSDK
16
16
  sig { params(api_key: T.nilable(WhopSDK::App::APIKey::OrHash)).void }
17
17
  attr_writer :api_key
18
18
 
19
+ # The type of end-user an app is built for
20
+ sig { returns(WhopSDK::AppType::TaggedSymbol) }
21
+ attr_accessor :app_type
22
+
19
23
  # The base url of the app
20
24
  sig { returns(T.nilable(String)) }
21
25
  attr_accessor :base_url
@@ -101,6 +105,7 @@ module WhopSDK
101
105
  params(
102
106
  id: String,
103
107
  api_key: T.nilable(WhopSDK::App::APIKey::OrHash),
108
+ app_type: WhopSDK::AppType::OrSymbol,
104
109
  base_url: T.nilable(String),
105
110
  company: WhopSDK::App::Company::OrHash,
106
111
  creator: WhopSDK::App::Creator::OrHash,
@@ -123,6 +128,8 @@ module WhopSDK
123
128
  id:,
124
129
  # The API key for the app
125
130
  api_key:,
131
+ # The type of end-user an app is built for
132
+ app_type:,
126
133
  # The base url of the app
127
134
  base_url:,
128
135
  # The company that owns the app
@@ -171,6 +178,7 @@ module WhopSDK
171
178
  {
172
179
  id: String,
173
180
  api_key: T.nilable(WhopSDK::App::APIKey),
181
+ app_type: WhopSDK::AppType::TaggedSymbol,
174
182
  base_url: T.nilable(String),
175
183
  company: WhopSDK::App::Company,
176
184
  creator: WhopSDK::App::Creator,
@@ -15,6 +15,10 @@ module WhopSDK
15
15
  sig { returns(T.nilable(String)) }
16
16
  attr_accessor :after
17
17
 
18
+ # The type of end-user an app is built for
19
+ sig { returns(T.nilable(WhopSDK::AppType::OrSymbol)) }
20
+ attr_accessor :app_type
21
+
18
22
  # Returns the elements in the list that come before the specified cursor.
19
23
  sig { returns(T.nilable(String)) }
20
24
  attr_accessor :before
@@ -55,6 +59,7 @@ module WhopSDK
55
59
  sig do
56
60
  params(
57
61
  after: T.nilable(String),
62
+ app_type: T.nilable(WhopSDK::AppType::OrSymbol),
58
63
  before: T.nilable(String),
59
64
  company_id: T.nilable(String),
60
65
  direction: T.nilable(WhopSDK::Direction::OrSymbol),
@@ -70,6 +75,8 @@ module WhopSDK
70
75
  def self.new(
71
76
  # Returns the elements in the list that come after the specified cursor.
72
77
  after: nil,
78
+ # The type of end-user an app is built for
79
+ app_type: nil,
73
80
  # Returns the elements in the list that come before the specified cursor.
74
81
  before: nil,
75
82
  # The ID of the company to filter apps by
@@ -97,6 +104,7 @@ module WhopSDK
97
104
  override.returns(
98
105
  {
99
106
  after: T.nilable(String),
107
+ app_type: T.nilable(WhopSDK::AppType::OrSymbol),
100
108
  before: T.nilable(String),
101
109
  company_id: T.nilable(String),
102
110
  direction: T.nilable(WhopSDK::Direction::OrSymbol),
@@ -12,6 +12,10 @@ module WhopSDK
12
12
  sig { returns(String) }
13
13
  attr_accessor :id
14
14
 
15
+ # The type of end-user an app is built for
16
+ sig { returns(WhopSDK::AppType::TaggedSymbol) }
17
+ attr_accessor :app_type
18
+
15
19
  # The base url of the app
16
20
  sig { returns(T.nilable(String)) }
17
21
  attr_accessor :base_url
@@ -92,6 +96,7 @@ module WhopSDK
92
96
  sig do
93
97
  params(
94
98
  id: String,
99
+ app_type: WhopSDK::AppType::OrSymbol,
95
100
  base_url: T.nilable(String),
96
101
  company: WhopSDK::Models::AppListResponse::Company::OrHash,
97
102
  creator: WhopSDK::Models::AppListResponse::Creator::OrHash,
@@ -109,6 +114,8 @@ module WhopSDK
109
114
  def self.new(
110
115
  # The ID of the app
111
116
  id:,
117
+ # The type of end-user an app is built for
118
+ app_type:,
112
119
  # The base url of the app
113
120
  base_url:,
114
121
  # The company that owns the app
@@ -151,6 +158,7 @@ module WhopSDK
151
158
  override.returns(
152
159
  {
153
160
  id: String,
161
+ app_type: WhopSDK::AppType::TaggedSymbol,
154
162
  base_url: T.nilable(String),
155
163
  company: WhopSDK::Models::AppListResponse::Company,
156
164
  creator: WhopSDK::Models::AppListResponse::Creator,
@@ -0,0 +1,22 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The type of end-user an app is built for
6
+ module AppType
7
+ extend WhopSDK::Internal::Type::Enum
8
+
9
+ TaggedSymbol = T.type_alias { T.all(Symbol, WhopSDK::AppType) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ B2B_APP = T.let(:b2b_app, WhopSDK::AppType::TaggedSymbol)
13
+ B2C_APP = T.let(:b2c_app, WhopSDK::AppType::TaggedSymbol)
14
+ COMPANY_APP = T.let(:company_app, WhopSDK::AppType::TaggedSymbol)
15
+ COMPONENT = T.let(:component, WhopSDK::AppType::TaggedSymbol)
16
+
17
+ sig { override.returns(T::Array[WhopSDK::AppType::TaggedSymbol]) }
18
+ def self.values
19
+ end
20
+ end
21
+ end
22
+ end
@@ -15,6 +15,10 @@ module WhopSDK
15
15
  sig { returns(T.nilable(String)) }
16
16
  attr_accessor :app_store_description
17
17
 
18
+ # The type of end-user an app is built for
19
+ sig { returns(T.nilable(WhopSDK::AppType::OrSymbol)) }
20
+ attr_accessor :app_type
21
+
18
22
  # The base production url of the app
19
23
  sig { returns(T.nilable(String)) }
20
24
  attr_accessor :base_url
@@ -67,6 +71,7 @@ module WhopSDK
67
71
  sig do
68
72
  params(
69
73
  app_store_description: T.nilable(String),
74
+ app_type: T.nilable(WhopSDK::AppType::OrSymbol),
70
75
  base_url: T.nilable(String),
71
76
  dashboard_path: T.nilable(String),
72
77
  description: T.nilable(String),
@@ -91,6 +96,8 @@ module WhopSDK
91
96
  def self.new(
92
97
  # The description of the app for the app store in-depth app view.
93
98
  app_store_description: nil,
99
+ # The type of end-user an app is built for
100
+ app_type: nil,
94
101
  # The base production url of the app
95
102
  base_url: nil,
96
103
  # The path for the dashboard view of the app
@@ -117,6 +124,7 @@ module WhopSDK
117
124
  override.returns(
118
125
  {
119
126
  app_store_description: T.nilable(String),
127
+ app_type: T.nilable(WhopSDK::AppType::OrSymbol),
120
128
  base_url: T.nilable(String),
121
129
  dashboard_path: T.nilable(String),
122
130
  description: T.nilable(String),