whop_sdk 0.0.3 → 0.0.5

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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +8 -0
  5. data/lib/whop_sdk/internal/transport/base_client.rb +7 -1
  6. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +6 -2
  7. data/lib/whop_sdk/models/access_level.rb +1 -1
  8. data/lib/whop_sdk/models/access_pass_type.rb +2 -1
  9. data/lib/whop_sdk/models/access_token_create_params.rb +67 -0
  10. data/lib/whop_sdk/models/access_token_create_response.rb +27 -0
  11. data/lib/whop_sdk/models/app_build_create_params.rb +53 -29
  12. data/lib/whop_sdk/models/app_update_params.rb +53 -29
  13. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +119 -43
  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 +18 -1
  19. data/lib/whop_sdk/models/course_create_params.rb +94 -30
  20. data/lib/whop_sdk/models/course_lesson_create_params.rb +77 -1
  21. data/lib/whop_sdk/models/course_lesson_list_response.rb +43 -1
  22. data/lib/whop_sdk/models/course_lesson_update_params.rb +280 -83
  23. data/lib/whop_sdk/models/course_list_response.rb +18 -1
  24. data/lib/whop_sdk/models/course_student_list_params.rb +62 -0
  25. data/lib/whop_sdk/models/course_student_list_response.rb +97 -0
  26. data/lib/whop_sdk/models/course_student_retrieve_params.rb +14 -0
  27. data/lib/whop_sdk/models/course_student_retrieve_response.rb +149 -0
  28. data/lib/whop_sdk/models/course_update_params.rb +70 -28
  29. data/lib/whop_sdk/models/course_visibilities.rb +17 -0
  30. data/lib/whop_sdk/models/embed_type.rb +16 -0
  31. data/lib/whop_sdk/models/entry.rb +3 -3
  32. data/lib/whop_sdk/models/entry_list_response.rb +3 -3
  33. data/lib/whop_sdk/models/experience.rb +5 -6
  34. data/lib/whop_sdk/models/experience_update_params.rb +53 -29
  35. data/lib/whop_sdk/models/forum_post.rb +2 -2
  36. data/lib/whop_sdk/models/forum_post_create_params.rb +51 -27
  37. data/lib/whop_sdk/models/forum_post_list_response.rb +2 -2
  38. data/lib/whop_sdk/models/forum_post_update_params.rb +51 -27
  39. data/lib/whop_sdk/models/global_affiliate_status.rb +1 -1
  40. data/lib/whop_sdk/models/invoice_create_params.rb +50 -34
  41. data/lib/whop_sdk/models/invoice_list_params.rb +27 -40
  42. data/lib/whop_sdk/models/lesson.rb +59 -9
  43. data/lib/whop_sdk/models/member_list_params.rb +11 -11
  44. data/lib/whop_sdk/models/member_list_response.rb +3 -3
  45. data/lib/whop_sdk/models/member_retrieve_response.rb +3 -3
  46. data/lib/whop_sdk/models/membership_list_params.rb +9 -9
  47. data/lib/whop_sdk/models/message.rb +2 -2
  48. data/lib/whop_sdk/models/message_create_params.rb +51 -27
  49. data/lib/whop_sdk/models/message_list_response.rb +2 -2
  50. data/lib/whop_sdk/models/message_update_params.rb +51 -27
  51. data/lib/whop_sdk/models/payment.rb +13 -4
  52. data/lib/whop_sdk/models/payment_list_response.rb +13 -4
  53. data/lib/whop_sdk/models/payment_method_types.rb +2 -1
  54. data/lib/whop_sdk/models/plan.rb +54 -5
  55. data/lib/whop_sdk/models/plan_create_params.rb +99 -24
  56. data/lib/whop_sdk/models/plan_list_response.rb +57 -5
  57. data/lib/whop_sdk/models/plan_type.rb +1 -1
  58. data/lib/whop_sdk/models/plan_update_params.rb +97 -22
  59. data/lib/whop_sdk/models/product.rb +1 -1
  60. data/lib/whop_sdk/models/product_create_params.rb +6 -6
  61. data/lib/whop_sdk/models/product_list_item.rb +1 -1
  62. data/lib/whop_sdk/models/product_update_params.rb +57 -33
  63. data/lib/whop_sdk/models/promo_code.rb +3 -3
  64. data/lib/whop_sdk/models/promo_code_list_response.rb +3 -3
  65. data/lib/whop_sdk/models/transfer.rb +9 -1
  66. data/lib/whop_sdk/models/transfer_create_params.rb +9 -1
  67. data/lib/whop_sdk/models/transfer_list_response.rb +9 -1
  68. data/lib/whop_sdk/models.rb +14 -0
  69. data/lib/whop_sdk/resources/access_tokens.rb +46 -0
  70. data/lib/whop_sdk/resources/app_builds.rb +5 -3
  71. data/lib/whop_sdk/resources/apps.rb +4 -3
  72. data/lib/whop_sdk/resources/authorized_users.rb +2 -1
  73. data/lib/whop_sdk/resources/chat_channels.rb +9 -2
  74. data/lib/whop_sdk/resources/checkout_configurations.rb +8 -7
  75. data/lib/whop_sdk/resources/companies.rb +72 -1
  76. data/lib/whop_sdk/resources/course_chapters.rb +5 -3
  77. data/lib/whop_sdk/resources/course_lesson_interactions.rb +4 -3
  78. data/lib/whop_sdk/resources/course_lessons.rb +25 -7
  79. data/lib/whop_sdk/resources/course_students.rb +77 -0
  80. data/lib/whop_sdk/resources/courses.rb +24 -7
  81. data/lib/whop_sdk/resources/entries.rb +6 -3
  82. data/lib/whop_sdk/resources/experiences.rb +9 -7
  83. data/lib/whop_sdk/resources/forum_posts.rb +5 -4
  84. data/lib/whop_sdk/resources/forums.rb +3 -2
  85. data/lib/whop_sdk/resources/invoices.rb +22 -16
  86. data/lib/whop_sdk/resources/ledger_accounts.rb +6 -2
  87. data/lib/whop_sdk/resources/members.rb +6 -5
  88. data/lib/whop_sdk/resources/memberships.rb +10 -8
  89. data/lib/whop_sdk/resources/messages.rb +5 -4
  90. data/lib/whop_sdk/resources/payments.rb +7 -4
  91. data/lib/whop_sdk/resources/plans.rb +14 -8
  92. data/lib/whop_sdk/resources/products.rb +10 -8
  93. data/lib/whop_sdk/resources/promo_codes.rb +4 -2
  94. data/lib/whop_sdk/resources/reactions.rb +2 -1
  95. data/lib/whop_sdk/resources/reviews.rb +2 -1
  96. data/lib/whop_sdk/resources/shipments.rb +2 -1
  97. data/lib/whop_sdk/resources/support_channels.rb +2 -1
  98. data/lib/whop_sdk/resources/transfers.rb +5 -2
  99. data/lib/whop_sdk/resources/users.rb +9 -3
  100. data/lib/whop_sdk/version.rb +1 -1
  101. data/lib/whop_sdk.rb +14 -1
  102. data/manifest.yaml +1 -0
  103. data/rbi/whop_sdk/client.rbi +6 -0
  104. data/rbi/whop_sdk/internal/transport/base_client.rbi +5 -0
  105. data/rbi/whop_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  106. data/rbi/whop_sdk/internal/type/base_model.rbi +8 -4
  107. data/rbi/whop_sdk/models/access_level.rbi +1 -1
  108. data/rbi/whop_sdk/models/access_pass_type.rbi +2 -1
  109. data/rbi/whop_sdk/models/access_token_create_params.rbi +126 -0
  110. data/rbi/whop_sdk/models/access_token_create_response.rbi +37 -0
  111. data/rbi/whop_sdk/models/app_build_create_params.rbi +80 -40
  112. data/rbi/whop_sdk/models/app_update_params.rbi +86 -37
  113. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +196 -68
  114. data/rbi/whop_sdk/models/company.rbi +10 -0
  115. data/rbi/whop_sdk/models/company_create_params.rbi +67 -0
  116. data/rbi/whop_sdk/models/company_list_params.rbi +83 -0
  117. data/rbi/whop_sdk/models/company_list_response.rbi +235 -0
  118. data/rbi/whop_sdk/models/course.rbi +21 -3
  119. data/rbi/whop_sdk/models/course_create_params.rbi +126 -38
  120. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +126 -0
  121. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +68 -0
  122. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +449 -111
  123. data/rbi/whop_sdk/models/course_list_response.rbi +21 -3
  124. data/rbi/whop_sdk/models/course_student_list_params.rbi +83 -0
  125. data/rbi/whop_sdk/models/course_student_list_response.rbi +142 -0
  126. data/rbi/whop_sdk/models/course_student_retrieve_params.rbi +30 -0
  127. data/rbi/whop_sdk/models/course_student_retrieve_response.rbi +250 -0
  128. data/rbi/whop_sdk/models/course_update_params.rbi +104 -38
  129. data/rbi/whop_sdk/models/course_visibilities.rbi +23 -0
  130. data/rbi/whop_sdk/models/embed_type.rbi +20 -0
  131. data/rbi/whop_sdk/models/entry.rbi +3 -3
  132. data/rbi/whop_sdk/models/entry_list_response.rbi +3 -3
  133. data/rbi/whop_sdk/models/experience.rbi +7 -9
  134. data/rbi/whop_sdk/models/experience_update_params.rbi +84 -38
  135. data/rbi/whop_sdk/models/forum_post.rbi +2 -2
  136. data/rbi/whop_sdk/models/forum_post_create_params.rbi +85 -32
  137. data/rbi/whop_sdk/models/forum_post_list_response.rbi +2 -2
  138. data/rbi/whop_sdk/models/forum_post_update_params.rbi +85 -32
  139. data/rbi/whop_sdk/models/global_affiliate_status.rbi +1 -1
  140. data/rbi/whop_sdk/models/invoice_create_params.rbi +60 -46
  141. data/rbi/whop_sdk/models/invoice_list_params.rbi +26 -71
  142. data/rbi/whop_sdk/models/lesson.rbi +68 -10
  143. data/rbi/whop_sdk/models/member_list_params.rbi +10 -10
  144. data/rbi/whop_sdk/models/member_list_response.rbi +6 -6
  145. data/rbi/whop_sdk/models/member_retrieve_response.rbi +6 -6
  146. data/rbi/whop_sdk/models/membership_list_params.rbi +8 -8
  147. data/rbi/whop_sdk/models/message.rbi +2 -2
  148. data/rbi/whop_sdk/models/message_create_params.rbi +85 -32
  149. data/rbi/whop_sdk/models/message_list_response.rbi +2 -2
  150. data/rbi/whop_sdk/models/message_update_params.rbi +85 -32
  151. data/rbi/whop_sdk/models/payment.rbi +13 -3
  152. data/rbi/whop_sdk/models/payment_list_response.rbi +13 -3
  153. data/rbi/whop_sdk/models/payment_method_types.rbi +3 -1
  154. data/rbi/whop_sdk/models/plan.rbi +88 -4
  155. data/rbi/whop_sdk/models/plan_create_params.rbi +176 -34
  156. data/rbi/whop_sdk/models/plan_list_response.rbi +100 -4
  157. data/rbi/whop_sdk/models/plan_type.rbi +1 -1
  158. data/rbi/whop_sdk/models/plan_update_params.rbi +174 -32
  159. data/rbi/whop_sdk/models/product.rbi +1 -1
  160. data/rbi/whop_sdk/models/product_create_params.rbi +6 -6
  161. data/rbi/whop_sdk/models/product_list_item.rbi +1 -1
  162. data/rbi/whop_sdk/models/product_update_params.rbi +87 -43
  163. data/rbi/whop_sdk/models/promo_code.rbi +3 -3
  164. data/rbi/whop_sdk/models/promo_code_list_response.rbi +3 -3
  165. data/rbi/whop_sdk/models/transfer.rbi +8 -0
  166. data/rbi/whop_sdk/models/transfer_create_params.rbi +8 -0
  167. data/rbi/whop_sdk/models/transfer_list_response.rbi +8 -0
  168. data/rbi/whop_sdk/models.rbi +14 -0
  169. data/rbi/whop_sdk/resources/access_tokens.rbi +41 -0
  170. data/rbi/whop_sdk/resources/app_builds.rbi +15 -3
  171. data/rbi/whop_sdk/resources/apps.rbi +13 -2
  172. data/rbi/whop_sdk/resources/authorized_users.rbi +5 -1
  173. data/rbi/whop_sdk/resources/chat_channels.rbi +8 -1
  174. data/rbi/whop_sdk/resources/checkout_configurations.rbi +11 -8
  175. data/rbi/whop_sdk/resources/companies.rbi +68 -1
  176. data/rbi/whop_sdk/resources/course_chapters.rbi +11 -2
  177. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +7 -3
  178. data/rbi/whop_sdk/resources/course_lessons.rbi +62 -4
  179. data/rbi/whop_sdk/resources/course_students.rbi +69 -0
  180. data/rbi/whop_sdk/resources/courses.rbi +50 -4
  181. data/rbi/whop_sdk/resources/entries.rbi +15 -3
  182. data/rbi/whop_sdk/resources/experiences.rbi +21 -3
  183. data/rbi/whop_sdk/resources/forum_posts.rbi +18 -3
  184. data/rbi/whop_sdk/resources/forums.rbi +6 -1
  185. data/rbi/whop_sdk/resources/invoices.rbi +38 -23
  186. data/rbi/whop_sdk/resources/ledger_accounts.rbi +7 -2
  187. data/rbi/whop_sdk/resources/members.rbi +9 -5
  188. data/rbi/whop_sdk/resources/memberships.rbi +16 -5
  189. data/rbi/whop_sdk/resources/messages.rbi +18 -3
  190. data/rbi/whop_sdk/resources/payments.rbi +16 -3
  191. data/rbi/whop_sdk/resources/plans.rbi +40 -5
  192. data/rbi/whop_sdk/resources/products.rbi +21 -7
  193. data/rbi/whop_sdk/resources/promo_codes.rbi +10 -2
  194. data/rbi/whop_sdk/resources/reactions.rbi +5 -1
  195. data/rbi/whop_sdk/resources/reviews.rbi +5 -1
  196. data/rbi/whop_sdk/resources/shipments.rbi +5 -1
  197. data/rbi/whop_sdk/resources/support_channels.rbi +5 -1
  198. data/rbi/whop_sdk/resources/transfers.rbi +8 -1
  199. data/rbi/whop_sdk/resources/users.rbi +13 -2
  200. data/sig/whop_sdk/client.rbs +4 -0
  201. data/sig/whop_sdk/internal/transport/base_client.rbs +2 -0
  202. data/sig/whop_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  203. data/sig/whop_sdk/models/access_token_create_params.rbs +56 -0
  204. data/sig/whop_sdk/models/access_token_create_response.rbs +15 -0
  205. data/sig/whop_sdk/models/app_build_create_params.rbs +29 -10
  206. data/sig/whop_sdk/models/app_update_params.rbs +29 -10
  207. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +72 -21
  208. data/sig/whop_sdk/models/company.rbs +5 -0
  209. data/sig/whop_sdk/models/company_create_params.rbs +41 -0
  210. data/sig/whop_sdk/models/company_list_params.rbs +51 -0
  211. data/sig/whop_sdk/models/company_list_response.rbs +109 -0
  212. data/sig/whop_sdk/models/course.rbs +13 -3
  213. data/sig/whop_sdk/models/course_create_params.rbs +49 -10
  214. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  215. data/sig/whop_sdk/models/course_lesson_list_response.rbs +25 -0
  216. data/sig/whop_sdk/models/course_lesson_update_params.rbs +162 -30
  217. data/sig/whop_sdk/models/course_list_response.rbs +13 -3
  218. data/sig/whop_sdk/models/course_student_list_params.rbs +51 -0
  219. data/sig/whop_sdk/models/course_student_list_response.rbs +64 -0
  220. data/sig/whop_sdk/models/course_student_retrieve_params.rbs +15 -0
  221. data/sig/whop_sdk/models/course_student_retrieve_response.rbs +106 -0
  222. data/sig/whop_sdk/models/course_update_params.rbs +40 -11
  223. data/sig/whop_sdk/models/course_visibilities.rbs +14 -0
  224. data/sig/whop_sdk/models/embed_type.rbs +14 -0
  225. data/sig/whop_sdk/models/experience_update_params.rbs +29 -10
  226. data/sig/whop_sdk/models/forum_post_create_params.rbs +29 -10
  227. data/sig/whop_sdk/models/forum_post_update_params.rbs +29 -10
  228. data/sig/whop_sdk/models/invoice_create_params.rbs +28 -18
  229. data/sig/whop_sdk/models/invoice_list_params.rbs +16 -33
  230. data/sig/whop_sdk/models/lesson.rbs +33 -8
  231. data/sig/whop_sdk/models/member_list_params.rbs +5 -5
  232. data/sig/whop_sdk/models/membership_list_params.rbs +5 -5
  233. data/sig/whop_sdk/models/message_create_params.rbs +29 -10
  234. data/sig/whop_sdk/models/message_update_params.rbs +29 -10
  235. data/sig/whop_sdk/models/payment.rbs +5 -0
  236. data/sig/whop_sdk/models/payment_list_response.rbs +5 -0
  237. data/sig/whop_sdk/models/payment_method_types.rbs +4 -2
  238. data/sig/whop_sdk/models/plan.rbs +32 -0
  239. data/sig/whop_sdk/models/plan_create_params.rbs +61 -10
  240. data/sig/whop_sdk/models/plan_list_response.rbs +32 -0
  241. data/sig/whop_sdk/models/plan_update_params.rbs +61 -10
  242. data/sig/whop_sdk/models/product_update_params.rbs +29 -10
  243. data/sig/whop_sdk/models/transfer.rbs +5 -0
  244. data/sig/whop_sdk/models/transfer_create_params.rbs +5 -0
  245. data/sig/whop_sdk/models/transfer_list_response.rbs +5 -0
  246. data/sig/whop_sdk/models.rbs +14 -0
  247. data/sig/whop_sdk/resources/access_tokens.rbs +15 -0
  248. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  249. data/sig/whop_sdk/resources/apps.rbs +1 -1
  250. data/sig/whop_sdk/resources/checkout_configurations.rbs +2 -2
  251. data/sig/whop_sdk/resources/companies.rbs +18 -0
  252. data/sig/whop_sdk/resources/course_lessons.rbs +10 -2
  253. data/sig/whop_sdk/resources/course_students.rbs +22 -0
  254. data/sig/whop_sdk/resources/courses.rbs +8 -2
  255. data/sig/whop_sdk/resources/experiences.rbs +1 -1
  256. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  257. data/sig/whop_sdk/resources/invoices.rbs +8 -6
  258. data/sig/whop_sdk/resources/members.rbs +1 -1
  259. data/sig/whop_sdk/resources/memberships.rbs +1 -1
  260. data/sig/whop_sdk/resources/messages.rbs +2 -2
  261. data/sig/whop_sdk/resources/plans.rbs +4 -2
  262. data/sig/whop_sdk/resources/products.rbs +1 -1
  263. data/sig/whop_sdk/resources/transfers.rbs +1 -0
  264. metadata +41 -5
  265. data/lib/whop_sdk/models/invoice_create_response.rb +0 -27
  266. data/rbi/whop_sdk/models/invoice_create_response.rbi +0 -49
  267. data/sig/whop_sdk/models/invoice_create_response.rbs +0 -19
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseStudents#retrieve
6
+ class CourseStudentRetrieveParams < 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,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseStudents#retrieve
6
+ class CourseStudentRetrieveResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the course student. Looks like crsi_XXX
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute completed_lessons_count
14
+ # The number of lessons the student has completed
15
+ #
16
+ # @return [Integer]
17
+ required :completed_lessons_count, Integer
18
+
19
+ # @!attribute completion_rate
20
+ # The percentage of lessons completed (0-100)
21
+ #
22
+ # @return [Float]
23
+ required :completion_rate, Float
24
+
25
+ # @!attribute course
26
+ # The course the student is enrolled in
27
+ #
28
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::Course]
29
+ required :course, -> { WhopSDK::Models::CourseStudentRetrieveResponse::Course }
30
+
31
+ # @!attribute first_interaction_at
32
+ # When the student first interacted with the course
33
+ #
34
+ # @return [Time]
35
+ required :first_interaction_at, Time
36
+
37
+ # @!attribute last_interaction_at
38
+ # When the student last interacted with the course
39
+ #
40
+ # @return [Time]
41
+ required :last_interaction_at, Time
42
+
43
+ # @!attribute total_lessons_count
44
+ # The total number of lessons the student has access to
45
+ #
46
+ # @return [Integer]
47
+ required :total_lessons_count, Integer
48
+
49
+ # @!attribute user
50
+ # The user who is enrolled in the course
51
+ #
52
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::User]
53
+ required :user, -> { WhopSDK::Models::CourseStudentRetrieveResponse::User }
54
+
55
+ # @!method initialize(id:, completed_lessons_count:, completion_rate:, course:, first_interaction_at:, last_interaction_at:, total_lessons_count:, user:)
56
+ # A course student (enrollment of a student in a course)
57
+ #
58
+ # @param id [String] The ID of the course student. Looks like crsi_XXX
59
+ #
60
+ # @param completed_lessons_count [Integer] The number of lessons the student has completed
61
+ #
62
+ # @param completion_rate [Float] The percentage of lessons completed (0-100)
63
+ #
64
+ # @param course [WhopSDK::Models::CourseStudentRetrieveResponse::Course] The course the student is enrolled in
65
+ #
66
+ # @param first_interaction_at [Time] When the student first interacted with the course
67
+ #
68
+ # @param last_interaction_at [Time] When the student last interacted with the course
69
+ #
70
+ # @param total_lessons_count [Integer] The total number of lessons the student has access to
71
+ #
72
+ # @param user [WhopSDK::Models::CourseStudentRetrieveResponse::User] The user who is enrolled in the course
73
+
74
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse#course
75
+ class Course < WhopSDK::Internal::Type::BaseModel
76
+ # @!attribute id
77
+ # The ID of the course. Looks like cors_XXX
78
+ #
79
+ # @return [String]
80
+ required :id, String
81
+
82
+ # @!attribute experience
83
+ # The experience that the course belongs to
84
+ #
85
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience]
86
+ required :experience, -> { WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience }
87
+
88
+ # @!attribute title
89
+ # The title of the course
90
+ #
91
+ # @return [String, nil]
92
+ required :title, String, nil?: true
93
+
94
+ # @!method initialize(id:, experience:, title:)
95
+ # The course the student is enrolled in
96
+ #
97
+ # @param id [String] The ID of the course. Looks like cors_XXX
98
+ #
99
+ # @param experience [WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience] The experience that the course belongs to
100
+ #
101
+ # @param title [String, nil] The title of the course
102
+
103
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse::Course#experience
104
+ class Experience < WhopSDK::Internal::Type::BaseModel
105
+ # @!attribute id
106
+ # The unique ID representing this experience
107
+ #
108
+ # @return [String]
109
+ required :id, String
110
+
111
+ # @!method initialize(id:)
112
+ # The experience that the course belongs to
113
+ #
114
+ # @param id [String] The unique ID representing this experience
115
+ end
116
+ end
117
+
118
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse#user
119
+ class User < WhopSDK::Internal::Type::BaseModel
120
+ # @!attribute id
121
+ # The internal ID of the user.
122
+ #
123
+ # @return [String]
124
+ required :id, String
125
+
126
+ # @!attribute name
127
+ # The name of the user from their Whop account.
128
+ #
129
+ # @return [String, nil]
130
+ required :name, String, nil?: true
131
+
132
+ # @!attribute username
133
+ # The username of the user from their Whop account.
134
+ #
135
+ # @return [String]
136
+ required :username, String
137
+
138
+ # @!method initialize(id:, name:, username:)
139
+ # The user who is enrolled in the course
140
+ #
141
+ # @param id [String] The internal ID of the user.
142
+ #
143
+ # @param name [String, nil] The name of the user from their Whop account.
144
+ #
145
+ # @param username [String] The username of the user from their Whop account.
146
+ end
147
+ end
148
+ end
149
+ end
@@ -40,6 +40,13 @@ module WhopSDK
40
40
  # @return [Symbol, WhopSDK::Models::Languages, nil]
