whop_sdk 0.0.2 → 0.0.4

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 (338) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +24 -0
  5. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +30 -24
  6. data/lib/whop_sdk/models/app_build_create_params.rb +53 -29
  7. data/lib/whop_sdk/models/app_update_params.rb +53 -29
  8. data/lib/whop_sdk/models/assessment_question_types.rb +18 -0
  9. data/lib/whop_sdk/models/billing_reasons.rb +20 -0
  10. data/lib/whop_sdk/models/card_brands.rb +30 -0
  11. data/lib/whop_sdk/models/checkout_configuration.rb +10 -7
  12. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +251 -38
  13. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +10 -7
  14. data/lib/whop_sdk/models/company.rb +13 -1
  15. data/lib/whop_sdk/models/company_create_params.rb +46 -0
  16. data/lib/whop_sdk/models/company_list_params.rb +62 -0
  17. data/lib/whop_sdk/models/company_list_response.rb +175 -0
  18. data/lib/whop_sdk/models/course.rb +230 -0
  19. data/lib/whop_sdk/models/course_chapter.rb +72 -0
  20. data/lib/whop_sdk/models/course_chapter_create_params.rb +30 -0
  21. data/lib/whop_sdk/models/course_chapter_delete_params.rb +14 -0
  22. data/lib/whop_sdk/models/course_chapter_delete_response.rb +8 -0
  23. data/lib/whop_sdk/models/course_chapter_list_params.rb +54 -0
  24. data/lib/whop_sdk/models/course_chapter_list_response.rb +35 -0
  25. data/lib/whop_sdk/models/course_chapter_retrieve_params.rb +14 -0
  26. data/lib/whop_sdk/models/course_chapter_update_params.rb +22 -0
  27. data/lib/whop_sdk/models/course_create_params.rb +127 -0
  28. data/lib/whop_sdk/models/course_delete_params.rb +14 -0
  29. data/lib/whop_sdk/models/course_delete_response.rb +8 -0
  30. data/lib/whop_sdk/models/course_lesson_create_params.rb +54 -0
  31. data/lib/whop_sdk/models/course_lesson_delete_params.rb +14 -0
  32. data/lib/whop_sdk/models/course_lesson_delete_response.rb +8 -0
  33. data/lib/whop_sdk/models/course_lesson_list_params.rb +62 -0
  34. data/lib/whop_sdk/models/course_lesson_list_response.rb +71 -0
  35. data/lib/whop_sdk/models/course_lesson_retrieve_params.rb +14 -0
  36. data/lib/whop_sdk/models/course_lesson_update_params.rb +399 -0
  37. data/lib/whop_sdk/models/course_list_params.rb +62 -0
  38. data/lib/whop_sdk/models/course_list_response.rb +148 -0
  39. data/lib/whop_sdk/models/course_retrieve_params.rb +14 -0
  40. data/lib/whop_sdk/models/course_student_list_params.rb +62 -0
  41. data/lib/whop_sdk/models/course_student_list_response.rb +97 -0
  42. data/lib/whop_sdk/models/course_student_retrieve_params.rb +14 -0
  43. data/lib/whop_sdk/models/course_student_retrieve_response.rb +149 -0
  44. data/lib/whop_sdk/models/course_update_params.rb +221 -0
  45. data/lib/whop_sdk/models/experience_duplicate_params.rb +22 -0
  46. data/lib/whop_sdk/models/experience_update_params.rb +53 -29
  47. data/lib/whop_sdk/models/forum_post.rb +17 -1
  48. data/lib/whop_sdk/models/forum_post_create_params.rb +51 -27
  49. data/lib/whop_sdk/models/forum_post_list_response.rb +17 -1
  50. data/lib/whop_sdk/models/forum_post_update_params.rb +104 -0
  51. data/lib/whop_sdk/models/invoice.rb +6 -2
  52. data/lib/whop_sdk/models/invoice_create_params.rb +48 -32
  53. data/lib/whop_sdk/models/invoice_list_item.rb +6 -2
  54. data/lib/whop_sdk/models/languages.rb +36 -0
  55. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +9 -0
  56. data/lib/whop_sdk/models/lesson.rb +373 -0
  57. data/lib/whop_sdk/models/lesson_types.rb +20 -0
  58. data/lib/whop_sdk/models/lesson_visibilities.rb +17 -0
  59. data/lib/whop_sdk/models/member_list_params.rb +9 -1
  60. data/lib/whop_sdk/models/membership.rb +31 -1
  61. data/lib/whop_sdk/models/membership_list_params.rb +16 -8
  62. data/lib/whop_sdk/models/membership_list_response.rb +31 -1
  63. data/lib/whop_sdk/models/message_create_params.rb +51 -27
  64. data/lib/whop_sdk/models/message_update_params.rb +92 -0
  65. data/lib/whop_sdk/models/payment.rb +34 -22
  66. data/lib/whop_sdk/models/payment_list_params.rb +3 -18
  67. data/lib/whop_sdk/models/payment_list_response.rb +34 -22
  68. data/lib/whop_sdk/models/payment_method_types.rb +99 -0
  69. data/lib/whop_sdk/models/plan.rb +72 -1
  70. data/lib/whop_sdk/models/plan_create_params.rb +133 -24
  71. data/lib/whop_sdk/models/plan_list_response.rb +75 -1
  72. data/lib/whop_sdk/models/plan_update_params.rb +131 -22
  73. data/lib/whop_sdk/models/product.rb +11 -1
  74. data/lib/whop_sdk/models/product_create_params.rb +1 -45
  75. data/lib/whop_sdk/models/product_list_item.rb +14 -1
  76. data/lib/whop_sdk/models/product_update_params.rb +76 -23
  77. data/lib/whop_sdk/models/promo_code.rb +211 -0
  78. data/lib/whop_sdk/models/promo_code_create_params.rb +140 -0
  79. data/lib/whop_sdk/models/promo_code_delete_params.rb +14 -0
  80. data/lib/whop_sdk/models/promo_code_delete_response.rb +8 -0
  81. data/lib/whop_sdk/models/promo_code_list_params.rb +78 -0
  82. data/lib/whop_sdk/models/promo_code_list_response.rb +181 -0
  83. data/lib/whop_sdk/models/promo_code_retrieve_params.rb +14 -0
  84. data/lib/whop_sdk/models/promo_code_status.rb +17 -0
  85. data/lib/whop_sdk/models/promo_duration.rb +17 -0
  86. data/lib/whop_sdk/models/review_list_params.rb +70 -0
  87. data/lib/whop_sdk/models/review_list_response.rb +183 -0
  88. data/lib/whop_sdk/models/review_retrieve_params.rb +14 -0
  89. data/lib/whop_sdk/models/review_retrieve_response.rb +251 -0
  90. data/lib/whop_sdk/models/review_status.rb +17 -0
  91. data/lib/whop_sdk/models/transfer.rb +9 -1
  92. data/lib/whop_sdk/models/transfer_create_params.rb +9 -1
  93. data/lib/whop_sdk/models/transfer_list_response.rb +9 -1
  94. data/lib/whop_sdk/models.rb +84 -0
  95. data/lib/whop_sdk/resources/app_builds.rb +1 -1
  96. data/lib/whop_sdk/resources/apps.rb +1 -1
  97. data/lib/whop_sdk/resources/checkout_configurations.rb +8 -6
  98. data/lib/whop_sdk/resources/companies.rb +70 -0
  99. data/lib/whop_sdk/resources/course_chapters.rb +151 -0
  100. data/lib/whop_sdk/resources/course_lesson_interactions.rb +2 -2
  101. data/lib/whop_sdk/resources/course_lessons.rb +182 -0
  102. data/lib/whop_sdk/resources/course_students.rb +76 -0
  103. data/lib/whop_sdk/resources/courses.rb +185 -0
  104. data/lib/whop_sdk/resources/experiences.rb +34 -1
  105. data/lib/whop_sdk/resources/forum_posts.rb +34 -1
  106. data/lib/whop_sdk/resources/invoices.rb +11 -11
  107. data/lib/whop_sdk/resources/members.rb +3 -1
  108. data/lib/whop_sdk/resources/memberships.rb +6 -4
  109. data/lib/whop_sdk/resources/messages.rb +29 -1
  110. data/lib/whop_sdk/resources/payments.rb +1 -1
  111. data/lib/whop_sdk/resources/plans.rb +25 -5
  112. data/lib/whop_sdk/resources/products.rb +5 -7
  113. data/lib/whop_sdk/resources/promo_codes.rb +161 -0
  114. data/lib/whop_sdk/resources/reviews.rb +68 -0
  115. data/lib/whop_sdk/resources/transfers.rb +3 -1
  116. data/lib/whop_sdk/version.rb +1 -1
  117. data/lib/whop_sdk.rb +61 -1
  118. data/rbi/whop_sdk/client.rbi +18 -0
  119. data/rbi/whop_sdk/models/app_build_create_params.rbi +80 -40
  120. data/rbi/whop_sdk/models/app_update_params.rbi +86 -37
  121. data/rbi/whop_sdk/models/assessment_question_types.rbi +31 -0
  122. data/rbi/whop_sdk/models/billing_reasons.rbi +27 -0
  123. data/rbi/whop_sdk/models/card_brands.rbi +35 -0
  124. data/rbi/whop_sdk/models/checkout_configuration.rbi +4 -2
  125. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +371 -62
  126. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +4 -2
  127. data/rbi/whop_sdk/models/company.rbi +10 -0
  128. data/rbi/whop_sdk/models/company_create_params.rbi +67 -0
  129. data/rbi/whop_sdk/models/company_list_params.rbi +83 -0
  130. data/rbi/whop_sdk/models/company_list_response.rbi +235 -0
  131. data/rbi/whop_sdk/models/course.rbi +313 -0
  132. data/rbi/whop_sdk/models/course_chapter.rbi +101 -0
  133. data/rbi/whop_sdk/models/course_chapter_create_params.rbi +51 -0
  134. data/rbi/whop_sdk/models/course_chapter_delete_params.rbi +27 -0
  135. data/rbi/whop_sdk/models/course_chapter_delete_response.rbi +8 -0
  136. data/rbi/whop_sdk/models/course_chapter_list_params.rbi +75 -0
  137. data/rbi/whop_sdk/models/course_chapter_list_response.rbi +47 -0
  138. data/rbi/whop_sdk/models/course_chapter_retrieve_params.rbi +30 -0
  139. data/rbi/whop_sdk/models/course_chapter_update_params.rbi +40 -0
  140. data/rbi/whop_sdk/models/course_create_params.rbi +197 -0
  141. data/rbi/whop_sdk/models/course_delete_params.rbi +27 -0
  142. data/rbi/whop_sdk/models/course_delete_response.rbi +7 -0
  143. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +75 -0
  144. data/rbi/whop_sdk/models/course_lesson_delete_params.rbi +27 -0
  145. data/rbi/whop_sdk/models/course_lesson_delete_response.rbi +8 -0
  146. data/rbi/whop_sdk/models/course_lesson_list_params.rbi +83 -0
  147. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +91 -0
  148. data/rbi/whop_sdk/models/course_lesson_retrieve_params.rbi +27 -0
  149. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +677 -0
  150. data/rbi/whop_sdk/models/course_list_params.rbi +83 -0
  151. data/rbi/whop_sdk/models/course_list_response.rbi +198 -0
  152. data/rbi/whop_sdk/models/course_retrieve_params.rbi +27 -0
  153. data/rbi/whop_sdk/models/course_student_list_params.rbi +83 -0
  154. data/rbi/whop_sdk/models/course_student_list_response.rbi +142 -0
  155. data/rbi/whop_sdk/models/course_student_retrieve_params.rbi +30 -0
  156. data/rbi/whop_sdk/models/course_student_retrieve_response.rbi +250 -0
  157. data/rbi/whop_sdk/models/course_update_params.rbi +339 -0
  158. data/rbi/whop_sdk/models/experience_duplicate_params.rbi +40 -0
  159. data/rbi/whop_sdk/models/experience_update_params.rbi +84 -38
  160. data/rbi/whop_sdk/models/forum_post.rbi +16 -0
  161. data/rbi/whop_sdk/models/forum_post_create_params.rbi +85 -32
  162. data/rbi/whop_sdk/models/forum_post_list_response.rbi +16 -0
  163. data/rbi/whop_sdk/models/forum_post_update_params.rbi +177 -0
  164. data/rbi/whop_sdk/models/invoice.rbi +4 -2
  165. data/rbi/whop_sdk/models/invoice_create_params.rbi +58 -44
  166. data/rbi/whop_sdk/models/invoice_list_item.rbi +4 -2
  167. data/rbi/whop_sdk/models/languages.rbi +40 -0
  168. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +45 -0
  169. data/rbi/whop_sdk/models/lesson.rbi +521 -0
  170. data/rbi/whop_sdk/models/lesson_types.rbi +25 -0
  171. data/rbi/whop_sdk/models/lesson_visibilities.rbi +23 -0
  172. data/rbi/whop_sdk/models/member_list_params.rbi +8 -0
  173. data/rbi/whop_sdk/models/membership.rbi +40 -0
  174. data/rbi/whop_sdk/models/membership_list_params.rbi +16 -8
  175. data/rbi/whop_sdk/models/membership_list_response.rbi +47 -0
  176. data/rbi/whop_sdk/models/message_create_params.rbi +85 -32
  177. data/rbi/whop_sdk/models/message_update_params.rbi +167 -0
  178. data/rbi/whop_sdk/models/payment.rbi +42 -25
  179. data/rbi/whop_sdk/models/payment_list_params.rbi +3 -63
  180. data/rbi/whop_sdk/models/payment_list_response.rbi +42 -25
  181. data/rbi/whop_sdk/models/payment_method_types.rbi +118 -0
  182. data/rbi/whop_sdk/models/plan.rbi +106 -0
  183. data/rbi/whop_sdk/models/plan_create_params.rbi +212 -34
  184. data/rbi/whop_sdk/models/plan_list_response.rbi +118 -0
  185. data/rbi/whop_sdk/models/plan_update_params.rbi +210 -32
  186. data/rbi/whop_sdk/models/product.rbi +12 -0
  187. data/rbi/whop_sdk/models/product_create_params.rbi +0 -74
  188. data/rbi/whop_sdk/models/product_list_item.rbi +12 -0
  189. data/rbi/whop_sdk/models/product_update_params.rbi +136 -33
  190. data/rbi/whop_sdk/models/promo_code.rbi +248 -0
  191. data/rbi/whop_sdk/models/promo_code_create_params.rbi +161 -0
  192. data/rbi/whop_sdk/models/promo_code_delete_params.rbi +27 -0
  193. data/rbi/whop_sdk/models/promo_code_delete_response.rbi +8 -0
  194. data/rbi/whop_sdk/models/promo_code_list_params.rbi +99 -0
  195. data/rbi/whop_sdk/models/promo_code_list_response.rbi +222 -0
  196. data/rbi/whop_sdk/models/promo_code_retrieve_params.rbi +27 -0
  197. data/rbi/whop_sdk/models/promo_code_status.rbi +21 -0
  198. data/rbi/whop_sdk/models/promo_duration.rbi +21 -0
  199. data/rbi/whop_sdk/models/review_list_params.rbi +91 -0
  200. data/rbi/whop_sdk/models/review_list_response.rbi +243 -0
  201. data/rbi/whop_sdk/models/review_retrieve_params.rbi +27 -0
  202. data/rbi/whop_sdk/models/review_retrieve_response.rbi +354 -0
  203. data/rbi/whop_sdk/models/review_status.rbi +21 -0
  204. data/rbi/whop_sdk/models/transfer.rbi +8 -0
  205. data/rbi/whop_sdk/models/transfer_create_params.rbi +8 -0
  206. data/rbi/whop_sdk/models/transfer_list_response.rbi +8 -0
  207. data/rbi/whop_sdk/models.rbi +84 -0
  208. data/rbi/whop_sdk/resources/app_builds.rbi +5 -1
  209. data/rbi/whop_sdk/resources/apps.rbi +7 -1
  210. data/rbi/whop_sdk/resources/checkout_configurations.rbi +8 -7
  211. data/rbi/whop_sdk/resources/companies.rbi +63 -0
  212. data/rbi/whop_sdk/resources/course_chapters.rbi +115 -0
  213. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +2 -2
  214. data/rbi/whop_sdk/resources/course_lessons.rbi +182 -0
  215. data/rbi/whop_sdk/resources/course_students.rbi +65 -0
  216. data/rbi/whop_sdk/resources/courses.rbi +172 -0
  217. data/rbi/whop_sdk/resources/experiences.rbi +32 -1
  218. data/rbi/whop_sdk/resources/forum_posts.rbi +40 -1
  219. data/rbi/whop_sdk/resources/invoices.rbi +18 -18
  220. data/rbi/whop_sdk/resources/members.rbi +3 -0
  221. data/rbi/whop_sdk/resources/memberships.rbi +6 -3
  222. data/rbi/whop_sdk/resources/messages.rbi +36 -1
  223. data/rbi/whop_sdk/resources/payments.rbi +1 -3
  224. data/rbi/whop_sdk/resources/plans.rbi +57 -3
  225. data/rbi/whop_sdk/resources/products.rbi +10 -8
  226. data/rbi/whop_sdk/resources/promo_codes.rbi +147 -0
  227. data/rbi/whop_sdk/resources/reviews.rbi +56 -0
  228. data/rbi/whop_sdk/resources/transfers.rbi +3 -0
  229. data/sig/whop_sdk/client.rbs +12 -0
  230. data/sig/whop_sdk/models/app_build_create_params.rbs +29 -10
  231. data/sig/whop_sdk/models/app_update_params.rbs +29 -10
  232. data/sig/whop_sdk/models/assessment_question_types.rbs +17 -0
  233. data/sig/whop_sdk/models/billing_reasons.rbs +24 -0
  234. data/sig/whop_sdk/models/card_brands.rbs +44 -0
  235. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +159 -21
  236. data/sig/whop_sdk/models/company.rbs +5 -0
  237. data/sig/whop_sdk/models/company_create_params.rbs +41 -0
  238. data/sig/whop_sdk/models/company_list_params.rbs +51 -0
  239. data/sig/whop_sdk/models/company_list_response.rbs +109 -0
  240. data/sig/whop_sdk/models/course.rbs +171 -0
  241. data/sig/whop_sdk/models/course_chapter.rbs +49 -0
  242. data/sig/whop_sdk/models/course_chapter_create_params.rbs +28 -0
  243. data/sig/whop_sdk/models/course_chapter_delete_params.rbs +15 -0
  244. data/sig/whop_sdk/models/course_chapter_delete_response.rbs +5 -0
  245. data/sig/whop_sdk/models/course_chapter_list_params.rbs +46 -0
  246. data/sig/whop_sdk/models/course_chapter_list_response.rbs +18 -0
  247. data/sig/whop_sdk/models/course_chapter_retrieve_params.rbs +15 -0
  248. data/sig/whop_sdk/models/course_chapter_update_params.rbs +23 -0
  249. data/sig/whop_sdk/models/course_create_params.rbs +87 -0
  250. data/sig/whop_sdk/models/course_delete_params.rbs +15 -0
  251. data/sig/whop_sdk/models/course_delete_response.rbs +5 -0
  252. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  253. data/sig/whop_sdk/models/course_lesson_delete_params.rbs +15 -0
  254. data/sig/whop_sdk/models/course_lesson_delete_response.rbs +5 -0
  255. data/sig/whop_sdk/models/course_lesson_list_params.rbs +51 -0
  256. data/sig/whop_sdk/models/course_lesson_list_response.rbs +50 -0
  257. data/sig/whop_sdk/models/course_lesson_retrieve_params.rbs +15 -0
  258. data/sig/whop_sdk/models/course_lesson_update_params.rbs +248 -0
  259. data/sig/whop_sdk/models/course_list_params.rbs +51 -0
  260. data/sig/whop_sdk/models/course_list_response.rbs +102 -0
  261. data/sig/whop_sdk/models/course_retrieve_params.rbs +15 -0
  262. data/sig/whop_sdk/models/course_student_list_params.rbs +51 -0
  263. data/sig/whop_sdk/models/course_student_list_response.rbs +64 -0
  264. data/sig/whop_sdk/models/course_student_retrieve_params.rbs +15 -0
  265. data/sig/whop_sdk/models/course_student_retrieve_response.rbs +106 -0
  266. data/sig/whop_sdk/models/course_update_params.rbs +156 -0
  267. data/sig/whop_sdk/models/experience_duplicate_params.rbs +23 -0
  268. data/sig/whop_sdk/models/experience_update_params.rbs +29 -10
  269. data/sig/whop_sdk/models/forum_post.rbs +10 -0
  270. data/sig/whop_sdk/models/forum_post_create_params.rbs +29 -10
  271. data/sig/whop_sdk/models/forum_post_list_response.rbs +10 -0
  272. data/sig/whop_sdk/models/forum_post_update_params.rbs +72 -0
  273. data/sig/whop_sdk/models/invoice_create_params.rbs +28 -18
  274. data/sig/whop_sdk/models/languages.rbs +56 -0
  275. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +20 -1
  276. data/sig/whop_sdk/models/lesson.rbs +248 -0
  277. data/sig/whop_sdk/models/lesson_types.rbs +19 -0
  278. data/sig/whop_sdk/models/lesson_visibilities.rbs +14 -0
  279. data/sig/whop_sdk/models/member_list_params.rbs +6 -1
  280. data/sig/whop_sdk/models/membership.rbs +17 -0
  281. data/sig/whop_sdk/models/membership_list_params.rbs +11 -6
  282. data/sig/whop_sdk/models/membership_list_response.rbs +17 -0
  283. data/sig/whop_sdk/models/message_create_params.rbs +29 -10
  284. data/sig/whop_sdk/models/message_update_params.rbs +67 -0
  285. data/sig/whop_sdk/models/payment.rbs +17 -12
  286. data/sig/whop_sdk/models/payment_list_params.rbs +4 -25
  287. data/sig/whop_sdk/models/payment_list_response.rbs +17 -12
  288. data/sig/whop_sdk/models/payment_method_types.rbs +182 -0
  289. data/sig/whop_sdk/models/plan.rbs +47 -0
  290. data/sig/whop_sdk/models/plan_create_params.rbs +81 -10
  291. data/sig/whop_sdk/models/plan_list_response.rbs +47 -0
  292. data/sig/whop_sdk/models/plan_update_params.rbs +81 -10
  293. data/sig/whop_sdk/models/product.rbs +5 -0
  294. data/sig/whop_sdk/models/product_create_params.rbs +0 -22
  295. data/sig/whop_sdk/models/product_list_item.rbs +5 -0
  296. data/sig/whop_sdk/models/product_update_params.rbs +46 -10
  297. data/sig/whop_sdk/models/promo_code.rbs +134 -0
  298. data/sig/whop_sdk/models/promo_code_create_params.rbs +96 -0
  299. data/sig/whop_sdk/models/promo_code_delete_params.rbs +15 -0
  300. data/sig/whop_sdk/models/promo_code_delete_response.rbs +5 -0
  301. data/sig/whop_sdk/models/promo_code_list_params.rbs +61 -0
  302. data/sig/whop_sdk/models/promo_code_list_response.rbs +117 -0
  303. data/sig/whop_sdk/models/promo_code_retrieve_params.rbs +15 -0
  304. data/sig/whop_sdk/models/promo_code_status.rbs +15 -0
  305. data/sig/whop_sdk/models/promo_duration.rbs +15 -0
  306. data/sig/whop_sdk/models/review_list_params.rbs +56 -0
  307. data/sig/whop_sdk/models/review_list_response.rbs +116 -0
  308. data/sig/whop_sdk/models/review_retrieve_params.rbs +15 -0
  309. data/sig/whop_sdk/models/review_retrieve_response.rbs +152 -0
  310. data/sig/whop_sdk/models/review_status.rbs +15 -0
  311. data/sig/whop_sdk/models/transfer.rbs +5 -0
  312. data/sig/whop_sdk/models/transfer_create_params.rbs +5 -0
  313. data/sig/whop_sdk/models/transfer_list_response.rbs +5 -0
  314. data/sig/whop_sdk/models.rbs +84 -0
  315. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  316. data/sig/whop_sdk/resources/apps.rbs +1 -1
  317. data/sig/whop_sdk/resources/checkout_configurations.rbs +2 -2
  318. data/sig/whop_sdk/resources/companies.rbs +18 -0
  319. data/sig/whop_sdk/resources/course_chapters.rbs +35 -0
  320. data/sig/whop_sdk/resources/course_lessons.rbs +49 -0
  321. data/sig/whop_sdk/resources/course_students.rbs +22 -0
  322. data/sig/whop_sdk/resources/courses.rbs +49 -0
  323. data/sig/whop_sdk/resources/experiences.rbs +7 -1
  324. data/sig/whop_sdk/resources/forum_posts.rbs +10 -1
  325. data/sig/whop_sdk/resources/invoices.rbs +5 -5
  326. data/sig/whop_sdk/resources/members.rbs +1 -0
  327. data/sig/whop_sdk/resources/memberships.rbs +2 -1
  328. data/sig/whop_sdk/resources/messages.rbs +9 -1
  329. data/sig/whop_sdk/resources/payments.rbs +1 -1
  330. data/sig/whop_sdk/resources/plans.rbs +12 -2
  331. data/sig/whop_sdk/resources/products.rbs +2 -3
  332. data/sig/whop_sdk/resources/promo_codes.rbs +45 -0
  333. data/sig/whop_sdk/resources/reviews.rbs +23 -0
  334. data/sig/whop_sdk/resources/transfers.rbs +1 -0
  335. metadata +213 -5
  336. data/lib/whop_sdk/models/invoice_create_response.rb +0 -27
  337. data/rbi/whop_sdk/models/invoice_create_response.rbi +0 -49
  338. data/sig/whop_sdk/models/invoice_create_response.rbs +0 -19
