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,365 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseLessons#create
6
+ class Lesson < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the lesson
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute assessment_questions
14
+ # Assessment questions for quiz/knowledge check lessons
15
+ #
16
+ # @return [Array<WhopSDK::Models::Lesson::AssessmentQuestion>]
17
+ required :assessment_questions,
18
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Lesson::AssessmentQuestion] }
19
+
20
+ # @!attribute attachments
21
+ # The attached files in this lesson as a flat array
22
+ #
23
+ # @return [Array<WhopSDK::Models::Lesson::Attachment>]
24
+ required :attachments, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Lesson::Attachment] }
25
+
26
+ # @!attribute content
27
+ # The content of the lesson
28
+ #
29
+ # @return [String, nil]
30
+ required :content, String, nil?: true
31
+
32
+ # @!attribute days_from_course_start_until_unlock
33
+ # Number of days from course start until the lesson is unlocked
34
+ #
35
+ # @return [Integer, nil]
36
+ required :days_from_course_start_until_unlock, Integer, nil?: true
37
+
38
+ # @!attribute lesson_type
39
+ # The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
40
+ #
41
+ # @return [Symbol, WhopSDK::Models::LessonTypes]
42
+ required :lesson_type, enum: -> { WhopSDK::LessonTypes }
43
+
44
+ # @!attribute main_pdf
45
+ # The main PDF file for this lesson
46
+ #
47
+ # @return [WhopSDK::Models::Lesson::MainPdf, nil]
48
+ required :main_pdf, -> { WhopSDK::Lesson::MainPdf }, nil?: true
49
+
50
+ # @!attribute order
51
+ # The order of the lesson within its chapter
52
+ #
53
+ # @return [Integer]
54
+ required :order, Integer
55
+
56
+ # @!attribute title
57
+ # The title of the lesson
58
+ #
59
+ # @return [String]
60
+ required :title, String
61
+
62
+ # @!attribute video_asset
63
+ # The associated Mux asset for video lessons
64
+ #
65
+ # @return [WhopSDK::Models::Lesson::VideoAsset, nil]
66
+ required :video_asset, -> { WhopSDK::Lesson::VideoAsset }, nil?: true
67
+
68
+ # @!attribute visibility
69
+ # The visibility of the lesson. Determines how / whether this lesson is visible to
70
+ # users.
71
+ #
72
+ # @return [Symbol, WhopSDK::Models::LessonVisibilities]
73
+ required :visibility, enum: -> { WhopSDK::LessonVisibilities }
74
+
75
+ # @!method initialize(id:, assessment_questions:, attachments:, content:, days_from_course_start_until_unlock:, lesson_type:, main_pdf:, order:, title:, video_asset:, visibility:)
76
+ # Some parameter documentations has been truncated, see {WhopSDK::Models::Lesson}
77
+ # for more details.
78
+ #
79
+ # A lesson from the courses app
80
+ #
81
+ # @param id [String] The ID of the lesson
82
+ #
83
+ # @param assessment_questions [Array<WhopSDK::Models::Lesson::AssessmentQuestion>] Assessment questions for quiz/knowledge check lessons
84
+ #
85
+ # @param attachments [Array<WhopSDK::Models::Lesson::Attachment>] The attached files in this lesson as a flat array
86
+ #
87
+ # @param content [String, nil] The content of the lesson
88
+ #
89
+ # @param days_from_course_start_until_unlock [Integer, nil] Number of days from course start until the lesson is unlocked
90
+ #
91
+ # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes] The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
92
+ #
93
+ # @param main_pdf [WhopSDK::Models::Lesson::MainPdf, nil] The main PDF file for this lesson
94
+ #
95
+ # @param order [Integer] The order of the lesson within its chapter
96
+ #
97
+ # @param title [String] The title of the lesson
98
+ #
99
+ # @param video_asset [WhopSDK::Models::Lesson::VideoAsset, nil] The associated Mux asset for video lessons
100
+ #
101
+ # @param visibility [Symbol, WhopSDK::Models::LessonVisibilities] The visibility of the lesson. Determines how / whether this lesson is visible to
102
+
103
+ class AssessmentQuestion < WhopSDK::Internal::Type::BaseModel
104
+ # @!attribute id
105
+ # The ID of the assessment question
106
+ #
107
+ # @return [String]
108
+ required :id, String
109
+
110
+ # @!attribute correct_answer
111
+ # The correct answer for the question. Used for short answer questions
112
+ #
113
+ # @return [String]
114
+ required :correct_answer, String
115
+
116
+ # @!attribute created_at
117
+ # When the question was created
118
+ #
119
+ # @return [Time]
120
+ required :created_at, Time
121
+
122
+ # @!attribute image
123
+ # Optional image attachment for the question
124
+ #
125
+ # @return [WhopSDK::Models::Lesson::AssessmentQuestion::Image, nil]
126
+ required :image, -> { WhopSDK::Lesson::AssessmentQuestion::Image }, nil?: true
127
+
128
+ # @!attribute options
129
+ # The answer options for multiple choice/select questions
130
+ #
131
+ # @return [Array<WhopSDK::Models::Lesson::AssessmentQuestion::Option>]
132
+ required :options, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Lesson::AssessmentQuestion::Option] }
133
+
134
+ # @!attribute order
135
+ # The order of the question within its lesson
136
+ #
137
+ # @return [Integer]
138
+ required :order, Integer
139
+
140
+ # @!attribute question_text
141
+ # The text of the question
142
+ #
143
+ # @return [String]
144
+ required :question_text, String
145
+
146
+ # @!attribute question_type
147
+ # The type of the question
148
+ #
149
+ # @return [Symbol, WhopSDK::Models::AssessmentQuestionTypes]
150
+ required :question_type, enum: -> { WhopSDK::AssessmentQuestionTypes }
151
+
152
+ # @!method initialize(id:, correct_answer:, created_at:, image:, options:, order:, question_text:, question_type:)
153
+ # An assessment question in a course quiz or knowledge check
154
+ #
155
+ # @param id [String] The ID of the assessment question
156
+ #
157
+ # @param correct_answer [String] The correct answer for the question. Used for short answer questions
158
+ #
159
+ # @param created_at [Time] When the question was created
160
+ #
161
+ # @param image [WhopSDK::Models::Lesson::AssessmentQuestion::Image, nil] Optional image attachment for the question
162
+ #
163
+ # @param options [Array<WhopSDK::Models::Lesson::AssessmentQuestion::Option>] The answer options for multiple choice/select questions
164
+ #
165
+ # @param order [Integer] The order of the question within its lesson
166
+ #
167
+ # @param question_text [String] The text of the question
168
+ #
169
+ # @param question_type [Symbol, WhopSDK::Models::AssessmentQuestionTypes] The type of the question
170
+
171
+ # @see WhopSDK::Models::Lesson::AssessmentQuestion#image
172
+ class Image < WhopSDK::Internal::Type::BaseModel
173
+ # @!attribute id
174
+ # The ID of the attachment
175
+ #
176
+ # @return [String]
177
+ required :id, String
178
+
179
+ # @!attribute content_type
180
+ # The attachment's content type (e.g., image/jpg, video/mp4)
181
+ #
182
+ # @return [String, nil]
183
+ required :content_type, String, nil?: true
184
+
185
+ # @!attribute filename
186
+ # The name of the file
187
+ #
188
+ # @return [String, nil]
189
+ required :filename, String, nil?: true
190
+
191
+ # @!attribute url
192
+ # This is the URL you use to render optimized attachments on the client. This
193
+ # should be used for apps.
194
+ #
195
+ # @return [String, nil]
196
+ required :url, String, nil?: true
197
+
198
+ # @!method initialize(id:, content_type:, filename:, url:)
199
+ # Some parameter documentations has been truncated, see
200
+ # {WhopSDK::Models::Lesson::AssessmentQuestion::Image} for more details.
201
+ #
202
+ # Optional image attachment for the question
203
+ #
204
+ # @param id [String] The ID of the attachment
205
+ #
206
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
207
+ #
208
+ # @param filename [String, nil] The name of the file
209
+ #
210
+ # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
211
+ end
212
+
213
+ class Option < WhopSDK::Internal::Type::BaseModel
214
+ # @!attribute id
215
+ # The ID of the assessment question option
216
+ #
217
+ # @return [String]
218
+ required :id, String
219
+
220
+ # @!attribute is_correct
221
+ # Whether this option is a correct answer
222
+ #
223
+ # @return [Boolean]
224
+ required :is_correct, WhopSDK::Internal::Type::Boolean
225
+
226
+ # @!attribute option_text
227
+ # The text of the answer option
228
+ #
229
+ # @return [String]
230
+ required :option_text, String
231
+
232
+ # @!attribute order
233
+ # The order of this option within the question
234
+ #
235
+ # @return [Integer]
236
+ required :order, Integer
237
+
238
+ # @!method initialize(id:, is_correct:, option_text:, order:)
239
+ # An answer option for a multiple choice or multiple select assessment question
240
+ #
241
+ # @param id [String] The ID of the assessment question option
242
+ #
243
+ # @param is_correct [Boolean] Whether this option is a correct answer
244
+ #
245
+ # @param option_text [String] The text of the answer option
246
+ #
247
+ # @param order [Integer] The order of this option within the question
248
+ end
249
+ end
250
+
251
+ class Attachment < WhopSDK::Internal::Type::BaseModel
252
+ # @!attribute id
253
+ # The ID of the attachment
254
+ #
255
+ # @return [String]
256
+ required :id, String
257
+
258
+ # @!attribute content_type
259
+ # The attachment's content type (e.g., image/jpg, video/mp4)
260
+ #
261
+ # @return [String, nil]
262
+ required :content_type, String, nil?: true
263
+
264
+ # @!attribute filename
265
+ # The name of the file
266
+ #
267
+ # @return [String, nil]
268
+ required :filename, String, nil?: true
269
+
270
+ # @!attribute url
271
+ # This is the URL you use to render optimized attachments on the client. This
272
+ # should be used for apps.
273
+ #
274
+ # @return [String, nil]
275
+ required :url, String, nil?: true
276
+
277
+ # @!method initialize(id:, content_type:, filename:, url:)
278
+ # Some parameter documentations has been truncated, see
279
+ # {WhopSDK::Models::Lesson::Attachment} for more details.
280
+ #
281
+ # Represents an image attachment
282
+ #
283
+ # @param id [String] The ID of the attachment
284
+ #
285
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
286
+ #
287
+ # @param filename [String, nil] The name of the file
288
+ #
289
+ # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
290
+ end
291
+
292
+ # @see WhopSDK::Models::Lesson#main_pdf
293
+ class MainPdf < WhopSDK::Internal::Type::BaseModel
294
+ # @!attribute id
295
+ # The ID of the attachment
296
+ #
297
+ # @return [String]
298
+ required :id, String
299
+
300
+ # @!attribute content_type
301
+ # The attachment's content type (e.g., image/jpg, video/mp4)
302
+ #
303
+ # @return [String, nil]
304
+ required :content_type, String, nil?: true
305
+
306
+ # @!attribute filename
307
+ # The name of the file
308
+ #
309
+ # @return [String, nil]
310
+ required :filename, String, nil?: true
311
+
312
+ # @!attribute url
313
+ # This is the URL you use to render optimized attachments on the client. This
314
+ # should be used for apps.
315
+ #
316
+ # @return [String, nil]
317
+ required :url, String, nil?: true
318
+
319
+ # @!method initialize(id:, content_type:, filename:, url:)
320
+ # Some parameter documentations has been truncated, see
321
+ # {WhopSDK::Models::Lesson::MainPdf} for more details.
322
+ #
323
+ # The main PDF file for this lesson
324
+ #
325
+ # @param id [String] The ID of the attachment
326
+ #
327
+ # @param content_type [String, nil] The attachment's content type (e.g., image/jpg, video/mp4)
328
+ #
329
+ # @param filename [String, nil] The name of the file
330
+ #
331
+ # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
332
+ end
333
+
334
+ # @see WhopSDK::Models::Lesson#video_asset
335
+ class VideoAsset < WhopSDK::Internal::Type::BaseModel
336
+ # @!attribute id
337
+ # The ID of the Mux asset
338
+ #
339
+ # @return [String]
340
+ required :id, String
341
+
342
+ # @!attribute asset_id
343
+ # The Mux-provided ID of the asset
344
+ #
345
+ # @return [String, nil]
346
+ required :asset_id, String, nil?: true
347
+
348
+ # @!attribute playback_id
349
+ # The public playback ID of the Mux asset
350
+ #
351
+ # @return [String, nil]
352
+ required :playback_id, String, nil?: true
353
+
354
+ # @!method initialize(id:, asset_id:, playback_id:)
355
+ # The associated Mux asset for video lessons
356
+ #
357
+ # @param id [String] The ID of the Mux asset
358
+ #
359
+ # @param asset_id [String, nil] The Mux-provided ID of the asset
360
+ #
361
+ # @param playback_id [String, nil] The public playback ID of the Mux asset
362
+ end
363
+ end
364
+ end
365
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The available types for a lesson
6
+ module LessonTypes
7
+ extend WhopSDK::Internal::Type::Enum
8
+
9
+ TEXT = :text
10
+ VIDEO = :video
11
+ PDF = :pdf
12
+ MULTI = :multi
13
+ QUIZ = :quiz
14
+ KNOWLEDGE_CHECK = :knowledge_check
15
+
16
+ # @!method self.values
17
+ # @return [Array<Symbol>]
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The available visibilities for a lesson. Determines how / whether a lesson is
6
+ # visible to users.
7
+ module LessonVisibilities
8
+ extend WhopSDK::Internal::Type::Enum
9
+
10
+ VISIBLE = :visible
11
+ HIDDEN = :hidden
12
+
13
+ # @!method self.values
14
+ # @return [Array<Symbol>]
15
+ end
16
+ end
17
+ end
@@ -106,7 +106,13 @@ module WhopSDK
106
106
  # @return [Array<Symbol, WhopSDK::Models::MemberStatuses>, nil]