41
41
  optional :language, enum: -> { WhopSDK::Languages }, nil?: true
42
42
 
43
+ # @!attribute order
44
+ # The decimal order position of the course within its experience. Use fractional
45
+ # values (e.g., 1.5) to place between existing courses.
46
+ #
47
+ # @return [String, nil]
48
+ optional :order, String, nil?: true
49
+
43
50
  # @!attribute require_completing_lessons_in_order
44
51
  # Whether the course requires students to complete the previous lesson before
45
52
  # moving on to the next one
@@ -56,8 +63,8 @@ module WhopSDK
56
63
  # @!attribute thumbnail
57
64
  # The thumbnail for the course in png, jpeg, or gif format
58
65
  #
59
- # @return [WhopSDK::Models::CourseUpdateParams::Thumbnail, nil]
60
- optional :thumbnail, -> { WhopSDK::CourseUpdateParams::Thumbnail }, nil?: true
66
+ # @return [WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID, nil]
67
+ optional :thumbnail, union: -> { WhopSDK::CourseUpdateParams::Thumbnail }, nil?: true
61
68
 
62
69
  # @!attribute title
63
70
  # The title of the course
@@ -65,7 +72,14 @@ module WhopSDK
65
72
  # @return [String, nil]
66
73
  optional :title, String, nil?: true
