whop_sdk 0.0.2 → 0.0.3

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 (263) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +29 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +20 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +30 -24
  6. data/lib/whop_sdk/models/assessment_question_types.rb +18 -0
  7. data/lib/whop_sdk/models/billing_reasons.rb +20 -0
  8. data/lib/whop_sdk/models/card_brands.rb +30 -0
  9. data/lib/whop_sdk/models/checkout_configuration.rb +10 -7
  10. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +140 -3
  11. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +10 -7
  12. data/lib/whop_sdk/models/course.rb +230 -0
  13. data/lib/whop_sdk/models/course_chapter.rb +72 -0
  14. data/lib/whop_sdk/models/course_chapter_create_params.rb +30 -0
  15. data/lib/whop_sdk/models/course_chapter_delete_params.rb +14 -0
  16. data/lib/whop_sdk/models/course_chapter_delete_response.rb +8 -0
  17. data/lib/whop_sdk/models/course_chapter_list_params.rb +54 -0
  18. data/lib/whop_sdk/models/course_chapter_list_response.rb +35 -0
  19. data/lib/whop_sdk/models/course_chapter_retrieve_params.rb +14 -0
  20. data/lib/whop_sdk/models/course_chapter_update_params.rb +22 -0
  21. data/lib/whop_sdk/models/course_create_params.rb +82 -0
  22. data/lib/whop_sdk/models/course_delete_params.rb +14 -0
  23. data/lib/whop_sdk/models/course_delete_response.rb +8 -0
  24. data/lib/whop_sdk/models/course_lesson_create_params.rb +54 -0
  25. data/lib/whop_sdk/models/course_lesson_delete_params.rb +14 -0
  26. data/lib/whop_sdk/models/course_lesson_delete_response.rb +8 -0
  27. data/lib/whop_sdk/models/course_lesson_list_params.rb +62 -0
  28. data/lib/whop_sdk/models/course_lesson_list_response.rb +71 -0
  29. data/lib/whop_sdk/models/course_lesson_retrieve_params.rb +14 -0
  30. data/lib/whop_sdk/models/course_lesson_update_params.rb +278 -0
  31. data/lib/whop_sdk/models/course_list_params.rb +62 -0
  32. data/lib/whop_sdk/models/course_list_response.rb +148 -0
  33. data/lib/whop_sdk/models/course_retrieve_params.rb +14 -0
  34. data/lib/whop_sdk/models/course_update_params.rb +197 -0
  35. data/lib/whop_sdk/models/experience_duplicate_params.rb +22 -0
  36. data/lib/whop_sdk/models/forum_post.rb +17 -1
  37. data/lib/whop_sdk/models/forum_post_list_response.rb +17 -1
  38. data/lib/whop_sdk/models/forum_post_update_params.rb +80 -0
  39. data/lib/whop_sdk/models/invoice.rb +6 -2
  40. data/lib/whop_sdk/models/invoice_list_item.rb +6 -2
  41. data/lib/whop_sdk/models/languages.rb +36 -0
  42. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +9 -0
  43. data/lib/whop_sdk/models/lesson.rb +365 -0
  44. data/lib/whop_sdk/models/lesson_types.rb +20 -0
  45. data/lib/whop_sdk/models/lesson_visibilities.rb +17 -0
  46. data/lib/whop_sdk/models/member_list_params.rb +9 -1
  47. data/lib/whop_sdk/models/membership.rb +31 -1
  48. data/lib/whop_sdk/models/membership_list_params.rb +16 -8
  49. data/lib/whop_sdk/models/membership_list_response.rb +31 -1
  50. data/lib/whop_sdk/models/message_update_params.rb +68 -0
  51. data/lib/whop_sdk/models/payment.rb +24 -21
  52. data/lib/whop_sdk/models/payment_list_params.rb +3 -18
  53. data/lib/whop_sdk/models/payment_list_response.rb +24 -21
  54. data/lib/whop_sdk/models/payment_method_types.rb +98 -0
  55. data/lib/whop_sdk/models/plan.rb +25 -1
  56. data/lib/whop_sdk/models/plan_create_params.rb +37 -3
  57. data/lib/whop_sdk/models/plan_list_response.rb +25 -1
  58. data/lib/whop_sdk/models/plan_update_params.rb +35 -1
  59. data/lib/whop_sdk/models/product.rb +11 -1
  60. data/lib/whop_sdk/models/product_create_params.rb +1 -45
  61. data/lib/whop_sdk/models/product_list_item.rb +14 -1
  62. data/lib/whop_sdk/models/product_update_params.rb +30 -1
  63. data/lib/whop_sdk/models/promo_code.rb +211 -0
  64. data/lib/whop_sdk/models/promo_code_create_params.rb +140 -0
  65. data/lib/whop_sdk/models/promo_code_delete_params.rb +14 -0
  66. data/lib/whop_sdk/models/promo_code_delete_response.rb +8 -0
  67. data/lib/whop_sdk/models/promo_code_list_params.rb +78 -0
  68. data/lib/whop_sdk/models/promo_code_list_response.rb +181 -0
  69. data/lib/whop_sdk/models/promo_code_retrieve_params.rb +14 -0
  70. data/lib/whop_sdk/models/promo_code_status.rb +17 -0
  71. data/lib/whop_sdk/models/promo_duration.rb +17 -0
  72. data/lib/whop_sdk/models/review_list_params.rb +70 -0
  73. data/lib/whop_sdk/models/review_list_response.rb +183 -0
  74. data/lib/whop_sdk/models/review_retrieve_params.rb +14 -0
  75. data/lib/whop_sdk/models/review_retrieve_response.rb +251 -0
  76. data/lib/whop_sdk/models/review_status.rb +17 -0
  77. data/lib/whop_sdk/models.rb +76 -0
  78. data/lib/whop_sdk/resources/checkout_configurations.rb +2 -0
  79. data/lib/whop_sdk/resources/course_chapters.rb +151 -0
  80. data/lib/whop_sdk/resources/course_lessons.rb +178 -0
  81. data/lib/whop_sdk/resources/courses.rb +178 -0
  82. data/lib/whop_sdk/resources/experiences.rb +33 -0
  83. data/lib/whop_sdk/resources/forum_posts.rb +33 -0
  84. data/lib/whop_sdk/resources/members.rb +3 -1
  85. data/lib/whop_sdk/resources/memberships.rb +6 -4
  86. data/lib/whop_sdk/resources/messages.rb +28 -0
  87. data/lib/whop_sdk/resources/payments.rb +1 -1
  88. data/lib/whop_sdk/resources/plans.rb +19 -3
  89. data/lib/whop_sdk/resources/products.rb +4 -6
  90. data/lib/whop_sdk/resources/promo_codes.rb +161 -0
  91. data/lib/whop_sdk/resources/reviews.rb +68 -0
  92. data/lib/whop_sdk/version.rb +1 -1
  93. data/lib/whop_sdk.rb +53 -0
  94. data/rbi/whop_sdk/client.rbi +15 -0
  95. data/rbi/whop_sdk/models/assessment_question_types.rbi +31 -0
  96. data/rbi/whop_sdk/models/billing_reasons.rbi +27 -0
  97. data/rbi/whop_sdk/models/card_brands.rbi +35 -0
  98. data/rbi/whop_sdk/models/checkout_configuration.rbi +4 -2
  99. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +183 -2
  100. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +4 -2
  101. data/rbi/whop_sdk/models/course.rbi +313 -0
  102. data/rbi/whop_sdk/models/course_chapter.rbi +101 -0
  103. data/rbi/whop_sdk/models/course_chapter_create_params.rbi +51 -0
  104. data/rbi/whop_sdk/models/course_chapter_delete_params.rbi +27 -0
  105. data/rbi/whop_sdk/models/course_chapter_delete_response.rbi +8 -0
  106. data/rbi/whop_sdk/models/course_chapter_list_params.rbi +75 -0
  107. data/rbi/whop_sdk/models/course_chapter_list_response.rbi +47 -0
  108. data/rbi/whop_sdk/models/course_chapter_retrieve_params.rbi +30 -0
  109. data/rbi/whop_sdk/models/course_chapter_update_params.rbi +40 -0
  110. data/rbi/whop_sdk/models/course_create_params.rbi +131 -0
  111. data/rbi/whop_sdk/models/course_delete_params.rbi +27 -0
  112. data/rbi/whop_sdk/models/course_delete_response.rbi +7 -0
  113. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +75 -0
  114. data/rbi/whop_sdk/models/course_lesson_delete_params.rbi +27 -0
  115. data/rbi/whop_sdk/models/course_lesson_delete_response.rbi +8 -0
  116. data/rbi/whop_sdk/models/course_lesson_list_params.rbi +83 -0
  117. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +91 -0
  118. data/rbi/whop_sdk/models/course_lesson_retrieve_params.rbi +27 -0
  119. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +465 -0
  120. data/rbi/whop_sdk/models/course_list_params.rbi +83 -0
  121. data/rbi/whop_sdk/models/course_list_response.rbi +198 -0
  122. data/rbi/whop_sdk/models/course_retrieve_params.rbi +27 -0
  123. data/rbi/whop_sdk/models/course_update_params.rbi +293 -0
  124. data/rbi/whop_sdk/models/experience_duplicate_params.rbi +40 -0
  125. data/rbi/whop_sdk/models/forum_post.rbi +16 -0
  126. data/rbi/whop_sdk/models/forum_post_list_response.rbi +16 -0
  127. data/rbi/whop_sdk/models/forum_post_update_params.rbi +124 -0
  128. data/rbi/whop_sdk/models/invoice.rbi +4 -2
  129. data/rbi/whop_sdk/models/invoice_list_item.rbi +4 -2
  130. data/rbi/whop_sdk/models/languages.rbi +40 -0
  131. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +45 -0
  132. data/rbi/whop_sdk/models/lesson.rbi +517 -0
  133. data/rbi/whop_sdk/models/lesson_types.rbi +25 -0
  134. data/rbi/whop_sdk/models/lesson_visibilities.rbi +23 -0
  135. data/rbi/whop_sdk/models/member_list_params.rbi +8 -0
  136. data/rbi/whop_sdk/models/membership.rbi +40 -0
  137. data/rbi/whop_sdk/models/membership_list_params.rbi +16 -8
  138. data/rbi/whop_sdk/models/membership_list_response.rbi +47 -0
  139. data/rbi/whop_sdk/models/message_update_params.rbi +114 -0
  140. data/rbi/whop_sdk/models/payment.rbi +32 -25
  141. data/rbi/whop_sdk/models/payment_list_params.rbi +3 -63
  142. data/rbi/whop_sdk/models/payment_list_response.rbi +32 -25
  143. data/rbi/whop_sdk/models/payment_method_types.rbi +116 -0
  144. data/rbi/whop_sdk/models/plan.rbi +24 -0
  145. data/rbi/whop_sdk/models/plan_create_params.rbi +38 -2
  146. data/rbi/whop_sdk/models/plan_list_response.rbi +24 -0
  147. data/rbi/whop_sdk/models/plan_update_params.rbi +36 -0
  148. data/rbi/whop_sdk/models/product.rbi +12 -0
  149. data/rbi/whop_sdk/models/product_create_params.rbi +0 -74
  150. data/rbi/whop_sdk/models/product_list_item.rbi +12 -0
  151. data/rbi/whop_sdk/models/product_update_params.rbi +59 -0
  152. data/rbi/whop_sdk/models/promo_code.rbi +248 -0
  153. data/rbi/whop_sdk/models/promo_code_create_params.rbi +161 -0
  154. data/rbi/whop_sdk/models/promo_code_delete_params.rbi +27 -0
  155. data/rbi/whop_sdk/models/promo_code_delete_response.rbi +8 -0
  156. data/rbi/whop_sdk/models/promo_code_list_params.rbi +99 -0
  157. data/rbi/whop_sdk/models/promo_code_list_response.rbi +222 -0
  158. data/rbi/whop_sdk/models/promo_code_retrieve_params.rbi +27 -0
  159. data/rbi/whop_sdk/models/promo_code_status.rbi +21 -0
  160. data/rbi/whop_sdk/models/promo_duration.rbi +21 -0
  161. data/rbi/whop_sdk/models/review_list_params.rbi +91 -0
  162. data/rbi/whop_sdk/models/review_list_response.rbi +243 -0
  163. data/rbi/whop_sdk/models/review_retrieve_params.rbi +27 -0
  164. data/rbi/whop_sdk/models/review_retrieve_response.rbi +354 -0
  165. data/rbi/whop_sdk/models/review_status.rbi +21 -0
  166. data/rbi/whop_sdk/models.rbi +76 -0
  167. data/rbi/whop_sdk/resources/checkout_configurations.rbi +2 -0
  168. data/rbi/whop_sdk/resources/course_chapters.rbi +115 -0
  169. data/rbi/whop_sdk/resources/course_lessons.rbi +163 -0
  170. data/rbi/whop_sdk/resources/courses.rbi +152 -0
  171. data/rbi/whop_sdk/resources/experiences.rbi +25 -0
  172. data/rbi/whop_sdk/resources/forum_posts.rbi +29 -0
  173. data/rbi/whop_sdk/resources/members.rbi +3 -0
  174. data/rbi/whop_sdk/resources/memberships.rbi +6 -3
  175. data/rbi/whop_sdk/resources/messages.rbi +25 -0
  176. data/rbi/whop_sdk/resources/payments.rbi +1 -3
  177. data/rbi/whop_sdk/resources/plans.rbi +29 -1
  178. data/rbi/whop_sdk/resources/products.rbi +4 -7
  179. data/rbi/whop_sdk/resources/promo_codes.rbi +147 -0
  180. data/rbi/whop_sdk/resources/reviews.rbi +56 -0
  181. data/sig/whop_sdk/client.rbs +10 -0
  182. data/sig/whop_sdk/models/assessment_question_types.rbs +17 -0
  183. data/sig/whop_sdk/models/billing_reasons.rbs +24 -0
  184. data/sig/whop_sdk/models/card_brands.rbs +44 -0
  185. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +87 -0
  186. data/sig/whop_sdk/models/course.rbs +171 -0
  187. data/sig/whop_sdk/models/course_chapter.rbs +49 -0
  188. data/sig/whop_sdk/models/course_chapter_create_params.rbs +28 -0
  189. data/sig/whop_sdk/models/course_chapter_delete_params.rbs +15 -0
  190. data/sig/whop_sdk/models/course_chapter_delete_response.rbs +5 -0
  191. data/sig/whop_sdk/models/course_chapter_list_params.rbs +46 -0
  192. data/sig/whop_sdk/models/course_chapter_list_response.rbs +18 -0
  193. data/sig/whop_sdk/models/course_chapter_retrieve_params.rbs +15 -0
  194. data/sig/whop_sdk/models/course_chapter_update_params.rbs +23 -0
  195. data/sig/whop_sdk/models/course_create_params.rbs +58 -0
  196. data/sig/whop_sdk/models/course_delete_params.rbs +15 -0
  197. data/sig/whop_sdk/models/course_delete_response.rbs +5 -0
  198. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  199. data/sig/whop_sdk/models/course_lesson_delete_params.rbs +15 -0
  200. data/sig/whop_sdk/models/course_lesson_delete_response.rbs +5 -0
  201. data/sig/whop_sdk/models/course_lesson_list_params.rbs +51 -0
  202. data/sig/whop_sdk/models/course_lesson_list_response.rbs +50 -0
  203. data/sig/whop_sdk/models/course_lesson_retrieve_params.rbs +15 -0
  204. data/sig/whop_sdk/models/course_lesson_update_params.rbs +162 -0
  205. data/sig/whop_sdk/models/course_list_params.rbs +51 -0
  206. data/sig/whop_sdk/models/course_list_response.rbs +102 -0
  207. data/sig/whop_sdk/models/course_retrieve_params.rbs +15 -0
  208. data/sig/whop_sdk/models/course_update_params.rbs +137 -0
  209. data/sig/whop_sdk/models/experience_duplicate_params.rbs +23 -0
  210. data/sig/whop_sdk/models/forum_post.rbs +10 -0
  211. data/sig/whop_sdk/models/forum_post_list_response.rbs +10 -0
  212. data/sig/whop_sdk/models/forum_post_update_params.rbs +53 -0
  213. data/sig/whop_sdk/models/languages.rbs +56 -0
  214. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +20 -1
  215. data/sig/whop_sdk/models/lesson.rbs +248 -0
  216. data/sig/whop_sdk/models/lesson_types.rbs +19 -0
  217. data/sig/whop_sdk/models/lesson_visibilities.rbs +14 -0
  218. data/sig/whop_sdk/models/member_list_params.rbs +6 -1
  219. data/sig/whop_sdk/models/membership.rbs +17 -0
  220. data/sig/whop_sdk/models/membership_list_params.rbs +11 -6
  221. data/sig/whop_sdk/models/membership_list_response.rbs +17 -0
  222. data/sig/whop_sdk/models/message_update_params.rbs +48 -0
  223. data/sig/whop_sdk/models/payment.rbs +12 -12
  224. data/sig/whop_sdk/models/payment_list_params.rbs +4 -25
  225. data/sig/whop_sdk/models/payment_list_response.rbs +12 -12
  226. data/sig/whop_sdk/models/payment_method_types.rbs +180 -0
  227. data/sig/whop_sdk/models/plan.rbs +15 -0
  228. data/sig/whop_sdk/models/plan_create_params.rbs +20 -0
  229. data/sig/whop_sdk/models/plan_list_response.rbs +15 -0
  230. data/sig/whop_sdk/models/plan_update_params.rbs +20 -0
  231. data/sig/whop_sdk/models/product.rbs +5 -0
  232. data/sig/whop_sdk/models/product_create_params.rbs +0 -22
  233. data/sig/whop_sdk/models/product_list_item.rbs +5 -0
  234. data/sig/whop_sdk/models/product_update_params.rbs +17 -0
  235. data/sig/whop_sdk/models/promo_code.rbs +134 -0
  236. data/sig/whop_sdk/models/promo_code_create_params.rbs +96 -0
  237. data/sig/whop_sdk/models/promo_code_delete_params.rbs +15 -0
  238. data/sig/whop_sdk/models/promo_code_delete_response.rbs +5 -0
  239. data/sig/whop_sdk/models/promo_code_list_params.rbs +61 -0
  240. data/sig/whop_sdk/models/promo_code_list_response.rbs +117 -0
  241. data/sig/whop_sdk/models/promo_code_retrieve_params.rbs +15 -0
  242. data/sig/whop_sdk/models/promo_code_status.rbs +15 -0
  243. data/sig/whop_sdk/models/promo_duration.rbs +15 -0
  244. data/sig/whop_sdk/models/review_list_params.rbs +56 -0
  245. data/sig/whop_sdk/models/review_list_response.rbs +116 -0
  246. data/sig/whop_sdk/models/review_retrieve_params.rbs +15 -0
  247. data/sig/whop_sdk/models/review_retrieve_response.rbs +152 -0
  248. data/sig/whop_sdk/models/review_status.rbs +15 -0
  249. data/sig/whop_sdk/models.rbs +76 -0
  250. data/sig/whop_sdk/resources/course_chapters.rbs +35 -0
  251. data/sig/whop_sdk/resources/course_lessons.rbs +47 -0
  252. data/sig/whop_sdk/resources/courses.rbs +47 -0
  253. data/sig/whop_sdk/resources/experiences.rbs +6 -0
  254. data/sig/whop_sdk/resources/forum_posts.rbs +9 -0
  255. data/sig/whop_sdk/resources/members.rbs +1 -0
  256. data/sig/whop_sdk/resources/memberships.rbs +2 -1
  257. data/sig/whop_sdk/resources/messages.rbs +8 -0
  258. data/sig/whop_sdk/resources/payments.rbs +1 -1
  259. data/sig/whop_sdk/resources/plans.rbs +8 -0
  260. data/sig/whop_sdk/resources/products.rbs +1 -2
  261. data/sig/whop_sdk/resources/promo_codes.rbs +45 -0
  262. data/sig/whop_sdk/resources/reviews.rbs +23 -0
  263. metadata +189 -2