107
107
  optional :statuses, -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::MemberStatuses] }, nil?: true
108
108
 
109
- # @!method initialize(company_id:, access_level: nil, access_pass_ids: nil, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, most_recent_actions: nil, order: nil, plan_ids: nil, promo_code_ids: nil, query: nil, statuses: nil, request_options: {})
109
+ # @!attribute user_ids
110
+ # The user IDs to filter the members by
111
+ #
112
+ # @return [Array<String>, nil]
113
+ optional :user_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
114
+
115
+ # @!method initialize(company_id:, access_level: nil, access_pass_ids: nil, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, most_recent_actions: nil, order: nil, plan_ids: nil, promo_code_ids: nil, query: nil, statuses: nil, user_ids: nil, request_options: {})
110
116
  # Some parameter documentations has been truncated, see
111
117
  # {WhopSDK::Models::MemberListParams} for more details.
112
118
  #
@@ -142,6 +148,8 @@ module WhopSDK
142
148
  #
143
149
  # @param statuses [Array<Symbol, WhopSDK::Models::MemberStatuses>, nil] The statuses to filter the members by
144
150
  #
151
+ # @param user_ids [Array<String>, nil] The user IDs to filter the members by
152
+ #
145
153
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
146
154
 
147
155
  # Which columns can be used to sort.