67
74
 
68
- # @!method initialize(certificate_after_completion_enabled: nil, chapters: nil, cover_image: nil, description: nil, language: nil, require_completing_lessons_in_order: nil, tagline: nil, thumbnail: nil, title: nil, request_options: {})
75
+ # @!attribute visibility
76
+ # The available visibilities for a course. Determines how / whether a course is
77
+ # visible to users.
78
+ #
79
+ # @return [Symbol, WhopSDK::Models::CourseVisibilities, nil]
80
+ optional :visibility, enum: -> { WhopSDK::CourseVisibilities }, nil?: true
81
+
82
+ # @!method initialize(certificate_after_completion_enabled: nil, chapters: nil, cover_image: nil, description: nil, language: nil, order: nil, require_completing_lessons_in_order: nil, tagline: nil, thumbnail: nil, title: nil, visibility: nil, request_options: {})
69
83
  # Some parameter documentations has been truncated, see
70
84
  # {WhopSDK::Models::CourseUpdateParams} for more details.
71
85
  #
@@ -79,14 +93,18 @@ module WhopSDK
79
93
  #
80
94
  # @param language [Symbol, WhopSDK::Models::Languages, nil] The available languages for a course
81
95
  #
96
+ # @param order [String, nil] The decimal order position of the course within its experience. Use fractional v
97
+ #
82
98
  # @param require_completing_lessons_in_order [Boolean, nil] Whether the course requires students to complete the previous lesson before movi
