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,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#list
6
+ class CourseLessonListParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute after
11
+ # Returns the elements in the list that come after the specified cursor.
12
+ #
13
+ # @return [String, nil]
14
+ optional :after, String, nil?: true
15
+
16
+ # @!attribute before
17
+ # Returns the elements in the list that come before the specified cursor.
18
+ #
19
+ # @return [String, nil]
20
+ optional :before, String, nil?: true
21
+
22
+ # @!attribute chapter_id
23
+ # The ID of the chapter (returns lessons only for this chapter)
24
+ #
25
+ # @return [String, nil]
26
+ optional :chapter_id, String, nil?: true
27
+
28
+ # @!attribute course_id
29
+ # The ID of the course (returns all lessons across all chapters)
30
+ #
31
+ # @return [String, nil]
32
+ optional :course_id, String, nil?: true
33
+
34
+ # @!attribute first
35
+ # Returns the first _n_ elements from the list.
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :first, Integer, nil?: true
39
+
40
+ # @!attribute last
41
+ # Returns the last _n_ elements from the list.
42
+ #
43
+ # @return [Integer, nil]
44
+ optional :last, Integer, nil?: true
45
+
46
+ # @!method initialize(after: nil, before: nil, chapter_id: nil, course_id: nil, first: nil, last: nil, request_options: {})
47
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
48
+ #
49
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
50
+ #
51
+ # @param chapter_id [String, nil] The ID of the chapter (returns lessons only for this chapter)
52
+ #
53
+ # @param course_id [String, nil] The ID of the course (returns all lessons across all chapters)
54
+ #
55
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
56
+ #
57
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
58
+ #
59
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#list
6
+ class CourseLessonListResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the lesson
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute content
14
+ # The content of the lesson
15
+ #
16
+ # @return [String, nil]
17
+ required :content, String, nil?: true
18
+
19
+ # @!attribute days_from_course_start_until_unlock
20
+ # Number of days from course start until the lesson is unlocked
21
+ #
22
+ # @return [Integer, nil]
23
+ required :days_from_course_start_until_unlock, Integer, nil?: true
24
+
25
+ # @!attribute lesson_type
26
+ # The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
27
+ #
28
+ # @return [Symbol, WhopSDK::Models::LessonTypes]
29
+ required :lesson_type, enum: -> { WhopSDK::LessonTypes }
30
+
31
+ # @!attribute order
32
+ # The order of the lesson within its chapter
33
+ #
34
+ # @return [Integer]
35
+ required :order, Integer
36
+
37
+ # @!attribute title
38
+ # The title of the lesson
39
+ #
40
+ # @return [String]
41
+ required :title, String
42
+
43
+ # @!attribute visibility
44
+ # The visibility of the lesson. Determines how / whether this lesson is visible to
45
+ # users.
46
+ #
47
+ # @return [Symbol, WhopSDK::Models::LessonVisibilities]
48
+ required :visibility, enum: -> { WhopSDK::LessonVisibilities }
49
+
50
+ # @!method initialize(id:, content:, days_from_course_start_until_unlock:, lesson_type:, order:, title:, visibility:)
51
+ # Some parameter documentations has been truncated, see
52
+ # {WhopSDK::Models::CourseLessonListResponse} for more details.
53
+ #
54
+ # A lesson from the courses app
55
+ #
56
+ # @param id [String] The ID of the lesson
57
+ #
58
+ # @param content [String, nil] The content of the lesson
59
+ #
60
+ # @param days_from_course_start_until_unlock [Integer, nil] Number of days from course start until the lesson is unlocked
61
+ #
62
+ # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes] The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
63
+ #
64
+ # @param order [Integer] The order of the lesson within its chapter
65
+ #
66
+ # @param title [String] The title of the lesson
67
+ #
68
+ # @param visibility [Symbol, WhopSDK::Models::LessonVisibilities] The visibility of the lesson. Determines how / whether this lesson is visible to
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#retrieve
6
+ class CourseLessonRetrieveParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,278 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#update
6
+ class CourseLessonUpdateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute assessment_questions
11
+ # Assessment questions for quiz/knowledge check lessons. Replaces all existing
12
+ # questions.
13
+ #
14
+ # @return [Array<WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion>, nil]
15
+ optional :assessment_questions,
16
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::CourseLessonUpdateParams::AssessmentQuestion] },
17
+ nil?: true
18
+
19
+ # @!attribute attachments
20
+ # General attachments for the lesson (PDFs, files, etc). Replaces all existing
21
+ # attachments.
22
+ #
23
+ # @return [Array<WhopSDK::Models::CourseLessonUpdateParams::Attachment>, nil]
24
+ optional :attachments,
25
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::CourseLessonUpdateParams::Attachment] },
26
+ nil?: true
27
+
28
+ # @!attribute content
29
+ # The content of the lesson
30
+ #
31
+ # @return [String, nil]
32
+ optional :content, String, nil?: true
33
+
34
+ # @!attribute days_from_course_start_until_unlock
35
+ # Days from course start until unlock
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :days_from_course_start_until_unlock, Integer, nil?: true
39
+
40
+ # @!attribute lesson_type
41
+ # The available types for a lesson
42
+ #
43
+ # @return [Symbol, WhopSDK::Models::LessonTypes, nil]
44
+ optional :lesson_type, enum: -> { WhopSDK::LessonTypes }, nil?: true
45
+
46
+ # @!attribute main_pdf
47
+ # The main PDF file for this lesson
48
+ #
49
+ # @return [WhopSDK::Models::CourseLessonUpdateParams::MainPdf, nil]
50
+ optional :main_pdf, -> { WhopSDK::CourseLessonUpdateParams::MainPdf }, nil?: true
51
+
52
+ # @!attribute mux_asset_id
53
+ # The ID of the Mux asset to attach to this lesson for video lessons
54
+ #
55
+ # @return [String, nil]
56
+ optional :mux_asset_id, String, nil?: true
57
+
58
+ # @!attribute title
59
+ # The title of the lesson
60
+ #
61
+ # @return [String, nil]
62
+ optional :title, String, nil?: true
63
+
64
+ # @!attribute visibility
65
+ # The available visibilities for a lesson. Determines how / whether a lesson is
66
+ # visible to users.
67
+ #
68
+ # @return [Symbol, WhopSDK::Models::LessonVisibilities, nil]
69
+ optional :visibility, enum: -> { WhopSDK::LessonVisibilities }, nil?: true
70
+
71
+ # @!method initialize(assessment_questions: nil, attachments: nil, content: nil, days_from_course_start_until_unlock: nil, lesson_type: nil, main_pdf: nil, mux_asset_id: nil, title: nil, visibility: nil, request_options: {})
72
+ # Some parameter documentations has been truncated, see
73
+ # {WhopSDK::Models::CourseLessonUpdateParams} for more details.
74
+ #
75
+ # @param assessment_questions [Array<WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion>, nil] Assessment questions for quiz/knowledge check lessons. Replaces all existing que
76
+ #
77
+ # @param attachments [Array<WhopSDK::Models::CourseLessonUpdateParams::Attachment>, nil] General attachments for the lesson (PDFs, files, etc). Replaces all existing att
78
+ #
79
+ # @param content [String, nil] The content of the lesson
80
+ #
81
+ # @param days_from_course_start_until_unlock [Integer, nil] Days from course start until unlock
82
+ #
83
+ # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes, nil] The available types for a lesson
84
+ #
85
+ # @param main_pdf [WhopSDK::Models::CourseLessonUpdateParams::MainPdf, nil] The main PDF file for this lesson
86
+ #
87
+ # @param mux_asset_id [String, nil] The ID of the Mux asset to attach to this lesson for video lessons
88
+ #
89
+ # @param title [String, nil] The title of the lesson
90
+ #
91
+ # @param visibility [Symbol, WhopSDK::Models::LessonVisibilities, nil] The available visibilities for a lesson. Determines how / whether a lesson is vi
92
+ #
93
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
94
+
95
+ class AssessmentQuestion < WhopSDK::Internal::Type::BaseModel
96
+ # @!attribute correct_answer
97
+ # The correct answer for the question. Used for short answer questions
98
+ #
99
+ # @return [String]
100
+ required :correct_answer, String
101
+
102
+ # @!attribute question_text
103
+ # The text of the question
104
+ #
105
+ # @return [String]
106
+ required :question_text, String
107
+
108
+ # @!attribute question_type
109
+ # The type of the question
110
+ #
111
+ # @return [Symbol, WhopSDK::Models::AssessmentQuestionTypes]
112
+ required :question_type, enum: -> { WhopSDK::AssessmentQuestionTypes }
113
+
114
+ # @!attribute id
115
+ # The ID of an existing question. If provided, the question will be updated. If
116
+ # not provided, a new question will be created.
117
+ #
118
+ # @return [String, nil]
119
+ optional :id, String, nil?: true
120
+
121
+ # @!attribute image
122
+ # Optional image attachment for the question
123
+ #
124
+ # @return [WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Image, nil]
125
+ optional :image, -> { WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image }, nil?: true
126
+
127
+ # @!attribute options
128
+ # The answer options for multiple choice/select questions
129
+ #
130
+ # @return [Array<WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Option>, nil]
131
+ optional :options,
132
+ -> {
133
+ WhopSDK::Internal::Type::ArrayOf[WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Option]
134
+ },
135
+ nil?: true
136
+
137
+ # @!method initialize(correct_answer:, question_text:, question_type:, id: nil, image: nil, options: nil)
138
+ # Some parameter documentations has been truncated, see
139
+ # {WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion} for more
140
+ # details.
141
+ #
142
+ # Input for creating or updating an assessment question
143
+ #
144
+ # @param correct_answer [String] The correct answer for the question. Used for short answer questions
145
+ #
146
+ # @param question_text [String] The text of the question
147
+ #
148
+ # @param question_type [Symbol, WhopSDK::Models::AssessmentQuestionTypes] The type of the question
149
+ #
150
+ # @param id [String, nil] The ID of an existing question. If provided, the question will be updated. If no
151
+ #
152
+ # @param image [WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Image, nil] Optional image attachment for the question
153
+ #
154
+ # @param options [Array<WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Option>, nil] The answer options for multiple choice/select questions
155
+
156
+ # @see WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion#image
157
+ class Image < WhopSDK::Internal::Type::BaseModel
158
+ # @!attribute id
159
+ # The ID of an existing attachment object. Use this when updating a resource and
160
+ # keeping a subset of the attachments. Don't use this unless you know what you're
161
+ # doing.
162
+ #
163
+ # @return [String, nil]
164
+ optional :id, String, nil?: true
165
+
166
+ # @!attribute direct_upload_id
167
+ # This ID should be used the first time you upload an attachment. It is the ID of
168
+ # the direct upload that was created when uploading the file to S3 via the
169
+ # mediaDirectUpload mutation.
170
+ #
171
+ # @return [String, nil]
172
+ optional :direct_upload_id, String, nil?: true
173
+
174
+ # @!method initialize(id: nil, direct_upload_id: nil)
175
+ # Some parameter documentations has been truncated, see
176
+ # {WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Image} for more
177
+ # details.
178
+ #
179
+ # Optional image attachment for the question
180
+ #
181
+ # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
182
+ #
183
+ # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
184
+ end
185
+
186
+ class Option < WhopSDK::Internal::Type::BaseModel
187
+ # @!attribute is_correct
188
+ # Whether this option is a correct answer
189
+ #
190
+ # @return [Boolean]
191
+ required :is_correct, WhopSDK::Internal::Type::Boolean
192
+
193
+ # @!attribute option_text
194
+ # The text of the answer option
195
+ #
196
+ # @return [String]
197
+ required :option_text, String
198
+
199
+ # @!attribute id
200
+ # The ID of an existing option. If provided, the option will be updated. If not
201
+ # provided, a new option will be created.
202
+ #
203
+ # @return [String, nil]
204
+ optional :id, String, nil?: true
205
+
206
+ # @!method initialize(is_correct:, option_text:, id: nil)
207
+ # Some parameter documentations has been truncated, see
208
+ # {WhopSDK::Models::CourseLessonUpdateParams::AssessmentQuestion::Option} for more
209
+ # details.
210
+ #
211
+ # Input for creating or updating an assessment question option
212
+ #
213
+ # @param is_correct [Boolean] Whether this option is a correct answer
214
+ #
215
+ # @param option_text [String] The text of the answer option
216
+ #
217
+ # @param id [String, nil] The ID of an existing option. If provided, the option will be updated. If not pr
218
+ end
219
+ end
220
+
221
+ class Attachment < WhopSDK::Internal::Type::BaseModel
222
+ # @!attribute id
223
+ # The ID of an existing attachment object. Use this when updating a resource and
224
+ # keeping a subset of the attachments. Don't use this unless you know what you're
225
+ # doing.
226
+ #
227
+ # @return [String, nil]
228
+ optional :id, String, nil?: true
229
+
230
+ # @!attribute direct_upload_id
231
+ # This ID should be used the first time you upload an attachment. It is the ID of
232
+ # the direct upload that was created when uploading the file to S3 via the
233
+ # mediaDirectUpload mutation.
234
+ #
235
+ # @return [String, nil]
236
+ optional :direct_upload_id, String, nil?: true
237
+
238
+ # @!method initialize(id: nil, direct_upload_id: nil)
239
+ # Some parameter documentations has been truncated, see
240
+ # {WhopSDK::Models::CourseLessonUpdateParams::Attachment} for more details.
241
+ #
242
+ # Input for an attachment
243
+ #
244
+ # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
245
+ #
246
+ # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
247
+ end
248
+
249
+ class MainPdf < WhopSDK::Internal::Type::BaseModel
250
+ # @!attribute id
251
+ # The ID of an existing attachment object. Use this when updating a resource and
252
+ # keeping a subset of the attachments. Don't use this unless you know what you're
253
+ # doing.
254
+ #
255
+ # @return [String, nil]
256
+ optional :id, String, nil?: true
257
+
258
+ # @!attribute direct_upload_id
259
+ # This ID should be used the first time you upload an attachment. It is the ID of
260
+ # the direct upload that was created when uploading the file to S3 via the
261
+ # mediaDirectUpload mutation.
262
+ #
263
+ # @return [String, nil]
264
+ optional :direct_upload_id, String, nil?: true
265
+
266
+ # @!method initialize(id: nil, direct_upload_id: nil)
267
+ # Some parameter documentations has been truncated, see
268
+ # {WhopSDK::Models::CourseLessonUpdateParams::MainPdf} for more details.
269
+ #
270
+ # The main PDF file for this lesson
271
+ #
272
+ # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
273
+ #
274
+ # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
275
+ end
276
+ end
277
+ end
278
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#list
6
+ class CourseListParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute after
11
+ # Returns the elements in the list that come after the specified cursor.
12
+ #
13
+ # @return [String, nil]
14
+ optional :after, String, nil?: true
15
+
16
+ # @!attribute before
17
+ # Returns the elements in the list that come before the specified cursor.
18
+ #
19
+ # @return [String, nil]
20
+ optional :before, String, nil?: true
21
+
22
+ # @!attribute company_id
23
+ # The ID of the company
24
+ #
25
+ # @return [String, nil]
26
+ optional :company_id, String, nil?: true
27
+
28
+ # @!attribute experience_id
29
+ # The ID of the experience
30
+ #
31
+ # @return [String, nil]
32
+ optional :experience_id, String, nil?: true
33
+
34
+ # @!attribute first
35
+ # Returns the first _n_ elements from the list.
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :first, Integer, nil?: true
39
+
40
+ # @!attribute last
41
+ # Returns the last _n_ elements from the list.
42
+ #
43
+ # @return [Integer, nil]
44
+ optional :last, Integer, nil?: true
45
+
46
+ # @!method initialize(after: nil, before: nil, company_id: nil, experience_id: nil, first: nil, last: nil, request_options: {})
47
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
48
+ #
49
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
50
+ #
51
+ # @param company_id [String, nil] The ID of the company
52
+ #
53
+ # @param experience_id [String, nil] The ID of the experience
54
+ #
55
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
56
+ #
57
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
58
+ #
59
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#list
6
+ class CourseListResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the course. Looks like cors_XXX
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute certificate_after_completion_enabled
14
+ # Whether the course will award its students a PDF certificate after completing
15
+ # all lessons
16
+ #
17
+ # @return [Boolean, nil]
18
+ required :certificate_after_completion_enabled, WhopSDK::Internal::Type::Boolean, nil?: true
19
+
20
+ # @!attribute created_at
21
+ # The timestamp of when the course was created
22
+ #
23
+ # @return [Time]
24
+ required :created_at, Time
25
+
26
+ # @!attribute description
27
+ # A short description of the course
28
+ #
29
+ # @return [String, nil]
30
+ required :description, String, nil?: true
31
+
32
+ # @!attribute language
33
+ # The language spoken in the video content of the course, used to generate closed
34
+ # captions in the right language
35
+ #
36
+ # @return [Symbol, WhopSDK::Models::Languages]
37
+ required :language, enum: -> { WhopSDK::Languages }
38
+
39
+ # @!attribute require_completing_lessons_in_order
40
+ # Whether the course requires students to complete the previous lesson before
41
+ # moving on to the next one
42
+ #
43
+ # @return [Boolean]
44
+ required :require_completing_lessons_in_order, WhopSDK::Internal::Type::Boolean
45
+
46
+ # @!attribute tagline
47
+ # A short tagline for the course. It is displayed under the course title in the UI
48
+ #
49
+ # @return [String, nil]
50
+ required :tagline, String, nil?: true
51
+
52
+ # @!attribute thumbnail
53
+ # The thumbnail for the course
54
+ #
55
+ # @return [WhopSDK::Models::CourseListResponse::Thumbnail, nil]
56
+ required :thumbnail, -> { WhopSDK::Models::CourseListResponse::Thumbnail }, nil?: true
57
+
58
+ # @!attribute title
59
+ # The title of the course
60
+ #
61
+ # @return [String, nil]
62
+ required :title, String, nil?: true
63
+
64
+ # @!attribute updated_at
65
+ # The timestamp of when the course was last updated
66
+ #
67
+ # @return [Time]
68
+ required :updated_at, Time
69
+
70
+ # @!method initialize(id:, certificate_after_completion_enabled:, created_at:, description:, language:, require_completing_lessons_in_order:, tagline:, thumbnail:, title:, updated_at:)
71
+ # Some parameter documentations has been truncated, see
72
+ # {WhopSDK::Models::CourseListResponse} for more details.
73
+ #
74
+ # A course from the courses app
75
+ #
76
+ # @param id [String] The ID of the course. Looks like cors_XXX
77
+ #
78
+ # @param certificate_after_completion_enabled [Boolean, nil] Whether the course will award its students a PDF certificate after completing al
79
+ #
80
+ # @param created_at [Time] The timestamp of when the course was created
81
+ #
82
+ # @param description [String, nil] A short description of the course
83
+ #
84
+ # @param language [Symbol, WhopSDK::Models::Languages] The language spoken in the video content of the course, used to generate closed
85
+ #
86
+ # @param require_completing_lessons_in_order [Boolean] Whether the course requires students to complete the previous lesson before movi
87
+ #
88
+ # @param tagline [String, nil] A short tagline for the course. It is displayed under the course title in the UI
89
+ #
90
+ # @param thumbnail [WhopSDK::Models::CourseListResponse::Thumbnail, nil] The thumbnail for the course
91
+ #
92
+ # @param title [String, nil] The title of the course
93
+ #
94
+ # @param updated_at [Time] The timestamp of when the course was last updated
95
+
96
+ # @see WhopSDK::Models::CourseListResponse#thumbnail
97
+ class Thumbnail < WhopSDK::Internal::Type::BaseModel
98
+ # @!attribute id
99
+ # The ID of the attachment
100
+ #
101
+ # @return [String]
102
+ required :id, String
103
+
104
+ # @!attribute content_type
105
+ # The attachment's content type (e.g., image/jpg, video/mp4)
106
+ #
107
+ # @return [String, nil]
108
+ required :content_type, String, nil?: true
109
+
110
+ # @!attribute filename
111
+ # The name of the file
112
+ #
113
+ # @return [String, nil]
114
+ required :filename, String, nil?: true
115
+
116
+ # @!attribute optimized_url
117
+ # This is the URL you use to render optimized attachments on the client. This
118
+ # should be used for apps.
119
+ #
120
+ # @return [String, nil]
121
+ required :optimized_url, String, nil?: true
122
+
123
+ # @!attribute source_url
124
+ # The original URL of the attachment, such as a direct link to S3. This should
125
+ # never be displayed on the client and always passed to an Imgproxy transformer.
126
+ #
127
+ # @return [String, nil]
128
+ required :source_url, String, nil?: true
129
+
130
+ # @!method initialize(id:, content_type:, filename:, optimized_url:, source_url:)
131
+ # Some parameter documentations has been truncated, see
132
+ # {WhopSDK::Models::CourseListResponse::Thumbnail} for more details.
133
+ #
134
+ # The thumbnail for the course
135
+ #
136
+ # @param id [String] The ID of the attachment
137
+ #
138
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
139
+ #
140
+ # @param filename [String, nil] The name of the file
141
+ #
142
+ # @param optimized_url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
143
+ #
144
+ # @param source_url [String, nil] The original URL of the attachment, such as a direct link to S3. This should nev
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#retrieve
6
+ class CourseRetrieveParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end