@@ -83,6 +83,12 @@ module WhopSDK
83
83
  # @return [WhopSDK::Models::Membership::Plan]
84
84
  required :plan, -> { WhopSDK::Membership::Plan }
85
85
 
86
+ # @!attribute product
87
+ # The Product this Membership grants access to.
88
+ #
89
+ # @return [WhopSDK::Models::Membership::Product]
90
+ required :product, -> { WhopSDK::Membership::Product }
91
+
86
92
  # @!attribute promo_code
87
93
  # The Promo Code that is currently applied to this Membership.
88
94
  #
@@ -121,7 +127,7 @@ module WhopSDK
121
127
  # @return [WhopSDK::Models::Membership::User, nil]
122
128
  required :user, -> { WhopSDK::Membership::User }, nil?: true
123
129
 
124
- # @!method initialize(id:, cancel_at_period_end:, canceled_at:, cancellation_reason:, company:, created_at:, currency:, license_key:, manage_url:, member:, metadata:, payment_collection_paused:, plan:, promo_code:, renewal_period_end:, renewal_period_start:, status:, updated_at:, user:)
130
+ # @!method initialize(id:, cancel_at_period_end:, canceled_at:, cancellation_reason:, company:, created_at:, currency:, license_key:, manage_url:, member:, metadata:, payment_collection_paused:, plan:, product:, promo_code:, renewal_period_end:, renewal_period_start:, status:, updated_at:, user:)
125
131
  # Some parameter documentations has been truncated, see