83
99
  #
84
100
  # @param tagline [String, nil] A short tagline for the course
85
101
  #
86
- # @param thumbnail [WhopSDK::Models::CourseUpdateParams::Thumbnail, nil] The thumbnail for the course in png, jpeg, or gif format
102
+ # @param thumbnail [WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID, nil] The thumbnail for the course in png, jpeg, or gif format
87
103
  #
88
104
  # @param title [String, nil] The title of the course
89
105
  #
106
+ # @param visibility [Symbol, WhopSDK::Models::CourseVisibilities, nil] The available visibilities for a course. Determines how / whether a course is vi
107
+ #
90
108
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
91
109
 
92
110
  class Chapter < WhopSDK::Internal::Type::BaseModel
@@ -165,32 +183,56 @@ module WhopSDK
165
183
  end
166
184
  end
167
185
 
168
- class Thumbnail < WhopSDK::Internal::Type::BaseModel
169
- # @!attribute id
170
- # The ID of an existing attachment object. Use this when updating a resource and
171
- # keeping a subset of the attachments. Don't use this unless you know what you're
172
- # doing.
173
- #
174
- # @return [String, nil]
175
- optional :id, String, nil?: true
186
+ # The thumbnail for the course in png, jpeg, or gif format
187
+ module Thumbnail
188
+ extend WhopSDK::Internal::Type::Union
176
189
 
