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,230 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#create
6
+ class Course < 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 chapters
21
+ # The chapters in this course
22
+ #
23
+ # @return [Array<WhopSDK::Models::Course::Chapter>]
24
+ required :chapters, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Course::Chapter] }
25
+
26
+ # @!attribute created_at
27
+ # The timestamp of when the course was created
28
+ #
29
+ # @return [Time]
30
+ required :created_at, Time
31
+
32
+ # @!attribute description
33
+ # A short description of the course
34
+ #
35
+ # @return [String, nil]
36
+ required :description, String, nil?: true
37
+
38
+ # @!attribute language
39
+ # The language spoken in the video content of the course, used to generate closed
40
+ # captions in the right language
41
+ #
42
+ # @return [Symbol, WhopSDK::Models::Languages]
43
+ required :language, enum: -> { WhopSDK::Languages }
44
+
45
+ # @!attribute require_completing_lessons_in_order
46
+ # Whether the course requires students to complete the previous lesson before
47
+ # moving on to the next one
48
+ #
49
+ # @return [Boolean]
50
+ required :require_completing_lessons_in_order, WhopSDK::Internal::Type::Boolean
51
+
52
+ # @!attribute tagline
53
+ # A short tagline for the course. It is displayed under the course title in the UI
54
+ #
55
+ # @return [String, nil]
56
+ required :tagline, String, nil?: true
57
+
58
+ # @!attribute thumbnail
59
+ # The thumbnail for the course
60
+ #
61
+ # @return [WhopSDK::Models::Course::Thumbnail, nil]
62
+ required :thumbnail, -> { WhopSDK::Course::Thumbnail }, nil?: true
63
+
64
+ # @!attribute title
65
+ # The title of the course
66
+ #
67
+ # @return [String, nil]
68
+ required :title, String, nil?: true
69
+
70
+ # @!attribute updated_at
71
+ # The timestamp of when the course was last updated
72
+ #
73
+ # @return [Time]
74
+ required :updated_at, Time
75
+
76
+ # @!method initialize(id:, certificate_after_completion_enabled:, chapters:, created_at:, description:, language:, require_completing_lessons_in_order:, tagline:, thumbnail:, title:, updated_at:)
77
+ # Some parameter documentations has been truncated, see {WhopSDK::Models::Course}
78
+ # for more details.
79
+ #
80
+ # A course from the courses app
81
+ #
82
+ # @param id [String] The ID of the course. Looks like cors_XXX
83
+ #
84
+ # @param certificate_after_completion_enabled [Boolean, nil] Whether the course will award its students a PDF certificate after completing al
85
+ #
86
+ # @param chapters [Array<WhopSDK::Models::Course::Chapter>] The chapters in this course
87
+ #
88
+ # @param created_at [Time] The timestamp of when the course was created
89
+ #
90
+ # @param description [String, nil] A short description of the course
91
+ #
92
+ # @param language [Symbol, WhopSDK::Models::Languages] The language spoken in the video content of the course, used to generate closed
93
+ #
94
+ # @param require_completing_lessons_in_order [Boolean] Whether the course requires students to complete the previous lesson before movi
95
+ #
96
+ # @param tagline [String, nil] A short tagline for the course. It is displayed under the course title in the UI
97
+ #
98
+ # @param thumbnail [WhopSDK::Models::Course::Thumbnail, nil] The thumbnail for the course
99
+ #
100
+ # @param title [String, nil] The title of the course
101
+ #
102
+ # @param updated_at [Time] The timestamp of when the course was last updated
103
+
104
+ class Chapter < WhopSDK::Internal::Type::BaseModel
105
+ # @!attribute id
106
+ # The ID of the chapter. Looks like chap_XXX
107
+ #
108
+ # @return [String]
109
+ required :id, String
110
+
111
+ # @!attribute lessons
112
+ # The lessons in this chapter
113
+ #
114
+ # @return [Array<WhopSDK::Models::Course::Chapter::Lesson>]
115
+ required :lessons, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Course::Chapter::Lesson] }
116
+
117
+ # @!attribute order
118
+ # The order of the chapter within its course
119
+ #
120
+ # @return [Integer]
121
+ required :order, Integer
122
+
123
+ # @!attribute title
124
+ # The title of the chapter
125
+ #
126
+ # @return [String]
127
+ required :title, String
128
+
129
+ # @!method initialize(id:, lessons:, order:, title:)
130
+ # A chapter from the courses app
131
+ #
132
+ # @param id [String] The ID of the chapter. Looks like chap_XXX
133
+ #
134
+ # @param lessons [Array<WhopSDK::Models::Course::Chapter::Lesson>] The lessons in this chapter
135
+ #
136
+ # @param order [Integer] The order of the chapter within its course
137
+ #
138
+ # @param title [String] The title of the chapter
139
+
140
+ class Lesson < WhopSDK::Internal::Type::BaseModel
141
+ # @!attribute id
142
+ # The ID of the lesson
143
+ #
144
+ # @return [String]
145
+ required :id, String
146
+
147
+ # @!attribute lesson_type
148
+ # The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
149
+ #
150
+ # @return [Symbol, WhopSDK::Models::LessonTypes]
151
+ required :lesson_type, enum: -> { WhopSDK::LessonTypes }
152
+
153
+ # @!attribute order
154
+ # The order of the lesson within its chapter
155
+ #
156
+ # @return [Integer]
157
+ required :order, Integer
158
+
159
+ # @!attribute title
160
+ # The title of the lesson
161
+ #
162
+ # @return [String]
163
+ required :title, String
164
+
165
+ # @!method initialize(id:, lesson_type:, order:, title:)
166
+ # A lesson from the courses app
167
+ #
168
+ # @param id [String] The ID of the lesson
169
+ #
170
+ # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes] The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
171
+ #
172
+ # @param order [Integer] The order of the lesson within its chapter
173
+ #
174
+ # @param title [String] The title of the lesson
175
+ end
176
+ end
177
+
178
+ # @see WhopSDK::Models::Course#thumbnail
179
+ class Thumbnail < WhopSDK::Internal::Type::BaseModel
180
+ # @!attribute id
181
+ # The ID of the attachment
182
+ #
183
+ # @return [String]
184
+ required :id, String
185
+
186
+ # @!attribute content_type
187
+ # The attachment's content type (e.g., image/jpg, video/mp4)
188
+ #
189
+ # @return [String, nil]
190
+ required :content_type, String, nil?: true
191
+
192
+ # @!attribute filename
193
+ # The name of the file
194
+ #
195
+ # @return [String, nil]
196
+ required :filename, String, nil?: true
197
+
198
+ # @!attribute optimized_url
199
+ # This is the URL you use to render optimized attachments on the client. This
200
+ # should be used for apps.
201
+ #
202
+ # @return [String, nil]
203
+ required :optimized_url, String, nil?: true
204
+
205
+ # @!attribute source_url
206
+ # The original URL of the attachment, such as a direct link to S3. This should
207
+ # never be displayed on the client and always passed to an Imgproxy transformer.
208
+ #
209
+ # @return [String, nil]
210
+ required :source_url, String, nil?: true
211
+
212
+ # @!method initialize(id:, content_type:, filename:, optimized_url:, source_url:)
213
+ # Some parameter documentations has been truncated, see
214
+ # {WhopSDK::Models::Course::Thumbnail} for more details.
215
+ #
216
+ # The thumbnail for the course
217
+ #
218
+ # @param id [String] The ID of the attachment
219
+ #
220
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
221
+ #
222
+ # @param filename [String, nil] The name of the file
223
+ #
224
+ # @param optimized_url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
225
+ #
226
+ # @param source_url [String, nil] The original URL of the attachment, such as a direct link to S3. This should nev
227
+ end
228
+ end
229
+ end
230
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#create
6
+ class CourseChapter < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the chapter. Looks like chap_XXX
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute lessons
14
+ # The lessons in this chapter
15
+ #
16
+ # @return [Array<WhopSDK::Models::CourseChapter::Lesson>]
17
+ required :lessons, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::CourseChapter::Lesson] }
18
+
19
+ # @!attribute order
20
+ # The order of the chapter within its course
21
+ #
22
+ # @return [Integer]
23
+ required :order, Integer
24
+
25
+ # @!attribute title
26
+ # The title of the chapter
27
+ #
28
+ # @return [String]
29
+ required :title, String
30
+
31
+ # @!method initialize(id:, lessons:, order:, title:)
32
+ # A chapter from the courses app
33
+ #
34
+ # @param id [String] The ID of the chapter. Looks like chap_XXX
35
+ #
36
+ # @param lessons [Array<WhopSDK::Models::CourseChapter::Lesson>] The lessons in this chapter
37
+ #
38
+ # @param order [Integer] The order of the chapter within its course
39
+ #
40
+ # @param title [String] The title of the chapter
41
+
42
+ class Lesson < WhopSDK::Internal::Type::BaseModel
43
+ # @!attribute id
44
+ # The ID of the lesson
45
+ #
46
+ # @return [String]
47
+ required :id, String
48
+
49
+ # @!attribute order
50
+ # The order of the lesson within its chapter
51
+ #
52
+ # @return [Integer]
53
+ required :order, Integer
54
+
55
+ # @!attribute title
56
+ # The title of the lesson
57
+ #
58
+ # @return [String]
59
+ required :title, String
60
+
61
+ # @!method initialize(id:, order:, title:)
62
+ # A lesson from the courses app
63
+ #
64
+ # @param id [String] The ID of the lesson
65
+ #
66
+ # @param order [Integer] The order of the lesson within its chapter
67
+ #
68
+ # @param title [String] The title of the lesson
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#create
6
+ class CourseChapterCreateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute course_id
11
+ # The ID of the course to create the chapter in
12
+ #
13
+ # @return [String]
14
+ required :course_id, String
15
+
16
+ # @!attribute title
17
+ # The title of the chapter
18
+ #
19
+ # @return [String, nil]
20
+ optional :title, String, nil?: true
21
+
22
+ # @!method initialize(course_id:, title: nil, request_options: {})
23
+ # @param course_id [String] The ID of the course to create the chapter in
24
+ #
25
+ # @param title [String, nil] The title of the chapter
26
+ #
27
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#delete
6
+ class CourseChapterDeleteParams < 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,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @type [WhopSDK::Internal::Type::Converter]
6
+ CourseChapterDeleteResponse = WhopSDK::Internal::Type::Boolean
7
+ end
8
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#list
6
+ class CourseChapterListParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute course_id
11
+ # The ID of the course
12
+ #
13
+ # @return [String]
14
+ required :course_id, String
15
+
16
+ # @!attribute after
17
+ # Returns the elements in the list that come after the specified cursor.
18
+ #
19
+ # @return [String, nil]
20
+ optional :after, String, nil?: true
21
+
22
+ # @!attribute before
23
+ # Returns the elements in the list that come before the specified cursor.
24
+ #
25
+ # @return [String, nil]
26
+ optional :before, String, nil?: true
27
+
28
+ # @!attribute first
29
+ # Returns the first _n_ elements from the list.
30
+ #
31
+ # @return [Integer, nil]
32
+ optional :first, Integer, nil?: true
33
+
34
+ # @!attribute last
35
+ # Returns the last _n_ elements from the list.
36
+ #
37
+ # @return [Integer, nil]
38
+ optional :last, Integer, nil?: true
39
+
40
+ # @!method initialize(course_id:, after: nil, before: nil, first: nil, last: nil, request_options: {})
41
+ # @param course_id [String] The ID of the course
42
+ #
43
+ # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
44
+ #
45
+ # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
46
+ #
47
+ # @param first [Integer, nil] Returns the first _n_ elements from the list.
48
+ #
49
+ # @param last [Integer, nil] Returns the last _n_ elements from the list.
50
+ #
51
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#list
6
+ class CourseChapterListResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the chapter. Looks like chap_XXX
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute order
14
+ # The order of the chapter within its course
15
+ #
16
+ # @return [Integer]
17
+ required :order, Integer
18
+
19
+ # @!attribute title
20
+ # The title of the chapter
21
+ #
22
+ # @return [String]
23
+ required :title, String
24
+
25
+ # @!method initialize(id:, order:, title:)
26
+ # A chapter from the courses app
27
+ #
28
+ # @param id [String] The ID of the chapter. Looks like chap_XXX
29
+ #
30
+ # @param order [Integer] The order of the chapter within its course
31
+ #
32
+ # @param title [String] The title of the chapter
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#retrieve
6
+ class CourseChapterRetrieveParams < 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,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseChapters#update
6
+ class CourseChapterUpdateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute title
11
+ # The title of the chapter
12
+ #
13
+ # @return [String]
14
+ required :title, String
15
+
16
+ # @!method initialize(title:, request_options: {})
17
+ # @param title [String] The title of the chapter
18
+ #
19
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#create
6
+ class CourseCreateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute experience_id
11
+ # The ID of the experience to create the course in
12
+ #
13
+ # @return [String]
14
+ required :experience_id, String
15
+
16
+ # @!attribute title
17
+ # The title of the course
18
+ #
19
+ # @return [String]
20
+ required :title, String
21
+
22
+ # @!attribute cover_image
23
+ # The cover image URL of the course
24
+ #
25
+ # @return [String, nil]
26
+ optional :cover_image, String, nil?: true
27
+
28
+ # @!attribute tagline
29
+ # The tagline of the course
30
+ #
31
+ # @return [String, nil]
32
+ optional :tagline, String, nil?: true
33
+
34
+ # @!attribute thumbnail
35
+ # The thumbnail for the course in png, jpeg, or gif format
36
+ #
37
+ # @return [WhopSDK::Models::CourseCreateParams::Thumbnail, nil]
38
+ optional :thumbnail, -> { WhopSDK::CourseCreateParams::Thumbnail }, nil?: true
39
+
40
+ # @!method initialize(experience_id:, title:, cover_image: nil, tagline: nil, thumbnail: nil, request_options: {})
41
+ # @param experience_id [String] The ID of the experience to create the course in
42
+ #
43
+ # @param title [String] The title of the course
44
+ #
45
+ # @param cover_image [String, nil] The cover image URL of the course
46
+ #
47
+ # @param tagline [String, nil] The tagline of the course
48
+ #
49
+ # @param thumbnail [WhopSDK::Models::CourseCreateParams::Thumbnail, nil] The thumbnail for the course in png, jpeg, or gif format
50
+ #
51
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
52
+
53
+ class Thumbnail < WhopSDK::Internal::Type::BaseModel
54
+ # @!attribute id
55
+ # The ID of an existing attachment object. Use this when updating a resource and
56
+ # keeping a subset of the attachments. Don't use this unless you know what you're
57
+ # doing.
58
+ #
59
+ # @return [String, nil]
60
+ optional :id, String, nil?: true
61
+
62
+ # @!attribute direct_upload_id
63
+ # This ID should be used the first time you upload an attachment. It is the ID of
64
+ # the direct upload that was created when uploading the file to S3 via the
65
+ # mediaDirectUpload mutation.
66
+ #
67
+ # @return [String, nil]
68
+ optional :direct_upload_id, String, nil?: true
69
+
70
+ # @!method initialize(id: nil, direct_upload_id: nil)
71
+ # Some parameter documentations has been truncated, see
72
+ # {WhopSDK::Models::CourseCreateParams::Thumbnail} for more details.
73
+ #
74
+ # The thumbnail for the course in png, jpeg, or gif format
75
+ #
76
+ # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
77
+ #
78
+ # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Courses#delete
6
+ class CourseDeleteParams < 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,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @type [WhopSDK::Internal::Type::Converter]
6
+ CourseDeleteResponse = WhopSDK::Internal::Type::Boolean
7
+ end
8
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#create
6
+ class CourseLessonCreateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute chapter_id
11
+ # The ID of the chapter to create the lesson in
12
+ #
13
+ # @return [String]
14
+ required :chapter_id, String
15
+
16
+ # @!attribute lesson_type
17
+ # The type of the lesson
18
+ #
19
+ # @return [Symbol, WhopSDK::Models::LessonTypes]
20
+ required :lesson_type, enum: -> { WhopSDK::LessonTypes }
21
+
22
+ # @!attribute content
23
+ # The content of the lesson
24
+ #
25
+ # @return [String, nil]
26
+ optional :content, String, nil?: true
27
+
28
+ # @!attribute days_from_course_start_until_unlock
29
+ # Days from course start until unlock
30
+ #
31
+ # @return [Integer, nil]
32
+ optional :days_from_course_start_until_unlock, Integer, nil?: true
33
+
34
+ # @!attribute title
35
+ # The title of the lesson
36
+ #
37
+ # @return [String, nil]
38
+ optional :title, String, nil?: true
39
+
40
+ # @!method initialize(chapter_id:, lesson_type:, content: nil, days_from_course_start_until_unlock: nil, title: nil, request_options: {})
41
+ # @param chapter_id [String] The ID of the chapter to create the lesson in
42
+ #
43
+ # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes] The type of the lesson
44
+ #
45
+ # @param content [String, nil] The content of the lesson
46
+ #
47
+ # @param days_from_course_start_until_unlock [Integer, nil] Days from course start until unlock
48
+ #
49
+ # @param title [String, nil] The title of the lesson
50
+ #
51
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#delete
6
+ class CourseLessonDeleteParams < 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,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @type [WhopSDK::Internal::Type::Converter]
6
+ CourseLessonDeleteResponse = WhopSDK::Internal::Type::Boolean
7
+ end
8
+ end