126
132
  # {WhopSDK::Models::Membership} for more details.
127
133
  #
@@ -154,6 +160,8 @@ module WhopSDK
154
160
  #
155
161
  # @param plan [WhopSDK::Models::Membership::Plan] The Plan this Membership is for.
156
162
  #
163
+ # @param product [WhopSDK::Models::Membership::Product] The Product this Membership grants access to.
164
+ #
157
165
  # @param promo_code [WhopSDK::Models::Membership::PromoCode, nil] The Promo Code that is currently applied to this Membership.
158
166
  #
159
167
  # @param renewal_period_end [Time, nil] The timestamp in seconds at which the current billing cycle for this subscriptio
@@ -216,6 +224,28 @@ module WhopSDK
216
224
  # @param id [String] The internal ID of the plan.
217
225
  end
218
226
 
227
+ # @see WhopSDK::Models::Membership#product
228
+ class Product < WhopSDK::Internal::Type::BaseModel
229
+ # @!attribute id
230
+ # The internal ID of the public product.
231
+ #
232
+ # @return [String]
233
+ required :id, String
234
+
235
+ # @!attribute title
236
+ # The title of the product. Use for Whop 4.0.
237
+ #
238
+ # @return [String]
239
+ required :title, String
240
+
241
+ # @!method initialize(id:, title:)
242
+ # The Product this Membership grants access to.
243
+ #
244
+ # @param id [String] The internal ID of the public product.
245
+ #
246
+ # @param title [String] The title of the product. Use for Whop 4.0.
247
+ end
248
+
219
249
  # @see WhopSDK::Models::Membership#promo_code