177
- # @!attribute direct_upload_id
178
- # This ID should be used the first time you upload an attachment. It is the ID of
179
- # the direct upload that was created when uploading the file to S3 via the
180
- # mediaDirectUpload mutation.
181
- #
182
- # @return [String, nil]
183
- optional :direct_upload_id, String, nil?: true
190
+ # Input for an attachment
191
+ variant -> { WhopSDK::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID }
184
192
 
185
- # @!method initialize(id: nil, direct_upload_id: nil)
186
- # Some parameter documentations has been truncated, see
187
- # {WhopSDK::Models::CourseUpdateParams::Thumbnail} for more details.
188
- #
189
- # The thumbnail for the course in png, jpeg, or gif format
190
- #
191
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
192
- #
193
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
193
+ # Input for an attachment
194
+ variant -> { WhopSDK::CourseUpdateParams::Thumbnail::AttachmentInputWithID }
195
+
196
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
197
+ # @!attribute direct_upload_id
198
+ # This ID should be used the first time you upload an attachment. It is the ID of
199
+ # the direct upload that was created when uploading the file to S3 via the
200
+ # mediaDirectUpload mutation.
201
+ #
202
+ # @return [String]
203
+ required :direct_upload_id, String
204
+
205
+ # @!method initialize(direct_upload_id:)
206
+ # Some parameter documentations has been truncated, see
207
+ # {WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID}
208
+ # for more details.
209
+ #
210
+ # Input for an attachment
211
+ #
212
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
213
+ end
214
+
215
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
216
+ # @!attribute id
217
+ # The ID of an existing attachment object. Use this when updating a resource and
218
+ # keeping a subset of the attachments. Don't use this unless you know what you're
219
+ # doing.
220
+ #
221
+ # @return [String]
222
+ required :id, String
223
+
224
+ # @!method initialize(id:)
225
+ # Some parameter documentations has been truncated, see
226
+ # {WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID} for more
227
+ # details.
228
+ #
229
+ # Input for an attachment
230
+ #
231
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
232
+ end
233
+
234
+ # @!method self.variants
235
+ # @return [Array(WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID)]
194
236
  end