@@ -0,0 +1,677 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CourseLessonUpdateParams < 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::CourseLessonUpdateParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # Completion requirements for quiz/knowledge check lessons
15
+ sig do
16
+ returns(
17
+ T.nilable(
18
+ WhopSDK::CourseLessonUpdateParams::AssessmentCompletionRequirement
19
+ )
20
+ )
21
+ end
22
+ attr_reader :assessment_completion_requirement
23
+
24
+ sig do
25
+ params(
26
+ assessment_completion_requirement:
27
+ T.nilable(
28
+ WhopSDK::CourseLessonUpdateParams::AssessmentCompletionRequirement::OrHash
29
+ )
30
+ ).void
31
+ end
32
+ attr_writer :assessment_completion_requirement
33
+
34
+ # Assessment questions for quiz/knowledge check lessons. Replaces all existing
35
+ # questions.
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ T::Array[WhopSDK::CourseLessonUpdateParams::AssessmentQuestion]
40
+ )
41
+ )
42
+ end
43
+ attr_accessor :assessment_questions
44
+
45
+ # General attachments for the lesson (PDFs, files, etc). Replaces all existing
46
+ # attachments.
47
+ sig do
48
+ returns(
49
+ T.nilable(
50
+ T::Array[
51
+ T.any(
52
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
53
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithID
54
+ )
55
+ ]
56
+ )
57
+ )
58
+ end
59
+ attr_accessor :attachments
60
+
61
+ # The content of the lesson
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :content
64
+
65
+ # Days from course start until unlock
66
+ sig { returns(T.nilable(Integer)) }
67
+ attr_accessor :days_from_course_start_until_unlock
68
+
69
+ # The available types for a lesson
70
+ sig { returns(T.nilable(WhopSDK::LessonTypes::OrSymbol)) }
71
+ attr_accessor :lesson_type
72
+
73
+ # The main PDF file for this lesson
74
+ sig do
75
+ returns(
76
+ T.nilable(
77
+ T.any(
78
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID,
79
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID
80
+ )
81
+ )
82
+ )
83
+ end
84
+ attr_accessor :main_pdf
85
+
86
+ # Maximum number of attempts allowed for assessments
87
+ sig { returns(T.nilable(Integer)) }
88
+ attr_accessor :max_attempts
89
+
90
+ # The ID of the Mux asset to attach to this lesson for video lessons
91
+ sig { returns(T.nilable(String)) }
92
+ attr_accessor :mux_asset_id
93
+
94
+ # The title of the lesson
95
+ sig { returns(T.nilable(String)) }
96
+ attr_accessor :title
97
+
98
+ # The available visibilities for a lesson. Determines how / whether a lesson is
99
+ # visible to users.
100
+ sig { returns(T.nilable(WhopSDK::LessonVisibilities::OrSymbol)) }
101
+ attr_accessor :visibility
102
+
103
+ sig do
104
+ params(
105
+ assessment_completion_requirement:
106
+ T.nilable(
107
+ WhopSDK::CourseLessonUpdateParams::AssessmentCompletionRequirement::OrHash
108
+ ),
109
+ assessment_questions:
110
+ T.nilable(
111
+ T::Array[
112
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::OrHash
113
+ ]
114
+ ),
115
+ attachments:
116
+ T.nilable(
117
+ T::Array[
118
+ T.any(
119
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithDirectUploadID::OrHash,
120
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithID::OrHash
121
+ )
122
+ ]
123
+ ),
124
+ content: T.nilable(String),
125
+ days_from_course_start_until_unlock: T.nilable(Integer),
126
+ lesson_type: T.nilable(WhopSDK::LessonTypes::OrSymbol),
127
+ main_pdf:
128
+ T.nilable(
129
+ T.any(
130
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID::OrHash,
131
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID::OrHash
132
+ )
133
+ ),
134
+ max_attempts: T.nilable(Integer),
135
+ mux_asset_id: T.nilable(String),
136
+ title: T.nilable(String),
137
+ visibility: T.nilable(WhopSDK::LessonVisibilities::OrSymbol),
138
+ request_options: WhopSDK::RequestOptions::OrHash
139
+ ).returns(T.attached_class)
140
+ end
141
+ def self.new(
142
+ # Completion requirements for quiz/knowledge check lessons
143
+ assessment_completion_requirement: nil,
144
+ # Assessment questions for quiz/knowledge check lessons. Replaces all existing
145
+ # questions.
146
+ assessment_questions: nil,
147
+ # General attachments for the lesson (PDFs, files, etc). Replaces all existing
148
+ # attachments.
149
+ attachments: nil,
150
+ # The content of the lesson
151
+ content: nil,
152
+ # Days from course start until unlock
153
+ days_from_course_start_until_unlock: nil,
154
+ # The available types for a lesson
155
+ lesson_type: nil,
156
+ # The main PDF file for this lesson
157
+ main_pdf: nil,
158
+ # Maximum number of attempts allowed for assessments
159
+ max_attempts: nil,
160
+ # The ID of the Mux asset to attach to this lesson for video lessons
161
+ mux_asset_id: nil,
162
+ # The title of the lesson
163
+ title: nil,
164
+ # The available visibilities for a lesson. Determines how / whether a lesson is
165
+ # visible to users.
166
+ visibility: nil,
167
+ request_options: {}
168
+ )
169
+ end
170
+
171
+ sig do
172
+ override.returns(
173
+ {
174
+ assessment_completion_requirement:
175
+ T.nilable(
176
+ WhopSDK::CourseLessonUpdateParams::AssessmentCompletionRequirement
177
+ ),
178
+ assessment_questions:
179
+ T.nilable(
180
+ T::Array[WhopSDK::CourseLessonUpdateParams::AssessmentQuestion]
181
+ ),
182
+ attachments:
183
+ T.nilable(
184
+ T::Array[
185
+ T.any(
186
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
187
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithID
188
+ )
189
+ ]
190
+ ),
191
+ content: T.nilable(String),
192
+ days_from_course_start_until_unlock: T.nilable(Integer),
193
+ lesson_type: T.nilable(WhopSDK::LessonTypes::OrSymbol),
194
+ main_pdf:
195
+ T.nilable(
196
+ T.any(
197
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID,
198
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID
199
+ )
200
+ ),
201
+ max_attempts: T.nilable(Integer),
202
+ mux_asset_id: T.nilable(String),
203
+ title: T.nilable(String),
204
+ visibility: T.nilable(WhopSDK::LessonVisibilities::OrSymbol),
205
+ request_options: WhopSDK::RequestOptions
206
+ }
207
+ )
208
+ end
209
+ def to_hash
210
+ end
211
+
212
+ class AssessmentCompletionRequirement < WhopSDK::Internal::Type::BaseModel
213
+ OrHash =
214
+ T.type_alias do
215
+ T.any(
216
+ WhopSDK::CourseLessonUpdateParams::AssessmentCompletionRequirement,
217
+ WhopSDK::Internal::AnyHash
218
+ )
219
+ end
220
+
221
+ # The minimum grade percentage required to pass (0-100). Cannot be set together
222
+ # with minimum_questions_correct.
223
+ sig { returns(T.nilable(Float)) }
224
+ attr_accessor :minimum_grade_percent
225
+
226
+ # The minimum number of questions that must be answered correctly. Cannot be set
227
+ # together with minimum_grade_percent.
228
+ sig { returns(T.nilable(Integer)) }
229
+ attr_accessor :minimum_questions_correct
230
+
231
+ # Completion requirements for quiz/knowledge check lessons
232
+ sig do
233
+ params(
234
+ minimum_grade_percent: T.nilable(Float),
235
+ minimum_questions_correct: T.nilable(Integer)
236
+ ).returns(T.attached_class)
237
+ end
238
+ def self.new(
239
+ # The minimum grade percentage required to pass (0-100). Cannot be set together
240
+ # with minimum_questions_correct.
241
+ minimum_grade_percent: nil,
242
+ # The minimum number of questions that must be answered correctly. Cannot be set
243
+ # together with minimum_grade_percent.
244
+ minimum_questions_correct: nil
245
+ )
246
+ end
247
+
248
+ sig do
249
+ override.returns(
250
+ {
251
+ minimum_grade_percent: T.nilable(Float),
252
+ minimum_questions_correct: T.nilable(Integer)
253
+ }
254
+ )
255
+ end
256
+ def to_hash
257
+ end
258
+ end
259
+
260
+ class AssessmentQuestion < WhopSDK::Internal::Type::BaseModel
261
+ OrHash =
262
+ T.type_alias do
263
+ T.any(
264
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion,
265
+ WhopSDK::Internal::AnyHash
266
+ )
267
+ end
268
+
269
+ # The correct answer for the question. Used for short answer questions
270
+ sig { returns(String) }
271
+ attr_accessor :correct_answer
272
+
273
+ # The text of the question
274
+ sig { returns(String) }
275
+ attr_accessor :question_text
276
+
277
+ # The type of the question
278
+ sig { returns(WhopSDK::AssessmentQuestionTypes::OrSymbol) }
279
+ attr_accessor :question_type
280
+
281
+ # The ID of an existing question. If provided, the question will be updated. If
282
+ # not provided, a new question will be created.
283
+ sig { returns(T.nilable(String)) }
284
+ attr_accessor :id
285
+
286
+ # Optional image attachment for the question
287
+ sig do
288
+ returns(
289
+ T.nilable(
290
+ T.any(
291
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithDirectUploadID,
292
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithID
293
+ )
294
+ )
295
+ )
296
+ end
297
+ attr_accessor :image
298
+
299
+ # The answer options for multiple choice/select questions
300
+ sig do
301
+ returns(
302
+ T.nilable(
303
+ T::Array[
304
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Option
305
+ ]
306
+ )
307
+ )
308
+ end
309
+ attr_accessor :options
310
+
311
+ # Input for creating or updating an assessment question
312
+ sig do
313
+ params(
314
+ correct_answer: String,
315
+ question_text: String,
316
+ question_type: WhopSDK::AssessmentQuestionTypes::OrSymbol,
317
+ id: T.nilable(String),
318
+ image:
319
+ T.nilable(
320
+ T.any(
321
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithDirectUploadID::OrHash,
322
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithID::OrHash
323
+ )
324
+ ),
325
+ options:
326
+ T.nilable(
327
+ T::Array[
328
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Option::OrHash
329
+ ]
330
+ )
331
+ ).returns(T.attached_class)
332
+ end
333
+ def self.new(
334
+ # The correct answer for the question. Used for short answer questions
335
+ correct_answer:,
336
+ # The text of the question
337
+ question_text:,
338
+ # The type of the question
339
+ question_type:,
340
+ # The ID of an existing question. If provided, the question will be updated. If
341
+ # not provided, a new question will be created.
342
+ id: nil,
343
+ # Optional image attachment for the question
344
+ image: nil,
345
+ # The answer options for multiple choice/select questions
346
+ options: nil
347
+ )
348
+ end
349
+
350
+ sig do
351
+ override.returns(
352
+ {
353
+ correct_answer: String,
354
+ question_text: String,
355
+ question_type: WhopSDK::AssessmentQuestionTypes::OrSymbol,
356
+ id: T.nilable(String),
357
+ image:
358
+ T.nilable(
359
+ T.any(
360
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithDirectUploadID,
361
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithID
362
+ )
363
+ ),
364
+ options:
365
+ T.nilable(
366
+ T::Array[
367
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Option
368
+ ]
369
+ )
370
+ }
371
+ )
372
+ end
373
+ def to_hash
374
+ end
375
+
376
+ # Optional image attachment for the question
377
+ module Image
378
+ extend WhopSDK::Internal::Type::Union
379
+
380
+ Variants =
381
+ T.type_alias do
382
+ T.any(
383
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithDirectUploadID,
384
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithID
385
+ )
386
+ end
387
+
388
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
389
+ OrHash =
390
+ T.type_alias do
391
+ T.any(
392
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithDirectUploadID,
393
+ WhopSDK::Internal::AnyHash
394
+ )
395
+ end
396
+
397
+ # This ID should be used the first time you upload an attachment. It is the ID of
398
+ # the direct upload that was created when uploading the file to S3 via the
399
+ # mediaDirectUpload mutation.
400
+ sig { returns(String) }
401
+ attr_accessor :direct_upload_id
402
+
403
+ # Input for an attachment
404
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
405
+ def self.new(
406
+ # This ID should be used the first time you upload an attachment. It is the ID of
407
+ # the direct upload that was created when uploading the file to S3 via the
408
+ # mediaDirectUpload mutation.
409
+ direct_upload_id:
410
+ )
411
+ end
412
+
413
+ sig { override.returns({ direct_upload_id: String }) }
414
+ def to_hash
415
+ end
416
+ end
417
+
418
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
419
+ OrHash =
420
+ T.type_alias do
421
+ T.any(
422
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::AttachmentInputWithID,
423
+ WhopSDK::Internal::AnyHash
424
+ )
425
+ end
426
+
427
+ # The ID of an existing attachment object. Use this when updating a resource and
428
+ # keeping a subset of the attachments. Don't use this unless you know what you're
429
+ # doing.
430
+ sig { returns(String) }
431
+ attr_accessor :id
432
+
433
+ # Input for an attachment
434
+ sig { params(id: String).returns(T.attached_class) }
435
+ def self.new(
436
+ # The ID of an existing attachment object. Use this when updating a resource and
437
+ # keeping a subset of the attachments. Don't use this unless you know what you're
438
+ # doing.
439
+ id:
440
+ )
441
+ end
442
+
443
+ sig { override.returns({ id: String }) }
444
+ def to_hash
445
+ end
446
+ end
447
+
448
+ sig do
449
+ override.returns(
450
+ T::Array[
451
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Image::Variants
452
+ ]
453
+ )
454
+ end
455
+ def self.variants
456
+ end
457
+ end
458
+
459
+ class Option < WhopSDK::Internal::Type::BaseModel
460
+ OrHash =
461
+ T.type_alias do
462
+ T.any(
463
+ WhopSDK::CourseLessonUpdateParams::AssessmentQuestion::Option,
464
+ WhopSDK::Internal::AnyHash
465
+ )
466
+ end
467
+
468
+ # Whether this option is a correct answer
469
+ sig { returns(T::Boolean) }
470
+ attr_accessor :is_correct
471
+
472
+ # The text of the answer option
473
+ sig { returns(String) }
474
+ attr_accessor :option_text
475
+
476
+ # The ID of an existing option. If provided, the option will be updated. If not
477
+ # provided, a new option will be created.
478
+ sig { returns(T.nilable(String)) }
479
+ attr_accessor :id
480
+
481
+ # Input for creating or updating an assessment question option
482
+ sig do
483
+ params(
484
+ is_correct: T::Boolean,
485
+ option_text: String,
486
+ id: T.nilable(String)
487
+ ).returns(T.attached_class)
488
+ end
489
+ def self.new(
490
+ # Whether this option is a correct answer
491
+ is_correct:,
492
+ # The text of the answer option
493
+ option_text:,
494
+ # The ID of an existing option. If provided, the option will be updated. If not
495
+ # provided, a new option will be created.
496
+ id: nil
497
+ )
498
+ end
499
+
500
+ sig do
501
+ override.returns(
502
+ {
503
+ is_correct: T::Boolean,
504
+ option_text: String,
505
+ id: T.nilable(String)
506
+ }
507
+ )
508
+ end
509
+ def to_hash
510
+ end
511
+ end
512
+ end
513
+
514
+ # Input for an attachment
515
+ module Attachment
516
+ extend WhopSDK::Internal::Type::Union
517
+
518
+ Variants =
519
+ T.type_alias do
520
+ T.any(
521
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
522
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithID
523
+ )
524
+ end
525
+
526
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
527
+ OrHash =
528
+ T.type_alias do
529
+ T.any(
530
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithDirectUploadID,
531
+ WhopSDK::Internal::AnyHash
532
+ )
533
+ end
534
+
535
+ # This ID should be used the first time you upload an attachment. It is the ID of
536
+ # the direct upload that was created when uploading the file to S3 via the
537
+ # mediaDirectUpload mutation.
538
+ sig { returns(String) }
539
+ attr_accessor :direct_upload_id
540
+
541
+ # Input for an attachment
542
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
543
+ def self.new(
544
+ # This ID should be used the first time you upload an attachment. It is the ID of
545
+ # the direct upload that was created when uploading the file to S3 via the
546
+ # mediaDirectUpload mutation.
547
+ direct_upload_id:
548
+ )
549
+ end
550
+
551
+ sig { override.returns({ direct_upload_id: String }) }
552
+ def to_hash
553
+ end
554
+ end
555
+
556
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
557
+ OrHash =
558
+ T.type_alias do
559
+ T.any(
560
+ WhopSDK::CourseLessonUpdateParams::Attachment::AttachmentInputWithID,
561
+ WhopSDK::Internal::AnyHash
562
+ )
563
+ end
564
+
565
+ # The ID of an existing attachment object. Use this when updating a resource and
566
+ # keeping a subset of the attachments. Don't use this unless you know what you're
567
+ # doing.
568
+ sig { returns(String) }
569
+ attr_accessor :id
570
+
571
+ # Input for an attachment
572
+ sig { params(id: String).returns(T.attached_class) }
573
+ def self.new(
574
+ # The ID of an existing attachment object. Use this when updating a resource and
575
+ # keeping a subset of the attachments. Don't use this unless you know what you're
576
+ # doing.
577
+ id:
578
+ )
579
+ end
580
+
581
+ sig { override.returns({ id: String }) }
582
+ def to_hash
583
+ end
584
+ end
585
+
586
+ sig do
587
+ override.returns(
588
+ T::Array[WhopSDK::CourseLessonUpdateParams::Attachment::Variants]
589
+ )
590
+ end
591
+ def self.variants
592
+ end
593
+ end
594
+
595
+ # The main PDF file for this lesson
596
+ module MainPdf
597
+ extend WhopSDK::Internal::Type::Union
598
+
599
+ Variants =
600
+ T.type_alias do
601
+ T.any(
602
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID,
603
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID
604
+ )
605
+ end
606
+
607
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
608
+ OrHash =
609
+ T.type_alias do
610
+ T.any(
611
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID,
612
+ WhopSDK::Internal::AnyHash
613
+ )
614
+ end
615
+
616
+ # This ID should be used the first time you upload an attachment. It is the ID of
617
+ # the direct upload that was created when uploading the file to S3 via the
618
+ # mediaDirectUpload mutation.
619
+ sig { returns(String) }
620
+ attr_accessor :direct_upload_id
621
+
622
+ # Input for an attachment
623
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
624
+ def self.new(
625
+ # This ID should be used the first time you upload an attachment. It is the ID of
626
+ # the direct upload that was created when uploading the file to S3 via the
627
+ # mediaDirectUpload mutation.
628
+ direct_upload_id:
629
+ )
630
+ end
631
+
632
+ sig { override.returns({ direct_upload_id: String }) }
633
+ def to_hash
634
+ end
635
+ end
636
+
637
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
638
+ OrHash =
639
+ T.type_alias do
640
+ T.any(
641
+ WhopSDK::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID,
642
+ WhopSDK::Internal::AnyHash
643
+ )
644
+ end
645
+
646
+ # The ID of an existing attachment object. Use this when updating a resource and
647
+ # keeping a subset of the attachments. Don't use this unless you know what you're
648
+ # doing.
649
+ sig { returns(String) }
650
+ attr_accessor :id
651
+
652
+ # Input for an attachment
653
+ sig { params(id: String).returns(T.attached_class) }
654
+ def self.new(
655
+ # The ID of an existing attachment object. Use this when updating a resource and
656
+ # keeping a subset of the attachments. Don't use this unless you know what you're
657
+ # doing.
658
+ id:
659
+ )
660
+ end
661
+
662
+ sig { override.returns({ id: String }) }
663
+ def to_hash
664
+ end
665
+ end
666
+
667
+ sig do
668
+ override.returns(
669
+ T::Array[WhopSDK::CourseLessonUpdateParams::MainPdf::Variants]
670
+ )
671
+ end
672
+ def self.variants
673
+ end
674
+ end
675
+ end
676
+ end
677
+ end