@@ -0,0 +1,251 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Reviews#retrieve
6
+ class ReviewRetrieveResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The internal ID of the review.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute attachments
14
+ # The attachments attached to the review.
15
+ #
16
+ # @return [Array<WhopSDK::Models::ReviewRetrieveResponse::Attachment>]
17
+ required :attachments,
18
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Models::ReviewRetrieveResponse::Attachment] }
19
+
20
+ # @!attribute company
21
+ # The company the review is for.
22
+ #
23
+ # @return [WhopSDK::Models::ReviewRetrieveResponse::Company]
24
+ required :company, -> { WhopSDK::Models::ReviewRetrieveResponse::Company }
25
+
26
+ # @!attribute created_at
27
+ # The timestamp of when the review was created.
28
+ #
29
+ # @return [Time]
30
+ required :created_at, Time
31
+
32
+ # @!attribute description
33
+ # The description of the review.
34
+ #
35
+ # @return [String, nil]
36
+ required :description, String, nil?: true
37
+
38
+ # @!attribute joined_at
39
+ # The timestamp of when the user joined the product.
40
+ #
41
+ # @return [Time, nil]
42
+ required :joined_at, Time, nil?: true
43
+
44
+ # @!attribute paid_for_product
45
+ # Whether or not the user paid for the product. If null, the payment status is
46
+ # unknown.
47
+ #
48
+ # @return [Boolean, nil]
49
+ required :paid_for_product, WhopSDK::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute product
52
+ # The product the review is for.
53
+ #
54
+ # @return [WhopSDK::Models::ReviewRetrieveResponse::Product]
55
+ required :product, -> { WhopSDK::Models::ReviewRetrieveResponse::Product }
56
+
57
+ # @!attribute published_at
58
+ # The timestamp of when the review was published.
59
+ #
60
+ # @return [Time, nil]
61
+ required :published_at, Time, nil?: true
62
+
63
+ # @!attribute stars
64
+ # The number of stars the user gave the product.
65
+ #
66
+ # @return [Integer]
67
+ required :stars, Integer
68
+
69
+ # @!attribute status
70
+ # The status of the review.
71
+ #
72
+ # @return [Symbol, WhopSDK::Models::ReviewStatus]
73
+ required :status, enum: -> { WhopSDK::ReviewStatus }
74
+
75
+ # @!attribute title
76
+ # The title of the review.
77
+ #
78
+ # @return [String, nil]
79
+ required :title, String, nil?: true
80
+
81
+ # @!attribute updated_at
82
+ # The timestamp of when the review was last updated.
83
+ #
84
+ # @return [Time]
85
+ required :updated_at, Time
86
+
87
+ # @!attribute user
88
+ # The user account that performed the action.
89
+ #
90
+ # @return [WhopSDK::Models::ReviewRetrieveResponse::User]
91
+ required :user, -> { WhopSDK::Models::ReviewRetrieveResponse::User }
92
+
93
+ # @!method initialize(id:, attachments:, company:, created_at:, description:, joined_at:, paid_for_product:, product:, published_at:, stars:, status:, title:, updated_at:, user:)
94
+ # Some parameter documentations has been truncated, see
95
+ # {WhopSDK::Models::ReviewRetrieveResponse} for more details.
96
+ #
97
+ # An object representing a user review of a company.
98
+ #
99
+ # @param id [String] The internal ID of the review.
100
+ #
101
+ # @param attachments [Array<WhopSDK::Models::ReviewRetrieveResponse::Attachment>] The attachments attached to the review.
102
+ #
103
+ # @param company [WhopSDK::Models::ReviewRetrieveResponse::Company] The company the review is for.
104
+ #
105
+ # @param created_at [Time] The timestamp of when the review was created.
106
+ #
107
+ # @param description [String, nil] The description of the review.
108
+ #
109
+ # @param joined_at [Time, nil] The timestamp of when the user joined the product.
110
+ #
111
+ # @param paid_for_product [Boolean, nil] Whether or not the user paid for the product. If null, the payment status is unk
112
+ #
113
+ # @param product [WhopSDK::Models::ReviewRetrieveResponse::Product] The product the review is for.
114
+ #
115
+ # @param published_at [Time, nil] The timestamp of when the review was published.
116
+ #
117
+ # @param stars [Integer] The number of stars the user gave the product.
118
+ #
119
+ # @param status [Symbol, WhopSDK::Models::ReviewStatus] The status of the review.
120
+ #
121
+ # @param title [String, nil] The title of the review.
122
+ #
123
+ # @param updated_at [Time] The timestamp of when the review was last updated.
124
+ #
125
+ # @param user [WhopSDK::Models::ReviewRetrieveResponse::User] The user account that performed the action.
126
+
127
+ class Attachment < WhopSDK::Internal::Type::BaseModel
128
+ # @!attribute id
129
+ # The ID of the attachment
130
+ #
131
+ # @return [String]
132
+ required :id, String
133
+
134
+ # @!attribute content_type
135
+ # The attachment's content type (e.g., image/jpg, video/mp4)
136
+ #
137
+ # @return [String, nil]
138
+ required :content_type, String, nil?: true
139
+
140
+ # @!attribute filename
141
+ # The name of the file
142
+ #
143
+ # @return [String, nil]
144
+ required :filename, String, nil?: true
145
+
146
+ # @!attribute url
147
+ # This is the URL you use to render optimized attachments on the client. This
148
+ # should be used for apps.
149
+ #
150
+ # @return [String, nil]
151
+ required :url, String, nil?: true
152
+
153
+ # @!method initialize(id:, content_type:, filename:, url:)
154
+ # Some parameter documentations has been truncated, see
155
+ # {WhopSDK::Models::ReviewRetrieveResponse::Attachment} for more details.
156
+ #
157
+ # Represents an image attachment
158
+ #
159
+ # @param id [String] The ID of the attachment
160
+ #
161
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
162
+ #
163
+ # @param filename [String, nil] The name of the file
164
+ #
165
+ # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
166
+ end
167
+
168
+ # @see WhopSDK::Models::ReviewRetrieveResponse#company
169
+ class Company < WhopSDK::Internal::Type::BaseModel
170
+ # @!attribute id
171
+ # The ID (tag) of the company.
172
+ #
173
+ # @return [String]
174
+ required :id, String
175
+
176
+ # @!attribute route
177
+ # The slug/route of the company on the Whop site.
178
+ #
179
+ # @return [String]
180
+ required :route, String
181
+
182
+ # @!attribute title
183
+ # The title of the company.
184
+ #
185
+ # @return [String]
186
+ required :title, String
187
+
188
+ # @!method initialize(id:, route:, title:)
189
+ # The company the review is for.
190
+ #
191
+ # @param id [String] The ID (tag) of the company.
192
+ #
193
+ # @param route [String] The slug/route of the company on the Whop site.
194
+ #
195
+ # @param title [String] The title of the company.
196
+ end
197
+
198
+ # @see WhopSDK::Models::ReviewRetrieveResponse#product
199
+ class Product < WhopSDK::Internal::Type::BaseModel
200
+ # @!attribute id
201
+ # The internal ID of the public product.
202
+ #
203
+ # @return [String]
204
+ required :id, String
205
+
206
+ # @!attribute title
207
+ # The title of the product. Use for Whop 4.0.
208
+ #
209
+ # @return [String]
210
+ required :title, String
211
+
212
+ # @!method initialize(id:, title:)
213
+ # The product the review is for.
214
+ #
215
+ # @param id [String] The internal ID of the public product.
216
+ #
217
+ # @param title [String] The title of the product. Use for Whop 4.0.
218
+ end
219
+
220
+ # @see WhopSDK::Models::ReviewRetrieveResponse#user
221
+ class User < WhopSDK::Internal::Type::BaseModel
222
+ # @!attribute id
223
+ # The internal ID of the user.
224
+ #
225
+ # @return [String]
226
+ required :id, String
227
+
228
+ # @!attribute name
229
+ # The name of the user from their Whop account.
230
+ #
231
+ # @return [String, nil]
232
+ required :name, String, nil?: true
233
+
234
+ # @!attribute username
235
+ # The username of the user from their Whop account.
236
+ #
237
+ # @return [String]
238
+ required :username, String
239
+
240
+ # @!method initialize(id:, name:, username:)
241
+ # The user account that performed the action.
242
+ #
243
+ # @param id [String] The internal ID of the user.
244
+ #
245
+ # @param name [String, nil] The name of the user from their Whop account.
246
+ #
247
+ # @param username [String] The username of the user from their Whop account.
248
+ end
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The statuses a review can have
6
+ module ReviewStatus
7
+ extend WhopSDK::Internal::Type::Enum
8
+
9
+ PENDING = :pending
10
+ PUBLISHED = :published
11
+ REMOVED = :removed
12
+
13
+ # @!method self.values
14
+ # @return [Array<Symbol>]
15
+ end
16
+ end
17
+ end
@@ -71,14 +71,20 @@ module WhopSDK
71
71
 