195
237
  end
196
238
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The available visibilities for a course. Determines how / whether a course is
6
+ # visible to users.
7
+ module CourseVisibilities
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
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The type of embed for a lesson
6
+ module EmbedType
7
+ extend WhopSDK::Internal::Type::Enum
8
+
9
+ YOUTUBE = :youtube
10
+ LOOM = :loom
11
+
12
+ # @!method self.values
13
+ # @return [Array<Symbol>]
14
+ end
15
+ end
16
+ end
@@ -30,7 +30,7 @@ module WhopSDK
30
30
  required :plan, -> { WhopSDK::Entry::Plan }, nil?: true
31
31
 
32
32
  # @!attribute product
33
- # The access pass tied to this entry, if there is one.
33
+ # The product tied to this entry, if there is one.
34
34
  #
35
35
  # @return [WhopSDK::Models::Entry::Product, nil]
36
36
  required :product, -> { WhopSDK::Entry::Product }, nil?: true
@@ -58,7 +58,7 @@ module WhopSDK
58
58
  #
59
59
  # @param plan [WhopSDK::Models::Entry::Plan, nil] The waitlist plan the entry if for.
60
60
  #
61
- # @param product [WhopSDK::Models::Entry::Product, nil] The access pass tied to this entry, if there is one.
61
+ # @param product [WhopSDK::Models::Entry::Product, nil] The product tied to this entry, if there is one.
62
62
  #
63
63
  # @param status [Symbol, WhopSDK::Models::EntryStatus] The status of the entry.
64
64
  #
@@ -122,7 +122,7 @@ module WhopSDK
122
122
  required :title, String
123
123
 
124
124
  # @!method initialize(id:, title:)
125
- # The access pass tied to this entry, if there is one.
125
+ # The product tied to this entry, if there is one.
126
126
  #
127
127
  # @param id [String] The internal ID of the public product.
128
128
  #
@@ -23,7 +23,7 @@ module WhopSDK
23
23
  required :plan, -> { WhopSDK::Models::EntryListResponse::Plan }, nil?: true
24
24
 
25
25
  # @!attribute product
26
- # The access pass tied to this entry, if there is one.
26
+ # The product tied to this entry, if there is one.
27
27
  #
28
28
  # @return [WhopSDK::Models::EntryListResponse::Product, nil]
29
29
  required :product, -> { WhopSDK::Models::EntryListResponse::Product }, nil?: true
@@ -49,7 +49,7 @@ module WhopSDK
49
49
  #