220
250
  class PromoCode < WhopSDK::Internal::Type::BaseModel
221
251
  # @!attribute id
@@ -7,12 +7,6 @@ module WhopSDK
7
7
  extend WhopSDK::Internal::Type::RequestParameters::Converter
8
8
  include WhopSDK::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute company_id
11
- # The ID of the company to list memberships for
12
- #
13
- # @return [String]
14
- required :company_id, String
15
-
16
10
  # @!attribute access_pass_ids
17
11
  # The access pass IDs to filter the memberships by
18
12
  #
@@ -39,6 +33,12 @@ module WhopSDK
39
33
  -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::MembershipListParams::CancelOption] },
40
34
  nil?: true
41
35
 
36
+ # @!attribute company_id
37
+ # The ID of the company to list memberships for
38
+ #
39
+ # @return [String, nil]
40
+ optional :company_id, String, nil?: true
41
+
42
42
  # @!attribute created_after
43
43
  # The minimum creation date to filter by
44
44
  #
@@ -93,9 +93,13 @@ module WhopSDK
93
93
  # @return [Array<Symbol, WhopSDK::Models::MembershipStatus>, nil]
94
94
  optional :statuses, -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::MembershipStatus] }, nil?: true
95
95
 
96
- # @!method initialize(company_id:, access_pass_ids: nil, after: nil, before: nil, cancel_options: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, order: nil, plan_ids: nil, promo_code_ids: nil, statuses: nil, request_options: {})
97
- # @param company_id [String] The ID of the company to list memberships for
96
+ # @!attribute user_ids
97
+ # Only return memberships from these whop user ids
98
98
  #