72
72
  AppViewType = WhopSDK::Models::AppViewType
73
73
 
74
+ AssessmentQuestionTypes = WhopSDK::Models::AssessmentQuestionTypes
75
+
74
76
  AuthorizedUserListParams = WhopSDK::Models::AuthorizedUserListParams
75
77
 
76
78
  AuthorizedUserRetrieveParams = WhopSDK::Models::AuthorizedUserRetrieveParams
77
79
 
78
80
  AuthorizedUserRoles = WhopSDK::Models::AuthorizedUserRoles
79
81
 
82
+ BillingReasons = WhopSDK::Models::BillingReasons
83
+
80
84
  BusinessTypes = WhopSDK::Models::BusinessTypes
81
85
 
86
+ CardBrands = WhopSDK::Models::CardBrands
87
+
82
88
  ChatChannel = WhopSDK::Models::ChatChannel
83
89
 
84
90
  ChatChannelListParams = WhopSDK::Models::ChatChannelListParams
@@ -101,6 +107,28 @@ module WhopSDK
101
107
 
102
108
  CompanyRetrieveParams = WhopSDK::Models::CompanyRetrieveParams
103
109
 
110
+ Course = WhopSDK::Models::Course
111
+
112
+ CourseChapter = WhopSDK::Models::CourseChapter
113
+
114
+ CourseChapterCreateParams = WhopSDK::Models::CourseChapterCreateParams
115
+
116
+ CourseChapterDeleteParams = WhopSDK::Models::CourseChapterDeleteParams
117
+
118
+ CourseChapterListParams = WhopSDK::Models::CourseChapterListParams
119
+
120
+ CourseChapterRetrieveParams = WhopSDK::Models::CourseChapterRetrieveParams
121
+
122
+ CourseChapterUpdateParams = WhopSDK::Models::CourseChapterUpdateParams
123
+
124
+ CourseCreateParams = WhopSDK::Models::CourseCreateParams
125
+
126
+ CourseDeleteParams = WhopSDK::Models::CourseDeleteParams
127
+
128
+ CourseLessonCreateParams = WhopSDK::Models::CourseLessonCreateParams
129
+
130
+ CourseLessonDeleteParams = WhopSDK::Models::CourseLessonDeleteParams
131
+
104
132
  CourseLessonInteraction = WhopSDK::Models::CourseLessonInteraction