50
50
  # @param plan [WhopSDK::Models::EntryListResponse::Plan, nil] The waitlist plan the entry if for.
51
51
  #
52
- # @param product [WhopSDK::Models::EntryListResponse::Product, nil] The access pass tied to this entry, if there is one.
52
+ # @param product [WhopSDK::Models::EntryListResponse::Product, nil] The product tied to this entry, if there is one.
53
53
  #
54
54
  # @param status [Symbol, WhopSDK::Models::EntryStatus] The status of the entry.
55
55
  #
@@ -84,7 +84,7 @@ module WhopSDK
84
84
  required :title, String
85
85
 
86
86
  # @!method initialize(id:, title:)
87
- # The access pass tied to this entry, if there is one.
87
+ # The product tied to this entry, if there is one.
88
88
  #
89
89
  # @param id [String] The internal ID of the public product.
90
90
  #
@@ -46,10 +46,9 @@ module WhopSDK
46
46
  required :order, String, nil?: true
47
47
 
48
48
  # @!attribute products
49
- # The access passes that are associated with this experience. This should not be
50
- # used unless you are trying to list all access passes the experience has, for
51
- # some reason. You probably don't want to use this though and should be using
52
- # accessPass.
49
+ # The products that this experience is attached to. This defines which set of
50
+ # customers have access and can view this experience. If empty, this experience is
51
+ # only visible to authorized users of the company
53
52
  #
54
53
  # @return [Array<WhopSDK::Models::Experience::Product>]
55
54
  required :products, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Experience::Product] }
@@ -74,7 +73,7 @@ module WhopSDK
74
73
  #
75
74
  # @param order [String, nil] The order of the experience in the section
76
75
  #
77
- # @param products [Array<WhopSDK::Models::Experience::Product>] The access passes that are associated with this experience. This should not be u
76
+ # @param products [Array<WhopSDK::Models::Experience::Product>] The products that this experience is attached to. This defines which set of cust
78
77
 
79
78
  # @see WhopSDK::Models::Experience#app
80
79
  class App < WhopSDK::Internal::Type::BaseModel
@@ -197,7 +196,7 @@ module WhopSDK
197
196
  required :title, String
198
197
 
199
198
  # @!method initialize(id:, route:, title:)
200
- # An object representing a (sanitized) access pass.
199
+ # Represents a product on whop. Use products to sell anything on the platform.
201
200
  #
202
201
  # @param id [String] The internal ID of the public product.
203
202
  #
@@ -16,8 +16,8 @@ module WhopSDK
16
16
  # @!attribute logo
17
17
  # The logo for the experience
18
18
  #
19
- # @return [WhopSDK::Models::ExperienceUpdateParams::Logo, nil]
20
- optional :logo, -> { WhopSDK::ExperienceUpdateParams::Logo }, nil?: true
19
+ # @return [WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID, nil]
20
+ optional :logo, union: -> { WhopSDK::ExperienceUpdateParams::Logo }, nil?: true
21
21
 
22
22
  # @!attribute name
23
23
  # The name of the experience.
@@ -40,7 +40,7 @@ module WhopSDK
40
40
  # @!method initialize(access_level: nil, logo: nil, name: nil, order: nil, section_id: nil, request_options: {})
41
41
  # @param access_level [Symbol, WhopSDK::Models::ExperienceUpdateParams::AccessLevel, nil] The different access levels for experiences (PUBLIC IS NEVER USED ANYMORE).
42
42
  #
43
- # @param logo [WhopSDK::Models::ExperienceUpdateParams::Logo, nil] The logo for the experience
43
+ # @param logo [WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID, nil] The logo for the experience
44
44
  #
45
45
  # @param name [String, nil] The name of the experience.
46
46
  #
@@ -61,32 +61,56 @@ module WhopSDK
61
61
  # @return [Array<Symbol>]
62
62
  end
63
63
 
64
- class Logo < WhopSDK::Internal::Type::BaseModel
65
- # @!attribute id
66
- # The ID of an existing attachment object. Use this when updating a resource and
67
- # keeping a subset of the attachments. Don't use this unless you know what you're
68
- # doing.
69
- #
70
- # @return [String, nil]
71
- optional :id, String, nil?: true
72
-
73
- # @!attribute direct_upload_id
74
- # This ID should be used the first time you upload an attachment. It is the ID of
75
- # the direct upload that was created when uploading the file to S3 via the
76
- # mediaDirectUpload mutation.
77
- #
78
- # @return [String, nil]
79
- optional :direct_upload_id, String, nil?: true
80
-
81
- # @!method initialize(id: nil, direct_upload_id: nil)
82
- # Some parameter documentations has been truncated, see
83
- # {WhopSDK::Models::ExperienceUpdateParams::Logo} for more details.
84
- #
85
- # The logo for the experience
86
- #
87
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
88
- #
89
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
64
+ # The logo for the experience
65
+ module Logo
66
+ extend WhopSDK::Internal::Type::Union
67
+
68
+ # Input for an attachment
69
+ variant -> { WhopSDK::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID }
70
+
71
+ # Input for an attachment
72
+ variant -> { WhopSDK::ExperienceUpdateParams::Logo::AttachmentInputWithID }
73
+
74
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
75
+ # @!attribute direct_upload_id
76
+ # This ID should be used the first time you upload an attachment. It is the ID of
77
+ # the direct upload that was created when uploading the file to S3 via the
78
+ # mediaDirectUpload mutation.
79
+ #
80
+ # @return [String]
81
+ required :direct_upload_id, String
82
+
83
+ # @!method initialize(direct_upload_id:)
84
+ # Some parameter documentations has been truncated, see
85
+ # {WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID}
86
+ # for more details.
87
+ #
88
+ # Input for an attachment
89
+ #
90
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
91
+ end
92
+
93
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
94
+ # @!attribute id
95
+ # The ID of an existing attachment object. Use this when updating a resource and
96
+ # keeping a subset of the attachments. Don't use this unless you know what you're
97
+ # doing.
98
+ #
99
+ # @return [String]
100
+ required :id, String
101
+
102
+ # @!method initialize(id:)
103
+ # Some parameter documentations has been truncated, see
104
+ # {WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID} for more
105
+ # details.
106
+ #
107
+ # Input for an attachment
108
+ #
109
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
110
+ end
111
+
112
+ # @!method self.variants
113
+ # @return [Array(WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID)]
90
114
  end