99
+ # @return [Array<String>, nil]
100
+ optional :user_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
101
+
102
+ # @!method initialize(access_pass_ids: nil, after: nil, before: nil, cancel_options: nil, company_id: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, order: nil, plan_ids: nil, promo_code_ids: nil, statuses: nil, user_ids: nil, request_options: {})
99
103
  # @param access_pass_ids [Array<String>, nil] The access pass IDs to filter the memberships by
100
104
  #
101
105
  # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
@@ -104,6 +108,8 @@ module WhopSDK
104
108
  #
105
109
  # @param cancel_options [Array<Symbol, WhopSDK::Models::MembershipListParams::CancelOption>, nil] The cancel options to filter the memberships by
106
110
  #
111
+ # @param company_id [String, nil] The ID of the company to list memberships for
112
+ #
107
113
  # @param created_after [Time, nil] The minimum creation date to filter by
108
114
  #
109
115
  # @param created_before [Time, nil] The maximum creation date to filter by
@@ -122,6 +128,8 @@ module WhopSDK
122
128
  #
123
129
  # @param statuses [Array<Symbol, WhopSDK::Models::MembershipStatus>, nil] The membership status to filter the memberships by
124
130
  #
131
+ # @param user_ids [Array<String>, nil] Only return memberships from these whop user ids
132
+ #
125
133
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
126
134
 
127
135
  # The different reasons a user can choose for why they are canceling their
@@ -84,6 +84,12 @@ module WhopSDK
84
84
  # @return [WhopSDK::Models::MembershipListResponse::Plan]
85
85
  required :plan, -> { WhopSDK::Models::MembershipListResponse::Plan }
86
86
 
87
+ # @!attribute product
88
+ # The Product this Membership grants access to.
89
+ #
90
+ # @return [WhopSDK::Models::MembershipListResponse::Product]
91
+ required :product, -> { WhopSDK::Models::MembershipListResponse::Product }
92
+
87
93
  # @!attribute promo_code
88
94
  # The Promo Code that is currently applied to this Membership.
89
95
  #
@@ -122,7 +128,7 @@ module WhopSDK
122
128
  # @return [WhopSDK::Models::MembershipListResponse::User, nil]
123
129
  required :user, -> { WhopSDK::Models::MembershipListResponse::User }, nil?: true
124
130
 
125
- # @!method initialize(id:, cancel_at_period_end:, canceled_at:, cancellation_reason:, company:, created_at:, currency:, license_key:, manage_url:, member:, metadata:, payment_collection_paused:, plan:, promo_code:, renewal_period_end:, renewal_period_start:, status:, updated_at:, user:)
131
+ # @!method initialize(id:, cancel_at_period_end:, canceled_at:, cancellation_reason:, company:, created_at:, currency:, license_key:, manage_url:, member:, metadata:, payment_collection_paused:, plan:, product:, promo_code:, renewal_period_end:, renewal_period_start:, status:, updated_at:, user:)
126
132
  # Some parameter documentations has been truncated, see
127
133
  # {WhopSDK::Models::MembershipListResponse} for more details.
128
134
  #
@@ -155,6 +161,8 @@ module WhopSDK
155
161
  #