105
133
 
106
134
  CourseLessonInteractionCompletedWebhookEvent =
@@ -112,6 +140,18 @@ module WhopSDK
112
140
 
113
141
  CourseLessonInteractionRetrieveParams = WhopSDK::Models::CourseLessonInteractionRetrieveParams
114
142
 
143
+ CourseLessonListParams = WhopSDK::Models::CourseLessonListParams
144
+
145
+ CourseLessonRetrieveParams = WhopSDK::Models::CourseLessonRetrieveParams
146
+
147
+ CourseLessonUpdateParams = WhopSDK::Models::CourseLessonUpdateParams
148
+
149
+ CourseListParams = WhopSDK::Models::CourseListParams
150
+
151
+ CourseRetrieveParams = WhopSDK::Models::CourseRetrieveParams
152
+
153
+ CourseUpdateParams = WhopSDK::Models::CourseUpdateParams
154
+
115
155
  Currency = WhopSDK::Models::Currency
116
156
 
117
157
  CustomCta = WhopSDK::Models::CustomCta
@@ -152,6 +192,8 @@ module WhopSDK
152
192
 
153
193
  ExperienceDetachParams = WhopSDK::Models::ExperienceDetachParams
154
194
 
195
+ ExperienceDuplicateParams = WhopSDK::Models::ExperienceDuplicateParams
196
+
155
197
  ExperienceListParams = WhopSDK::Models::ExperienceListParams
