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,243 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class ReviewListResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(WhopSDK::Models::ReviewListResponse, WhopSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # The internal ID of the review.
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # The attachments attached to the review.
16
+ sig { returns(T::Array[WhopSDK::Models::ReviewListResponse::Attachment]) }
17
+ attr_accessor :attachments
18
+
19
+ # The timestamp of when the review was created.
20
+ sig { returns(Time) }
21
+ attr_accessor :created_at
22
+
23
+ # The description of the review.
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :description
26
+
27
+ # The timestamp of when the user joined the product.
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_accessor :joined_at
30
+
31
+ # Whether or not the user paid for the product. If null, the payment status is
32
+ # unknown.
33
+ sig { returns(T.nilable(T::Boolean)) }
34
+ attr_accessor :paid_for_product
35
+
36
+ # The timestamp of when the review was published.
37
+ sig { returns(T.nilable(Time)) }
38
+ attr_accessor :published_at
39
+
40
+ # The number of stars the user gave the product.
41
+ sig { returns(Integer) }
42
+ attr_accessor :stars
43
+
44
+ # The status of the review.
45
+ sig { returns(WhopSDK::ReviewStatus::TaggedSymbol) }
46
+ attr_accessor :status
47
+
48
+ # The title of the review.
49
+ sig { returns(T.nilable(String)) }
50
+ attr_accessor :title
51
+
52
+ # The timestamp of when the review was last updated.
53
+ sig { returns(Time) }
54
+ attr_accessor :updated_at
55
+
56
+ # The user account that performed the action.
57
+ sig { returns(WhopSDK::Models::ReviewListResponse::User) }
58
+ attr_reader :user
59
+
60
+ sig do
61
+ params(user: WhopSDK::Models::ReviewListResponse::User::OrHash).void
62
+ end
63
+ attr_writer :user
64
+
65
+ # An object representing a user review of a company.
66
+ sig do
67
+ params(
68
+ id: String,
69
+ attachments:
70
+ T::Array[WhopSDK::Models::ReviewListResponse::Attachment::OrHash],
71
+ created_at: Time,
72
+ description: T.nilable(String),
73
+ joined_at: T.nilable(Time),
74
+ paid_for_product: T.nilable(T::Boolean),
75
+ published_at: T.nilable(Time),
76
+ stars: Integer,
77
+ status: WhopSDK::ReviewStatus::OrSymbol,
78
+ title: T.nilable(String),
79
+ updated_at: Time,
80
+ user: WhopSDK::Models::ReviewListResponse::User::OrHash
81
+ ).returns(T.attached_class)
82
+ end
83
+ def self.new(
84
+ # The internal ID of the review.
85
+ id:,
86
+ # The attachments attached to the review.
87
+ attachments:,
88
+ # The timestamp of when the review was created.
89
+ created_at:,
90
+ # The description of the review.
91
+ description:,
92
+ # The timestamp of when the user joined the product.
93
+ joined_at:,
94
+ # Whether or not the user paid for the product. If null, the payment status is
95
+ # unknown.
96
+ paid_for_product:,
97
+ # The timestamp of when the review was published.
98
+ published_at:,
99
+ # The number of stars the user gave the product.
100
+ stars:,
101
+ # The status of the review.
102
+ status:,
103
+ # The title of the review.
104
+ title:,
105
+ # The timestamp of when the review was last updated.
106
+ updated_at:,
107
+ # The user account that performed the action.
108
+ user:
109
+ )
110
+ end
111
+
112
+ sig do
113
+ override.returns(
114
+ {
115
+ id: String,
116
+ attachments:
117
+ T::Array[WhopSDK::Models::ReviewListResponse::Attachment],
118
+ created_at: Time,
119
+ description: T.nilable(String),
120
+ joined_at: T.nilable(Time),
121
+ paid_for_product: T.nilable(T::Boolean),
122
+ published_at: T.nilable(Time),
123
+ stars: Integer,
124
+ status: WhopSDK::ReviewStatus::TaggedSymbol,
125
+ title: T.nilable(String),
126
+ updated_at: Time,
127
+ user: WhopSDK::Models::ReviewListResponse::User
128
+ }
129
+ )
130
+ end
131
+ def to_hash
132
+ end
133
+
134
+ class Attachment < WhopSDK::Internal::Type::BaseModel
135
+ OrHash =
136
+ T.type_alias do
137
+ T.any(
138
+ WhopSDK::Models::ReviewListResponse::Attachment,
139
+ WhopSDK::Internal::AnyHash
140
+ )
141
+ end
142
+
143
+ # The ID of the attachment
144
+ sig { returns(String) }
145
+ attr_accessor :id
146
+
147
+ # The attachment's content type (e.g., image/jpg, video/mp4)
148
+ sig { returns(T.nilable(String)) }
149
+ attr_accessor :content_type
150
+
151
+ # The name of the file
152
+ sig { returns(T.nilable(String)) }
153
+ attr_accessor :filename
154
+
155
+ # This is the URL you use to render optimized attachments on the client. This
156
+ # should be used for apps.
157
+ sig { returns(T.nilable(String)) }
158
+ attr_accessor :url
159
+
160
+ # Represents an image attachment
161
+ sig do
162
+ params(
163
+ id: String,
164
+ content_type: T.nilable(String),
165
+ filename: T.nilable(String),
166
+ url: T.nilable(String)
167
+ ).returns(T.attached_class)
168
+ end
169
+ def self.new(
170
+ # The ID of the attachment
171
+ id:,
172
+ # The attachment's content type (e.g., image/jpg, video/mp4)
173
+ content_type:,
174
+ # The name of the file
175
+ filename:,
176
+ # This is the URL you use to render optimized attachments on the client. This
177
+ # should be used for apps.
178
+ url:
179
+ )
180
+ end
181
+
182
+ sig do
183
+ override.returns(
184
+ {
185
+ id: String,
186
+ content_type: T.nilable(String),
187
+ filename: T.nilable(String),
188
+ url: T.nilable(String)
189
+ }
190
+ )
191
+ end
192
+ def to_hash
193
+ end
194
+ end
195
+
196
+ class User < WhopSDK::Internal::Type::BaseModel
197
+ OrHash =
198
+ T.type_alias do
199
+ T.any(
200
+ WhopSDK::Models::ReviewListResponse::User,
201
+ WhopSDK::Internal::AnyHash
202
+ )
203
+ end
204
+
205
+ # The internal ID of the user.
206
+ sig { returns(String) }
207
+ attr_accessor :id
208
+
209
+ # The name of the user from their Whop account.
210
+ sig { returns(T.nilable(String)) }
211
+ attr_accessor :name
212
+
213
+ # The username of the user from their Whop account.
214
+ sig { returns(String) }
215
+ attr_accessor :username
216
+
217
+ # The user account that performed the action.
218
+ sig do
219
+ params(id: String, name: T.nilable(String), username: String).returns(
220
+ T.attached_class
221
+ )
222
+ end
223
+ def self.new(
224
+ # The internal ID of the user.
225
+ id:,
226
+ # The name of the user from their Whop account.
227
+ name:,
228
+ # The username of the user from their Whop account.
229
+ username:
230
+ )
231
+ end
232
+
233
+ sig do
234
+ override.returns(
235
+ { id: String, name: T.nilable(String), username: String }
236
+ )
237
+ end
238
+ def to_hash
239
+ end
240
+ end
241
+ end
242
+ end
243
+ end
@@ -0,0 +1,27 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class ReviewRetrieveParams < 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::ReviewRetrieveParams, 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
@@ -0,0 +1,354 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class ReviewRetrieveResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::ReviewRetrieveResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The internal ID of the review.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The attachments attached to the review.
19
+ sig do
20
+ returns(T::Array[WhopSDK::Models::ReviewRetrieveResponse::Attachment])
21
+ end
22
+ attr_accessor :attachments
23
+
24
+ # The company the review is for.
25
+ sig { returns(WhopSDK::Models::ReviewRetrieveResponse::Company) }
26
+ attr_reader :company
27
+
28
+ sig do
29
+ params(
30
+ company: WhopSDK::Models::ReviewRetrieveResponse::Company::OrHash
31
+ ).void
32
+ end
33
+ attr_writer :company
34
+
35
+ # The timestamp of when the review was created.
36
+ sig { returns(Time) }
37
+ attr_accessor :created_at
38
+
39
+ # The description of the review.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :description
42
+
43
+ # The timestamp of when the user joined the product.
44
+ sig { returns(T.nilable(Time)) }
45
+ attr_accessor :joined_at
46
+
47
+ # Whether or not the user paid for the product. If null, the payment status is
48
+ # unknown.
49
+ sig { returns(T.nilable(T::Boolean)) }
50
+ attr_accessor :paid_for_product
51
+
52
+ # The product the review is for.
53
+ sig { returns(WhopSDK::Models::ReviewRetrieveResponse::Product) }
54
+ attr_reader :product
55
+
56
+ sig do
57
+ params(
58
+ product: WhopSDK::Models::ReviewRetrieveResponse::Product::OrHash
59
+ ).void
60
+ end
61
+ attr_writer :product
62
+
63
+ # The timestamp of when the review was published.
64
+ sig { returns(T.nilable(Time)) }
65
+ attr_accessor :published_at
66
+
67
+ # The number of stars the user gave the product.
68
+ sig { returns(Integer) }
69
+ attr_accessor :stars
70
+
71
+ # The status of the review.
72
+ sig { returns(WhopSDK::ReviewStatus::TaggedSymbol) }
73
+ attr_accessor :status
74
+
75
+ # The title of the review.
76
+ sig { returns(T.nilable(String)) }
77
+ attr_accessor :title
78
+
79
+ # The timestamp of when the review was last updated.
80
+ sig { returns(Time) }
81
+ attr_accessor :updated_at
82
+
83
+ # The user account that performed the action.
84
+ sig { returns(WhopSDK::Models::ReviewRetrieveResponse::User) }
85
+ attr_reader :user
86
+
87
+ sig do
88
+ params(user: WhopSDK::Models::ReviewRetrieveResponse::User::OrHash).void
89
+ end
90
+ attr_writer :user
91
+
92
+ # An object representing a user review of a company.
93
+ sig do
94
+ params(
95
+ id: String,
96
+ attachments:
97
+ T::Array[
98
+ WhopSDK::Models::ReviewRetrieveResponse::Attachment::OrHash
99
+ ],
100
+ company: WhopSDK::Models::ReviewRetrieveResponse::Company::OrHash,
101
+ created_at: Time,
102
+ description: T.nilable(String),
103
+ joined_at: T.nilable(Time),
104
+ paid_for_product: T.nilable(T::Boolean),
105
+ product: WhopSDK::Models::ReviewRetrieveResponse::Product::OrHash,
106
+ published_at: T.nilable(Time),
107
+ stars: Integer,
108
+ status: WhopSDK::ReviewStatus::OrSymbol,
109
+ title: T.nilable(String),
110
+ updated_at: Time,
111
+ user: WhopSDK::Models::ReviewRetrieveResponse::User::OrHash
112
+ ).returns(T.attached_class)
113
+ end
114
+ def self.new(
115
+ # The internal ID of the review.
116
+ id:,
117
+ # The attachments attached to the review.
118
+ attachments:,
119
+ # The company the review is for.
120
+ company:,
121
+ # The timestamp of when the review was created.
122
+ created_at:,
123
+ # The description of the review.
124
+ description:,
125
+ # The timestamp of when the user joined the product.
126
+ joined_at:,
127
+ # Whether or not the user paid for the product. If null, the payment status is
128
+ # unknown.
129
+ paid_for_product:,
130
+ # The product the review is for.
131
+ product:,
132
+ # The timestamp of when the review was published.
133
+ published_at:,
134
+ # The number of stars the user gave the product.
135
+ stars:,
136
+ # The status of the review.
137
+ status:,
138
+ # The title of the review.
139
+ title:,
140
+ # The timestamp of when the review was last updated.
141
+ updated_at:,
142
+ # The user account that performed the action.
143
+ user:
144
+ )
145
+ end
146
+
147
+ sig do
148
+ override.returns(
149
+ {
150
+ id: String,
151
+ attachments:
152
+ T::Array[WhopSDK::Models::ReviewRetrieveResponse::Attachment],
153
+ company: WhopSDK::Models::ReviewRetrieveResponse::Company,
154
+ created_at: Time,
155
+ description: T.nilable(String),
156
+ joined_at: T.nilable(Time),
157
+ paid_for_product: T.nilable(T::Boolean),
158
+ product: WhopSDK::Models::ReviewRetrieveResponse::Product,
159
+ published_at: T.nilable(Time),
160
+ stars: Integer,
161
+ status: WhopSDK::ReviewStatus::TaggedSymbol,
162
+ title: T.nilable(String),
163
+ updated_at: Time,
164
+ user: WhopSDK::Models::ReviewRetrieveResponse::User
165
+ }
166
+ )
167
+ end
168
+ def to_hash
169
+ end
170
+
171
+ class Attachment < WhopSDK::Internal::Type::BaseModel
172
+ OrHash =
173
+ T.type_alias do
174
+ T.any(
175
+ WhopSDK::Models::ReviewRetrieveResponse::Attachment,
176
+ WhopSDK::Internal::AnyHash
177
+ )
178
+ end
179
+
180
+ # The ID of the attachment
181
+ sig { returns(String) }
182
+ attr_accessor :id
183
+
184
+ # The attachment's content type (e.g., image/jpg, video/mp4)
185
+ sig { returns(T.nilable(String)) }
186
+ attr_accessor :content_type
187
+
188
+ # The name of the file
189
+ sig { returns(T.nilable(String)) }
190
+ attr_accessor :filename
191
+
192
+ # This is the URL you use to render optimized attachments on the client. This
193
+ # should be used for apps.
194
+ sig { returns(T.nilable(String)) }
195
+ attr_accessor :url
196
+
197
+ # Represents an image attachment
198
+ sig do
199
+ params(
200
+ id: String,
201
+ content_type: T.nilable(String),
202
+ filename: T.nilable(String),
203
+ url: T.nilable(String)
204
+ ).returns(T.attached_class)
205
+ end
206
+ def self.new(
207
+ # The ID of the attachment
208
+ id:,
209
+ # The attachment's content type (e.g., image/jpg, video/mp4)
210
+ content_type:,
211
+ # The name of the file
212
+ filename:,
213
+ # This is the URL you use to render optimized attachments on the client. This
214
+ # should be used for apps.
215
+ url:
216
+ )
217
+ end
218
+
219
+ sig do
220
+ override.returns(
221
+ {
222
+ id: String,
223
+ content_type: T.nilable(String),
224
+ filename: T.nilable(String),
225
+ url: T.nilable(String)
226
+ }
227
+ )
228
+ end
229
+ def to_hash
230
+ end
231
+ end
232
+
233
+ class Company < WhopSDK::Internal::Type::BaseModel
234
+ OrHash =
235
+ T.type_alias do
236
+ T.any(
237
+ WhopSDK::Models::ReviewRetrieveResponse::Company,
238
+ WhopSDK::Internal::AnyHash
239
+ )
240
+ end
241
+
242
+ # The ID (tag) of the company.
243
+ sig { returns(String) }
244
+ attr_accessor :id
245
+
246
+ # The slug/route of the company on the Whop site.
247
+ sig { returns(String) }
248
+ attr_accessor :route
249
+
250
+ # The title of the company.
251
+ sig { returns(String) }
252
+ attr_accessor :title
253
+
254
+ # The company the review is for.
255
+ sig do
256
+ params(id: String, route: String, title: String).returns(
257
+ T.attached_class
258
+ )
259
+ end
260
+ def self.new(
261
+ # The ID (tag) of the company.
262
+ id:,
263
+ # The slug/route of the company on the Whop site.
264
+ route:,
265
+ # The title of the company.
266
+ title:
267
+ )
268
+ end
269
+
270
+ sig { override.returns({ id: String, route: String, title: String }) }
271
+ def to_hash
272
+ end
273
+ end
274
+
275
+ class Product < WhopSDK::Internal::Type::BaseModel
276
+ OrHash =
277
+ T.type_alias do
278
+ T.any(
279
+ WhopSDK::Models::ReviewRetrieveResponse::Product,
280
+ WhopSDK::Internal::AnyHash
281
+ )
282
+ end
283
+
284
+ # The internal ID of the public product.
285
+ sig { returns(String) }
286
+ attr_accessor :id
287
+
288
+ # The title of the product. Use for Whop 4.0.
289
+ sig { returns(String) }
290
+ attr_accessor :title
291
+
292
+ # The product the review is for.
293
+ sig { params(id: String, title: String).returns(T.attached_class) }
294
+ def self.new(
295
+ # The internal ID of the public product.
296
+ id:,
297
+ # The title of the product. Use for Whop 4.0.
298
+ title:
299
+ )
300
+ end
301
+
302
+ sig { override.returns({ id: String, title: String }) }
303
+ def to_hash
304
+ end
305
+ end
306
+
307
+ class User < WhopSDK::Internal::Type::BaseModel
308
+ OrHash =
309
+ T.type_alias do
310
+ T.any(
311
+ WhopSDK::Models::ReviewRetrieveResponse::User,
312
+ WhopSDK::Internal::AnyHash
313
+ )
314
+ end
315
+
316
+ # The internal ID of the user.
317
+ sig { returns(String) }
318
+ attr_accessor :id
319
+
320
+ # The name of the user from their Whop account.
321
+ sig { returns(T.nilable(String)) }
322
+ attr_accessor :name
323
+
324
+ # The username of the user from their Whop account.
325
+ sig { returns(String) }
326
+ attr_accessor :username
327
+
328
+ # The user account that performed the action.
329
+ sig do
330
+ params(id: String, name: T.nilable(String), username: String).returns(
331
+ T.attached_class
332
+ )
333
+ end
334
+ def self.new(
335
+ # The internal ID of the user.
336
+ id:,
337
+ # The name of the user from their Whop account.
338
+ name:,
339
+ # The username of the user from their Whop account.
340
+ username:
341
+ )
342
+ end
343
+
344
+ sig do
345
+ override.returns(
346
+ { id: String, name: T.nilable(String), username: String }
347
+ )
348
+ end
349
+ def to_hash
350
+ end
351
+ end
352
+ end
353
+ end
354
+ end
@@ -0,0 +1,21 @@
1
+ # typed: strong
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
+ TaggedSymbol = T.type_alias { T.all(Symbol, WhopSDK::ReviewStatus) }
10
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
11
+
12
+ PENDING = T.let(:pending, WhopSDK::ReviewStatus::TaggedSymbol)
13
+ PUBLISHED = T.let(:published, WhopSDK::ReviewStatus::TaggedSymbol)
14
+ REMOVED = T.let(:removed, WhopSDK::ReviewStatus::TaggedSymbol)
15
+
16
+ sig { override.returns(T::Array[WhopSDK::ReviewStatus::TaggedSymbol]) }
17
+ def self.values
18
+ end
19
+ end
20
+ end
21
+ end