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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: afe05506f28ccca20981f2b307f501db7097679a24e1b8b07a2bcdf9d006b6bd
4
- data.tar.gz: 320397d496636b3615be4976b4f686140c2fc47aa11eda1b5244624ff839934e
3
+ metadata.gz: 47dbcf6d251bc786986b0862e0ed904004a5ed20ba919298f7c3405f0cb3b508
4
+ data.tar.gz: a32801e2c4cb776d9d140b96dfe7ddfed67276a505836ab747e753e1b2ea1ae9
5
5
  SHA512:
6
- metadata.gz: 59fe556c0733922c11d76fdabf92519fc8e5b56e4a10d9c12dde958d5c27ac97358a13f2879e2e3ddd5d6ea6bc87f061ad0b9f9bfb7a00a42b7458a9828b541a
7
- data.tar.gz: 5e48dc2bbaebcd0830c4a16fc68c7d98f442c8fc48dd527a7f879e75dc1f6b69cc7547ffb810f6eadc35775f54fee67046a69c195eb3cd8b4886c0f2f46bd445
6
+ metadata.gz: 0a9770a71da93ee3e6bf5e6d19936c53bd534e546809a4e9d9dfa56dbff804ead817e512a4e815bb71c983c088260422a729ab2dd3003d8bf69bf6180bcdc7b2
7
+ data.tar.gz: 4a3ec25658c045e9cd3789a0d9bfde24993dd1f4092dc46dd3808d04b244b4af954bf1b4a3e54688f796ba865cc13151ebba8693fb18808f82fbf889c8971e80
data/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.0.5 (2025-11-08)
4
+
5
+ Full Changelog: [v0.0.4...v0.0.5](https://github.com/whopio/whopsdk-ruby/compare/v0.0.4...v0.0.5)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([004569d](https://github.com/whopio/whopsdk-ruby/commit/004569d4a072e5601649fa95ac7ef94e2899ff27))
10
+ * **api:** api update ([9d6bd6c](https://github.com/whopio/whopsdk-ruby/commit/9d6bd6cc2175d40a88de394eab0c46d419b959a3))
11
+ * **api:** api update ([b3c2d9f](https://github.com/whopio/whopsdk-ruby/commit/b3c2d9fc0e1e4a3bf25dc220d347bd44e07e5583))
12
+ * **api:** api update ([d7313ca](https://github.com/whopio/whopsdk-ruby/commit/d7313cac52bdc1dcc76d1154418c97c24b84d381))
13
+ * **api:** api update ([02d0ec1](https://github.com/whopio/whopsdk-ruby/commit/02d0ec11a555f7d5a16827c4b6d9c4010ef14bd2))
14
+ * **api:** api update ([9995686](https://github.com/whopio/whopsdk-ruby/commit/9995686b5552d60a39f8523d7c0052cf5b1acfd5))
15
+ * **api:** api update ([53eb5c1](https://github.com/whopio/whopsdk-ruby/commit/53eb5c18cb24f630d6353fa7c1281fc97d7c5292))
16
+ * **api:** manual updates ([55961b2](https://github.com/whopio/whopsdk-ruby/commit/55961b26868a3df976aa07393fff947df5fdebe7))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * better thread safety via early initializing SSL store during HTTP client creation ([80ee4a2](https://github.com/whopio/whopsdk-ruby/commit/80ee4a25aac1e217cfdfac3443280f23391a5afa))
22
+
23
+
24
+ ### Chores
25
+
26
+ * bump dependency version and update sorbet types ([70e8094](https://github.com/whopio/whopsdk-ruby/commit/70e8094874d1701d0162b92d1a788abcb3ea4335))
27
+
28
+ ## 0.0.4 (2025-11-02)
29
+
30
+ Full Changelog: [v0.0.3...v0.0.4](https://github.com/whopio/whopsdk-ruby/compare/v0.0.3...v0.0.4)
31
+
32
+ ### Features
33
+
34
+ * **api:** api update ([7bda597](https://github.com/whopio/whopsdk-ruby/commit/7bda597b4367e327f0d598ded7f14cdb1b261734))
35
+ * **api:** api update ([e51b89a](https://github.com/whopio/whopsdk-ruby/commit/e51b89a9837e9a8816aa7bfda71cf9ebb3126838))
36
+ * **api:** api update ([6ec5d86](https://github.com/whopio/whopsdk-ruby/commit/6ec5d86a634b48bd126fe18b2b2d3d2cb23c33ad))
37
+ * **api:** api update ([4bfb4b2](https://github.com/whopio/whopsdk-ruby/commit/4bfb4b29cd3d592105162cf4dbcf0f5cebdef85f))
38
+ * **api:** api update ([7fd4af7](https://github.com/whopio/whopsdk-ruby/commit/7fd4af74f1eb2c46d13cd478d655158f17f7713c))
39
+ * **api:** api update ([2c2c708](https://github.com/whopio/whopsdk-ruby/commit/2c2c708b0e611823069d8f1ca6e789b3f8ec10d5))
40
+ * **api:** api update ([81c7d61](https://github.com/whopio/whopsdk-ruby/commit/81c7d61904cc8a2e39a1a379ded2da48e9291c74))
41
+ * **api:** api update ([9ed5110](https://github.com/whopio/whopsdk-ruby/commit/9ed51101d77458d21d49a79ce329ee68bde91c40))
42
+ * **api:** api update ([eaf3de5](https://github.com/whopio/whopsdk-ruby/commit/eaf3de5a6a5d7a84b64f466ebd07404feced80e5))
43
+ * **api:** api update ([4d39a35](https://github.com/whopio/whopsdk-ruby/commit/4d39a3563f0fdb38ce27ddd9a0f84b96d484435d))
44
+ * **api:** api update ([b16865b](https://github.com/whopio/whopsdk-ruby/commit/b16865bbabebaf176899131d98145fbd884a1d33))
45
+ * **api:** api update ([680a9e5](https://github.com/whopio/whopsdk-ruby/commit/680a9e50da1e5cfc5d3ce57c99600cde7316a4fe))
46
+ * **api:** api update ([f5b90f5](https://github.com/whopio/whopsdk-ruby/commit/f5b90f53ea8b1d1d3332bf8da37ec2e1c9e3cd69))
47
+ * **api:** manual updates ([2a8cc5d](https://github.com/whopio/whopsdk-ruby/commit/2a8cc5da2297d3dfa69a3209e7539a1597426410))
48
+ * **api:** manual updates ([5b56fe6](https://github.com/whopio/whopsdk-ruby/commit/5b56fe6ff1fe82e1dcc063824fcd036196801f2f))
49
+
3
50
  ## 0.0.3 (2025-10-28)
4
51
 
5
52
  Full Changelog: [v0.0.2...v0.0.3](https://github.com/whopio/whopsdk-ruby/compare/v0.0.2...v0.0.3)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "whop_sdk", "~> 0.0.3"
20
+ gem "whop_sdk", "~> 0.0.5"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -112,6 +112,12 @@ module WhopSDK
112
112
  # @return [WhopSDK::Resources::Reviews]
113
113
  attr_reader :reviews
114
114
 
115
+ # @return [WhopSDK::Resources::CourseStudents]
116
+ attr_reader :course_students
117
+
118
+ # @return [WhopSDK::Resources::AccessTokens]
119
+ attr_reader :access_tokens
120
+
115
121
  # @api private
116
122
  #
117
123
  # @return [Hash{String=>String}]
@@ -201,6 +207,8 @@ module WhopSDK
201
207
  @course_chapters = WhopSDK::Resources::CourseChapters.new(client: self)
202
208
  @course_lessons = WhopSDK::Resources::CourseLessons.new(client: self)
203
209
  @reviews = WhopSDK::Resources::Reviews.new(client: self)
210
+ @course_students = WhopSDK::Resources::CourseStudents.new(client: self)
211
+ @access_tokens = WhopSDK::Resources::AccessTokens.new(client: self)
204
212
  end
205
213
 
206
214
  # Verifies a Whop user token
@@ -201,7 +201,8 @@ module WhopSDK
201
201
  self.class::PLATFORM_HEADERS,
202
202
  {
203
203
  "accept" => "application/json",
204
- "content-type" => "application/json"
204
+ "content-type" => "application/json",
205
+ "user-agent" => user_agent
205
206
  },
206
207
  headers
207
208
  )
@@ -219,6 +220,11 @@ module WhopSDK
219
220
  # @return [Hash{String=>String}]
220
221
  private def auth_headers = {}
221
222
 
223
+ # @api private
224
+ #
225
+ # @return [String]
226
+ private def user_agent = "#{self.class.name}/Ruby #{WhopSDK::VERSION}"
227
+
222
228
  # @api private
223
229
  #
224
230
  # @return [String]
@@ -16,10 +16,11 @@ module WhopSDK
16
16
  class << self
17
17
  # @api private
18
18
  #
19
+ # @param cert_store [OpenSSL::X509::Store]
19
20
  # @param url [URI::Generic]
20
21
  #
21
22
  # @return [Net::HTTP]
22
- def connect(url)
23
+ def connect(cert_store:, url:)
23
24
  port =
24
25
  case [url.port, url.scheme]
25
26
  in [Integer, _]
@@ -33,6 +34,8 @@ module WhopSDK
33
34
  Net::HTTP.new(url.host, port).tap do
34
35
  _1.use_ssl = %w[https wss].include?(url.scheme)
35
36
  _1.max_retries = 0
37
+
38
+ (_1.cert_store = cert_store) if _1.use_ssl?
36
39
  end
37
40
  end
38
41
 
@@ -102,7 +105,7 @@ module WhopSDK
102
105
  pool =
103
106
  @mutex.synchronize do
104
107
  @pools[origin] ||= ConnectionPool.new(size: @size) do
105
- self.class.connect(url)
108
+ self.class.connect(cert_store: @cert_store, url: url)
106
109
  end
107
110
  end
108
111
 
@@ -192,6 +195,7 @@ module WhopSDK
192
195
  def initialize(size: self.class::DEFAULT_MAX_CONNECTIONS)
193
196
  @mutex = Mutex.new
194
197
  @size = size
198
+ @cert_store = OpenSSL::X509::Store.new.tap(&:set_default_paths)
195
199
  @pools = {}
196
200
  end
197
201
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module WhopSDK
4
4
  module Models
5
- # The access level a given user (or company) has to an access pass or company.
5
+ # The access level a given user (or company) has to a product or company.
6
6
  module AccessLevel
7
7
  extend WhopSDK::Internal::Type::Enum
8
8
 
@@ -2,7 +2,8 @@
2
2
 
3
3
  module WhopSDK
4
4
  module Models
5
- # The different types an access pass can be.
5
+ # The different types an product can be. Only use 'regular'. The rest are for
6
+ # internal use
6
7
  module AccessPassType
7
8
  extend WhopSDK::Internal::Type::Enum
8
9
 
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AccessTokens#create
6
+ class AccessTokenCreateParams < WhopSDK::Internal::Type::BaseModel
7
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
8
+ include WhopSDK::Internal::Type::RequestParameters
9
+
10
+ # @!attribute scoped_actions
11
+ # Array of desired scoped actions for the access token. This list must be a subset
12
+ # of the API keys's existing permissions. Otherwise, an error will be raised.
13
+ #
14
+ # @return [Array<String>]
15
+ required :scoped_actions, WhopSDK::Internal::Type::ArrayOf[String]
16
+
17
+ # @!attribute target_resource_id
18
+ # The ID of the target resource (Company, User, etc.) for which the access token
19
+ # is being created.
20
+ #
21
+ # @return [String]
22
+ required :target_resource_id, String
23
+
24
+ # @!attribute target_resource_type
25
+ # The type of the target resource (company, user, product, experience, etc.).
26
+ #
27
+ # @return [Symbol, WhopSDK::Models::AccessTokenCreateParams::TargetResourceType]
28
+ required :target_resource_type, enum: -> { WhopSDK::AccessTokenCreateParams::TargetResourceType }
29
+
30
+ # @!attribute expires_at
31
+ # The expiration timestamp for the access token. If not provided, a default
32
+ # expiration time of 1 hour will be used. The expiration can be set to a maximum
33
+ # of 3 hours from the current time.
34
+ #
35
+ # @return [Time, nil]
36
+ optional :expires_at, Time, nil?: true
37
+
38
+ # @!method initialize(scoped_actions:, target_resource_id:, target_resource_type:, expires_at: nil, request_options: {})
39
+ # Some parameter documentations has been truncated, see
40
+ # {WhopSDK::Models::AccessTokenCreateParams} for more details.
41
+ #
42
+ # @param scoped_actions [Array<String>] Array of desired scoped actions for the access token. This list must be a subset
43
+ #
44
+ # @param target_resource_id [String] The ID of the target resource (Company, User, etc.) for which the access token i
45
+ #
46
+ # @param target_resource_type [Symbol, WhopSDK::Models::AccessTokenCreateParams::TargetResourceType] The type of the target resource (company, user, product, experience, etc.).
47
+ #
48
+ # @param expires_at [Time, nil] The expiration timestamp for the access token. If not provided, a default expira
49
+ #
50
+ # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
51
+
52
+ # The type of the target resource (company, user, product, experience, etc.).
53
+ module TargetResourceType
54
+ extend WhopSDK::Internal::Type::Enum
55
+
56
+ COMPANY = :company
57
+ PRODUCT = :product
58
+ EXPERIENCE = :experience
59
+ APP = :app
60
+ USER = :user
61
+
62
+ # @!method self.values
63
+ # @return [Array<Symbol>]
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::AccessTokens#create
6
+ class AccessTokenCreateResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute token
8
+ # The JWT access token string.
9
+ #
10
+ # @return [String]
11
+ required :token, String
12
+
13
+ # @!attribute expires_at
14
+ # The expiration timestamp of the access token.
15
+ #
16
+ # @return [Time]
17
+ required :expires_at, Time
18
+
19
+ # @!method initialize(token:, expires_at:)
20
+ # An object representing an access token used for authenticating API requests.
21
+ #
22
+ # @param token [String] The JWT access token string.
23
+ #
24
+ # @param expires_at [Time] The expiration timestamp of the access token.
25
+ end
26
+ end
27
+ end
@@ -12,8 +12,8 @@ module WhopSDK
12
12
  # format. The zip should contain at least one main_js_bundle.hbc file and
13
13
  # optionally an assets folder next to it.
14
14
  #
15
- # @return [WhopSDK::Models::AppBuildCreateParams::Attachment]
16
- required :attachment, -> { WhopSDK::AppBuildCreateParams::Attachment }
15
+ # @return [WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithID]
16
+ required :attachment, union: -> { WhopSDK::AppBuildCreateParams::Attachment }
17
17
 
18
18
  # @!attribute checksum
19
19
  # Checksum of the app build file. This is generated by the client and used to
@@ -49,7 +49,7 @@ module WhopSDK
49
49
  # Some parameter documentations has been truncated, see
50
50
  # {WhopSDK::Models::AppBuildCreateParams} for more details.
51
51
  #
52
- # @param attachment [WhopSDK::Models::AppBuildCreateParams::Attachment] Attachment input for the app build file. This should be an upload in .zip format
52
+ # @param attachment [WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithID] Attachment input for the app build file. This should be an upload in .zip format
53
53
  #
54
54
  # @param checksum [String] Checksum of the app build file. This is generated by the client and used to veri
55
55
  #
@@ -61,34 +61,58 @@ module WhopSDK
61
61
  #
62
62
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
63
63
 
64
- class Attachment < 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
64
+ # Attachment input for the app build file. This should be an upload in .zip
65
+ # format. The zip should contain at least one main_js_bundle.hbc file and
66
+ # optionally an assets folder next to it.
67
+ module Attachment
68
+ extend WhopSDK::Internal::Type::Union
72
69
 
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
70
+ # Input for an attachment
71
+ variant -> { WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID }
80
72
 
81
- # @!method initialize(id: nil, direct_upload_id: nil)
82
- # Some parameter documentations has been truncated, see
83
- # {WhopSDK::Models::AppBuildCreateParams::Attachment} for more details.
84
- #
85
- # Attachment input for the app build file. This should be an upload in .zip
86
- # format. The zip should contain at least one main_js_bundle.hbc file and
87
- # optionally an assets folder next to it.
88
- #
89
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
90
- #
91
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
73
+ # Input for an attachment
74
+ variant -> { WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID }
75
+
76
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
77
+ # @!attribute direct_upload_id
78
+ # This ID should be used the first time you upload an attachment. It is the ID of
79
+ # the direct upload that was created when uploading the file to S3 via the
80
+ # mediaDirectUpload mutation.
81
+ #
82
+ # @return [String]
83
+ required :direct_upload_id, String
84
+
85
+ # @!method initialize(direct_upload_id:)
86
+ # Some parameter documentations has been truncated, see
87
+ # {WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID}
88
+ # for more details.
89
+ #
90
+ # Input for an attachment
91
+ #
92
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
93
+ end
94
+
95
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
96
+ # @!attribute id
97
+ # The ID of an existing attachment object. Use this when updating a resource and
98
+ # keeping a subset of the attachments. Don't use this unless you know what you're
99
+ # doing.
100
+ #
101
+ # @return [String]
102
+ required :id, String
103
+
104
+ # @!method initialize(id:)
105
+ # Some parameter documentations has been truncated, see
106
+ # {WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithID} for
107
+ # more details.
108
+ #
109
+ # Input for an attachment
110
+ #
111
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
112
+ end
113
+
114
+ # @!method self.variants
115
+ # @return [Array(WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppBuildCreateParams::Attachment::AttachmentInputWithID)]
92
116
  end
93
117
  end
94
118
  end
@@ -46,8 +46,8 @@ module WhopSDK
46
46
  # @!attribute icon
47
47
  # The icon for the app
48
48
  #
49
- # @return [WhopSDK::Models::AppUpdateParams::Icon, nil]
50
- optional :icon, -> { WhopSDK::AppUpdateParams::Icon }, nil?: true
49
+ # @return [WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithID, nil]
50
+ optional :icon, union: -> { WhopSDK::AppUpdateParams::Icon }, nil?: true
51
51
 
52
52
  # @!attribute name
53
53
  # The name of the app
@@ -82,7 +82,7 @@ module WhopSDK
82
82
  #
83
83
  # @param experience_path [String, nil] The path for the hub view of the app
84
84
  #
85
- # @param icon [WhopSDK::Models::AppUpdateParams::Icon, nil] The icon for the app
85
+ # @param icon [WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithID, nil] The icon for the app
86
86
  #
87
87
  # @param name [String, nil] The name of the app
88
88
  #
@@ -92,32 +92,56 @@ module WhopSDK
92
92
  #
93
93
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
94
94
 
95
- class Icon < WhopSDK::Internal::Type::BaseModel
96
- # @!attribute id
97
- # The ID of an existing attachment object. Use this when updating a resource and
98
- # keeping a subset of the attachments. Don't use this unless you know what you're
99
- # doing.
100
- #
101
- # @return [String, nil]
102
- optional :id, String, nil?: true
103
-
104
- # @!attribute direct_upload_id
105
- # This ID should be used the first time you upload an attachment. It is the ID of
106
- # the direct upload that was created when uploading the file to S3 via the
107
- # mediaDirectUpload mutation.
108
- #
109
- # @return [String, nil]
110
- optional :direct_upload_id, String, nil?: true
111
-
112
- # @!method initialize(id: nil, direct_upload_id: nil)
113
- # Some parameter documentations has been truncated, see
114
- # {WhopSDK::Models::AppUpdateParams::Icon} for more details.
115
- #
116
- # The icon for the app
117
- #
118
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
119
- #
120
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
95
+ # The icon for the app
96
+ module Icon
97
+ extend WhopSDK::Internal::Type::Union
98
+
99
+ # Input for an attachment
100
+ variant -> { WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID }
101
+
102
+ # Input for an attachment
103
+ variant -> { WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID }
104
+
105
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
106
+ # @!attribute direct_upload_id
107
+ # This ID should be used the first time you upload an attachment. It is the ID of
108
+ # the direct upload that was created when uploading the file to S3 via the
109
+ # mediaDirectUpload mutation.
110
+ #
111
+ # @return [String]
112
+ required :direct_upload_id, String
113
+
114
+ # @!method initialize(direct_upload_id:)
115
+ # Some parameter documentations has been truncated, see
116
+ # {WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID} for
117
+ # more details.
118
+ #
119
+ # Input for an attachment
120
+ #
121
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
122
+ end
123
+
124
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
125
+ # @!attribute id
126
+ # The ID of an existing attachment object. Use this when updating a resource and
127
+ # keeping a subset of the attachments. Don't use this unless you know what you're
128
+ # doing.
129
+ #
130
+ # @return [String]
131
+ required :id, String
132
+
133
+ # @!method initialize(id:)
134
+ # Some parameter documentations has been truncated, see
135
+ # {WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithID} for more
136
+ # details.
137
+ #
138
+ # Input for an attachment
139
+ #
140
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
141
+ end
142
+
143
+ # @!method self.variants
144
+ # @return [Array(WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID, WhopSDK::Models::AppUpdateParams::Icon::AttachmentInputWithID)]
121
145
  end
122
146
 
123
147
  # These are the scopes an app can request on behalf of a user