156
198
 
157
199
  ExperienceRetrieveParams = WhopSDK::Models::ExperienceRetrieveParams
@@ -170,6 +212,8 @@ module WhopSDK
170
212
 
171
213
  ForumPostRetrieveParams = WhopSDK::Models::ForumPostRetrieveParams
172
214
 
215
+ ForumPostUpdateParams = WhopSDK::Models::ForumPostUpdateParams
216
+
173
217
  ForumRetrieveParams = WhopSDK::Models::ForumRetrieveParams
174
218
 
175
219
  ForumUpdateParams = WhopSDK::Models::ForumUpdateParams
@@ -202,8 +246,16 @@ module WhopSDK
202
246
 
203
247
  InvoiceVoidParams = WhopSDK::Models::InvoiceVoidParams
204
248
 
249
+ Languages = WhopSDK::Models::Languages
250
+
205
251
  LedgerAccountRetrieveParams = WhopSDK::Models::LedgerAccountRetrieveParams
206
252
 
253
+ Lesson = WhopSDK::Models::Lesson
254
+
255
+ LessonTypes = WhopSDK::Models::LessonTypes
256
+
257
+ LessonVisibilities = WhopSDK::Models::LessonVisibilities
258
+
207
259
  MemberListParams = WhopSDK::Models::MemberListParams