156
162
  # @param plan [WhopSDK::Models::MembershipListResponse::Plan] The Plan this Membership is for.
157
163
  #
164
+ # @param product [WhopSDK::Models::MembershipListResponse::Product] The Product this Membership grants access to.
165
+ #
158
166
  # @param promo_code [WhopSDK::Models::MembershipListResponse::PromoCode, nil] The Promo Code that is currently applied to this Membership.
159
167
  #
160
168
  # @param renewal_period_end [Time, nil] The timestamp in seconds at which the current billing cycle for this subscriptio
@@ -217,6 +225,28 @@ module WhopSDK
217
225
  # @param id [String] The internal ID of the plan.
218
226
  end
219
227
 
228
+ # @see WhopSDK::Models::MembershipListResponse#product
229
+ class Product < WhopSDK::Internal::Type::BaseModel
230
+ # @!attribute id
231
+ # The internal ID of the public product.
232
+ #
233
+ # @return [String]
234
+ required :id, String
235
+
236
+ # @!attribute title
237
+ # The title of the product. Use for Whop 4.0.
238
+ #
239
+ # @return [String]
240
+ required :title, String
241
+
242
+ # @!method initialize(id:, title:)
243
+ # The Product this Membership grants access to.
244
+ #
245
+ # @param id [String] The internal ID of the public product.
246
+ #
247
+ # @param title [String] The title of the product. Use for Whop 4.0.
248
+ end
249
+
220
250
  # @see WhopSDK::Models::MembershipListResponse#promo_code
221
251
  class PromoCode < WhopSDK::Internal::Type::BaseModel
222
252
  # @!attribute id
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::Messages#update
6
+ class MessageUpdateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute attachments
11
+ # The attachments for this message
12
+ #
13
+ # @return [Array<WhopSDK::Models::MessageUpdateParams::Attachment>, nil]
14
+ optional :attachments,
15
+ -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::MessageUpdateParams::Attachment] },
16
+ nil?: true
17
+
18
+ # @!attribute content
19
+ # The content of the message in Markdown format
20
+ #
21
+ # @return [String, nil]
22
+ optional :content, String, nil?: true
23
+
24
+ # @!attribute is_pinned
25
+ # Whether this message is pinned
26
+ #
27
+ # @return [Boolean, nil]
28
+ optional :is_pinned, WhopSDK::Internal::Type::Boolean, nil?: true
29
+
30
+ # @!method initialize(attachments: nil, content: nil, is_pinned: nil, request_options: {})
31
+ # @param attachments [Array<WhopSDK::Models::MessageUpdateParams::Attachment>, nil] The attachments for this message
32
+ #
33
+ # @param content [String, nil] The content of the message in Markdown format
34
+ #
35
+ # @param is_pinned [Boolean, nil] Whether this message is pinned
36
+ #
37
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
38
+
39
+ class Attachment < WhopSDK::Internal::Type::BaseModel
40
+ # @!attribute id
41
+ # The ID of an existing attachment object. Use this when updating a resource and
42
+ # keeping a subset of the attachments. Don't use this unless you know what you're
43
+ # doing.
44
+ #
45
+ # @return [String, nil]
46
+ optional :id, String, nil?: true
47
+
48
+ # @!attribute direct_upload_id
49
+ # This ID should be used the first time you upload an attachment. It is the ID of
50
+ # the direct upload that was created when uploading the file to S3 via the
51
+ # mediaDirectUpload mutation.
52
+ #
53
+ # @return [String, nil]
54
+ optional :direct_upload_id, String, nil?: true
55
+
56
+ # @!method initialize(id: nil, direct_upload_id: nil)
57
+ # Some parameter documentations has been truncated, see
58
+ # {WhopSDK::Models::MessageUpdateParams::Attachment} for more details.
59
+ #
60
+ # Input for an attachment
61
+ #
62
+ # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
63
+ #
64
+ # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
65
+ end
66
+ end
67
+ end
68
+ end