91
115
  end
92
116
  end
@@ -4,7 +4,7 @@ module WhopSDK
4
4
  module Models
5
5
  class ForumPost < WhopSDK::Internal::Type::BaseModel
6
6
  # @!attribute id
7
- # The unique identifier for the entity
7
+ # The unique identifier of the resource.
8
8
  #
9
9
  # @return [String]
10
10
  required :id, String
@@ -84,7 +84,7 @@ module WhopSDK
84
84
  # @!method initialize(id:, comment_count:, content:, created_at:, is_edited:, is_pinned:, is_poster_admin:, like_count:, parent_id:, title:, updated_at:, user:, view_count:)
85
85
  # Represents a post in forum
86
86
  #
87
- # @param id [String] The unique identifier for the entity
87
+ # @param id [String] The unique identifier of the resource.
88
88
  #
89
89
  # @param comment_count [Integer] The amount of comments on this post
90
90
  #
@@ -16,9 +16,9 @@ module WhopSDK
16
16
  # @!attribute attachments
17
17
  # The attachments for this post
18
18
  #
19
- # @return [Array<WhopSDK::Models::ForumPostCreateParams::Attachment>, nil]
19
+ # @return [Array<WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID>, nil]
20
20
  optional :attachments,
21
- -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::ForumPostCreateParams::Attachment] },
21
+ -> { WhopSDK::Internal::Type::ArrayOf[union: WhopSDK::ForumPostCreateParams::Attachment] },
22
22
  nil?: true
23
23
 
24
24
  # @!attribute content
@@ -80,7 +80,7 @@ module WhopSDK
80
80
  #
81
81
  # @param experience_id [String] The experience to create this post in
82
82
  #
83
- # @param attachments [Array<WhopSDK::Models::ForumPostCreateParams::Attachment>, nil] The attachments for this post
83
+ # @param attachments [Array<WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID>, nil] The attachments for this post
84
84
  #
85
85
  # @param content [String, nil] This is the main body of the post in Markdown format. Hidden if paywalled and us
86
86
  #
@@ -100,32 +100,56 @@ module WhopSDK
100
100
  #
101
101
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
102
102
 
103
- class Attachment < WhopSDK::Internal::Type::BaseModel
104
- # @!attribute id
105
- # The ID of an existing attachment object. Use this when updating a resource and
106
- # keeping a subset of the attachments. Don't use this unless you know what you're
107
- # doing.
108
- #
109
- # @return [String, nil]
110
- optional :id, String, nil?: true
103
+ # Input for an attachment
104
+ module Attachment
105
+ extend WhopSDK::Internal::Type::Union
111
106
 
112
- # @!attribute direct_upload_id
113
- # This ID should be used the first time you upload an attachment. It is the ID of
114
- # the direct upload that was created when uploading the file to S3 via the
115
- # mediaDirectUpload mutation.
116
- #
117
- # @return [String, nil]
118
- optional :direct_upload_id, String, nil?: true
107
+ # Input for an attachment
108
+ variant -> { WhopSDK::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID }
119
109
 
120
- # @!method initialize(id: nil, direct_upload_id: nil)
121
- # Some parameter documentations has been truncated, see
122
- # {WhopSDK::Models::ForumPostCreateParams::Attachment} for more details.
123
- #
124
- # Input for an attachment
125
- #
126
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
127
- #
128
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
110
+ # Input for an attachment
111
+ variant -> { WhopSDK::ForumPostCreateParams::Attachment::AttachmentInputWithID }
112
+
113
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
114
+ # @!attribute direct_upload_id
115
+ # This ID should be used the first time you upload an attachment. It is the ID of
116
+ # the direct upload that was created when uploading the file to S3 via the
117
+ # mediaDirectUpload mutation.
118
+ #
119
+ # @return [String]
120
+ required :direct_upload_id, String
121
+
122
+ # @!method initialize(direct_upload_id:)
123
+ # Some parameter documentations has been truncated, see
124
+ # {WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID}
125
+ # for more details.
126
+ #
127
+ # Input for an attachment
128
+ #
129
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
130
+ end
131
+
132
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
133
+ # @!attribute id
134
+ # The ID of an existing attachment object. Use this when updating a resource and
135
+ # keeping a subset of the attachments. Don't use this unless you know what you're
136
+ # doing.
137
+ #
138
+ # @return [String]
139
+ required :id, String
140
+
141
+ # @!method initialize(id:)
142
+ # Some parameter documentations has been truncated, see
143
+ # {WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID} for
144
+ # more details.
145
+ #
146
+ # Input for an attachment
147
+ #
148
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
149
+ end
150
+
151
+ # @!method self.variants
152
+ # @return [Array(WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID)]
129
153
  end
130
154
 
131
155
  class Poll < WhopSDK::Internal::Type::BaseModel