208
260
 
209
261
  MemberMostRecentActions = WhopSDK::Models::MemberMostRecentActions
@@ -240,6 +292,8 @@ module WhopSDK
240
292
 
241
293
  MessageRetrieveParams = WhopSDK::Models::MessageRetrieveParams
242
294
 
295
+ MessageUpdateParams = WhopSDK::Models::MessageUpdateParams
296
+
243
297
  PageInfo = WhopSDK::Models::PageInfo
244
298
 
245
299
  Payment = WhopSDK::Models::Payment
@@ -248,6 +302,8 @@ module WhopSDK
248
302
 
249
303
  PaymentListParams = WhopSDK::Models::PaymentListParams
250
304
 
305
+ PaymentMethodTypes = WhopSDK::Models::PaymentMethodTypes
306
+
251
307
  PaymentPendingWebhookEvent = WhopSDK::Models::PaymentPendingWebhookEvent
252
308
 
253
309
  PaymentRefundParams = WhopSDK::Models::PaymentRefundParams
@@ -288,6 +344,20 @@ module WhopSDK
288
344
 
289
345
  ProductUpdateParams = WhopSDK::Models::ProductUpdateParams
290
346
 
347
+ PromoCode = WhopSDK::Models::PromoCode
348
+
349
+ PromoCodeCreateParams = WhopSDK::Models::PromoCodeCreateParams
350
+
351
+ PromoCodeDeleteParams = WhopSDK::Models::PromoCodeDeleteParams
352
+
353
+ PromoCodeListParams = WhopSDK::Models::PromoCodeListParams
354
+
355
+ PromoCodeRetrieveParams = WhopSDK::Models::PromoCodeRetrieveParams
356
+
357
+ PromoCodeStatus = WhopSDK::Models::PromoCodeStatus
358
+
359
+ PromoDuration = WhopSDK::Models::PromoDuration
360
+
291
361
  PromoType = WhopSDK::Models::PromoType
292
362
 
293
363
  Reaction = WhopSDK::Models::Reaction
@@ -302,6 +372,12 @@ module WhopSDK
302
372
 
303
373
  ReleaseMethod = WhopSDK::Models::ReleaseMethod
304
374
 
375
+ ReviewListParams = WhopSDK::Models::ReviewListParams
376
+
377
+ ReviewRetrieveParams = WhopSDK::Models::ReviewRetrieveParams
378
+
379
+ ReviewStatus = WhopSDK::Models::ReviewStatus
380
+
305
381
  Shipment = WhopSDK::Models::Shipment
306
382
 
307
383
  ShipmentCarrier = WhopSDK::Models::ShipmentCarrier
@@ -9,6 +9,8 @@ module WhopSDK
9
9
  #
10
10
  # - `checkout_configuration:create`
11
11
  # - `plan:create`
12
+ # - `access_pass:create`
13
+ # - `access_pass:update`
12
14
  #
13
15
  # @overload create(affiliate_code: nil, metadata: nil, plan: nil, plan_id: nil, redirect_url: nil, request_options: {})
14
16
  #
@@ -0,0 +1,151 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Resources
5
+ class CourseChapters
6
+ # Creates a new course chapter
7
+ #
8
+ # Required permissions:
9
+ #
10
+ # - `courses:update`
11
+ #
12
+ # @overload create(course_id:, title: nil, request_options: {})
13
+ #
14
+ # @param course_id [String] The ID of the course to create the chapter in
15
+ #
16
+ # @param title [String, nil] The title of the chapter
17
+ #
18
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
19
+ #
20
+ # @return [WhopSDK::Models::CourseChapter]
21
+ #
22
+ # @see WhopSDK::Models::CourseChapterCreateParams
23
+ def create(params)
24
+ parsed, options = WhopSDK::CourseChapterCreateParams.dump_request(params)
25
+ @client.request(
26
+ method: :post,
27
+ path: "course_chapters",
28
+ body: parsed,
29
+ model: WhopSDK::CourseChapter,
30
+ options: options
31
+ )
32
+ end
33
+
34
+ # Retrieves a course chapter by ID
35
+ #
36
+ # Required permissions:
37
+ #
38
+ # - `courses:read`
39
+ #
40
+ # @overload retrieve(id, request_options: {})
41
+ #
42
+ # @param id [String]
43
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
44
+ #
45
+ # @return [WhopSDK::Models::CourseChapter]
46
+ #
47
+ # @see WhopSDK::Models::CourseChapterRetrieveParams
48
+ def retrieve(id, params = {})
49
+ @client.request(
50
+ method: :get,
51
+ path: ["course_chapters/%1$s", id],
52
+ model: WhopSDK::CourseChapter,
53
+ options: params[:request_options]
54
+ )
55
+ end
56
+
57
+ # Updates a course chapter
58
+ #
59
+ # Required permissions:
60
+ #
61
+ # - `courses:update`
62
+ #
63
+ # @overload update(id, title:, request_options: {})
64
+ #
65
+ # @param id [String]
66
+ #
67
+ # @param title [String] The title of the chapter
68
+ #
69
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
70
+ #
71
+ # @return [WhopSDK::Models::CourseChapter]
72
+ #
73
+ # @see WhopSDK::Models::CourseChapterUpdateParams
74
+ def update(id, params)
75
+ parsed, options = WhopSDK::CourseChapterUpdateParams.dump_request(params)
76
+ @client.request(
77
+ method: :patch,
78
+ path: ["course_chapters/%1$s", id],
79
+ body: parsed,
80
+ model: WhopSDK::CourseChapter,
81
+ options: options
82
+ )
83
+ end
84
+
85
+ # Lists chapters for a course
86
+ #
87
+ # Required permissions:
88
+ #
89
+ # - `courses:read`
90
+ #
91
+ # @overload list(course_id:, after: nil, before: nil, first: nil, last: nil, request_options: {})
92
+ #
93
+ # @param course_id [String] The ID of the course
94
+ #
95
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
96
+ #
97
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
98
+ #
99
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
100
+ #
101
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
102
+ #
103
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
104
+ #
105
+ # @return [WhopSDK::Internal::CursorPage<WhopSDK::Models::CourseChapterListResponse>]
106
+ #
107
+ # @see WhopSDK::Models::CourseChapterListParams
108
+ def list(params)
109
+ parsed, options = WhopSDK::CourseChapterListParams.dump_request(params)
110
+ @client.request(
111
+ method: :get,
112
+ path: "course_chapters",
113
+ query: parsed,
114
+ page: WhopSDK::Internal::CursorPage,
115
+ model: WhopSDK::Models::CourseChapterListResponse,
116
+ options: options
117
+ )
118
+ end
119
+
120
+ # Deletes a course chapter
121
+ #
122
+ # Required permissions:
123
+ #
124
+ # - `courses:update`
125
+ #
126
+ # @overload delete(id, request_options: {})
127
+ #
128
+ # @param id [String]
129
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}, nil]
130
+ #
131
+ # @return [Boolean]
132
+ #
133
+ # @see WhopSDK::Models::CourseChapterDeleteParams
134
+ def delete(id, params = {})
135
+ @client.request(
136
+ method: :delete,
137
+ path: ["course_chapters/%1$s", id],
138
+ model: WhopSDK::Internal::Type::Boolean,
139
+ options: params[:request_options]
140
+ )
141
+ end
142
+
143
+ # @api private
144
+ #
145
+ # @param client [WhopSDK::Client]
146
+ def initialize(client:)
147
+ @client = client
148
+ end
149
+ end
150
+ end
151
+ end