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
@@ -20,10 +20,20 @@ module WhopSDK
20
20
  T.nilable(T::Array[WhopSDK::PlanCreateParams::CustomField::OrHash]),
21
21
  description: T.nilable(String),
22
22
  expiration_days: T.nilable(Integer),
23
- image: T.nilable(WhopSDK::PlanCreateParams::Image::OrHash),
23
+ image:
24
+ T.nilable(
25
+ T.any(
26
+ WhopSDK::PlanCreateParams::Image::AttachmentInputWithDirectUploadID::OrHash,
27
+ WhopSDK::PlanCreateParams::Image::AttachmentInputWithID::OrHash
28
+ )
29
+ ),
24
30
  initial_price: T.nilable(Float),
25
31
  internal_notes: T.nilable(String),
26
32
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
33
+ payment_method_configuration:
34
+ T.nilable(
35
+ WhopSDK::PlanCreateParams::PaymentMethodConfiguration::OrHash
36
+ ),
27
37
  plan_type: T.nilable(WhopSDK::PlanType::OrSymbol),
28
38
  release_method: T.nilable(WhopSDK::ReleaseMethod::OrSymbol),
29
39
  renewal_price: T.nilable(Float),
@@ -63,7 +73,10 @@ module WhopSDK
63
73
  # Whether or not the tax is included in a plan's price (or if it hasn't been set
64
74
  # up)
65
75
  override_tax_type: nil,
66
- # The type of plan that can be attached to an access pass
76
+ # The explicit payment method configuration for the plan. If not provided, the
77
+ # platform or company's defaults will apply.
78
+ payment_method_configuration: nil,
79
+ # The type of plan that can be attached to a product
67
80
  plan_type: nil,
68
81
  # The methods of how a plan can be released.
69
82
  release_method: nil,
@@ -101,7 +114,11 @@ module WhopSDK
101
114
  request_options: WhopSDK::RequestOptions::OrHash
102
115
  ).returns(WhopSDK::Plan)
103
116
  end
104
- def retrieve(id, request_options: {})
117
+ def retrieve(
118
+ # The ID of the plan
119
+ id,
120
+ request_options: {}
121
+ )
105
122
  end
106
123
 
107
124
  # Update an existing Plan
@@ -120,11 +137,21 @@ module WhopSDK
120
137
  T.nilable(T::Array[WhopSDK::PlanUpdateParams::CustomField::OrHash]),
121
138
  description: T.nilable(String),
122
139
  expiration_days: T.nilable(Integer),
123
- image: T.nilable(WhopSDK::PlanUpdateParams::Image::OrHash),
140
+ image:
141
+ T.nilable(
142
+ T.any(
143
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithDirectUploadID::OrHash,
144
+ WhopSDK::PlanUpdateParams::Image::AttachmentInputWithID::OrHash
145
+ )
146
+ ),
124
147
  initial_price: T.nilable(Float),
125
148
  internal_notes: T.nilable(String),
126
149
  offer_cancel_discount: T.nilable(T::Boolean),
127
150
  override_tax_type: T.nilable(WhopSDK::TaxType::OrSymbol),
151
+ payment_method_configuration:
152
+ T.nilable(
153
+ WhopSDK::PlanUpdateParams::PaymentMethodConfiguration::OrHash
154
+ ),
128
155
  renewal_price: T.nilable(Float),
129
156
  stock: T.nilable(Integer),
130
157
  strike_through_initial_price: T.nilable(Float),
@@ -137,6 +164,7 @@ module WhopSDK
137
164
  ).returns(WhopSDK::Plan)
138
165
  end
139
166
  def update(
167
+ # The ID
140
168
  id,
141
169
  # The interval at which the plan charges (renewal plans).
142
170
  billing_period: nil,
@@ -159,6 +187,9 @@ module WhopSDK
159
187
  # Whether or not the tax is included in a plan's price (or if it hasn't been set
160
188
  # up)
161
189
  override_tax_type: nil,
190
+ # The explicit payment method configuration for the plan. If sent as null, the
191
+ # custom configuration will be removed.
192
+ payment_method_configuration: nil,
162
193
  # The amount the customer is charged every billing period.
163
194
  renewal_price: nil,
164
195
  # The number of units available for purchase.
@@ -244,7 +275,11 @@ module WhopSDK
244
275
  request_options: WhopSDK::RequestOptions::OrHash
245
276
  ).returns(T::Boolean)
246
277
  end
247
- def delete(id, request_options: {})
278
+ def delete(
279
+ # The ID of the plan to delete.
280
+ id,
281
+ request_options: {}
282
+ )
248
283
  end
249
284
 
250
285
  # @api private
@@ -64,7 +64,7 @@ module WhopSDK
64
64
  experience_ids: nil,
65
65
  # The percentage of the revenue that goes to the global affiliate program.
66
66
  global_affiliate_percentage: nil,
67
- # The different statuses of the global affiliate program for an access pass.
67
+ # The different statuses of the global affiliate program for a product.
68
68
  global_affiliate_status: nil,
69
69
  # The headline of the product.
70
70
  headline: nil,
@@ -72,7 +72,7 @@ module WhopSDK
72
72
  industry_type: nil,
73
73
  # The percentage of the revenue that goes to the member affiliate program.
74
74
  member_affiliate_percentage: nil,
75
- # The different statuses of the global affiliate program for an access pass.
75
+ # The different statuses of the global affiliate program for a product.
76
76
  member_affiliate_status: nil,
77
77
  # The details to assign an autogenerated plan.
78
78
  plan_options: nil,
@@ -101,7 +101,11 @@ module WhopSDK
101
101
  request_options: WhopSDK::RequestOptions::OrHash
102
102
  ).returns(WhopSDK::Product)
103
103
  end
104
- def retrieve(id, request_options: {})
104
+ def retrieve(
105
+ # The ID or route of the product
106
+ id,
107
+ request_options: {}
108
+ )
105
109
  end
106
110
 
107
111
  # Updates an existing Product
@@ -114,7 +118,12 @@ module WhopSDK
114
118
  params(
115
119
  id: String,
116
120
  banner_image:
117
- T.nilable(WhopSDK::ProductUpdateParams::BannerImage::OrHash),
121
+ T.nilable(
122
+ T.any(
123
+ WhopSDK::ProductUpdateParams::BannerImage::AttachmentInputWithDirectUploadID::OrHash,
124
+ WhopSDK::ProductUpdateParams::BannerImage::AttachmentInputWithID::OrHash
125
+ )
126
+ ),
118
127
  business_type: T.nilable(WhopSDK::BusinessTypes::OrSymbol),
119
128
  collect_shipping_address: T.nilable(T::Boolean),
120
129
  custom_cta: T.nilable(WhopSDK::CustomCta::OrSymbol),
@@ -140,6 +149,7 @@ module WhopSDK
140
149
  ).returns(WhopSDK::Product)
141
150
  end
142
151
  def update(
152
+ # The ID (tag) of the product
143
153
  id,
144
154
  # A banner image for the product in png, jpeg format
145
155
  banner_image: nil,
@@ -159,7 +169,7 @@ module WhopSDK
159
169
  description: nil,
160
170
  # The percentage of the revenue that goes to the global affiliate program.
161
171
  global_affiliate_percentage: nil,
162
- # The different statuses of the global affiliate program for an access pass.
172
+ # The different statuses of the global affiliate program for a product.
163
173
  global_affiliate_status: nil,
164
174
  # The headline of the product.
165
175
  headline: nil,
@@ -167,7 +177,7 @@ module WhopSDK
167
177
  industry_type: nil,
168
178
  # The percentage of the revenue that goes to the member affiliate program.
169
179
  member_affiliate_percentage: nil,
170
- # The different statuses of the global affiliate program for an access pass.
180
+ # The different statuses of the global affiliate program for a product.
171
181
  member_affiliate_status: nil,
172
182
  # The ID of the product tax code to apply to this product.
173
183
  product_tax_code_id: nil,
@@ -239,7 +249,11 @@ module WhopSDK
239
249
  request_options: WhopSDK::RequestOptions::OrHash
240
250
  ).returns(T::Boolean)
241
251
  end
242
- def delete(id, request_options: {})
252
+ def delete(
253
+ # The internal ID (tag) of the product to delete.
254
+ id,
255
+ request_options: {}
256
+ )
243
257
  end
244
258
 
245
259
  # @api private
@@ -79,7 +79,11 @@ module WhopSDK
79
79
  request_options: WhopSDK::RequestOptions::OrHash
80
80
  ).returns(WhopSDK::PromoCode)
81
81
  end
82
- def retrieve(id, request_options: {})
82
+ def retrieve(
83
+ # The ID of the promo code to retrieve
84
+ id,
85
+ request_options: {}
86
+ )
83
87
  end
84
88
 
85
89
  # Lists promo codes for a company
@@ -135,7 +139,11 @@ module WhopSDK
135
139
  request_options: WhopSDK::RequestOptions::OrHash
136
140
  ).returns(T::Boolean)
137
141
  end
138
- def delete(id, request_options: {})
142
+ def delete(
143
+ # The internal ID of the promo code to archive.
144
+ id,
145
+ request_options: {}
146
+ )
139
147
  end
140
148
 
141
149
  # @api private
@@ -36,7 +36,11 @@ module WhopSDK
36
36
  request_options: WhopSDK::RequestOptions::OrHash
37
37
  ).returns(WhopSDK::Reaction)
38
38
  end
39
- def retrieve(id, request_options: {})
39
+ def retrieve(
40
+ # The ID of the reaction
41
+ id,
42
+ request_options: {}
43
+ )
40
44
  end
41
45
 
42
46
  # Lists reactions for a post or a message
@@ -10,7 +10,11 @@ module WhopSDK
10
10
  request_options: WhopSDK::RequestOptions::OrHash
11
11
  ).returns(WhopSDK::Models::ReviewRetrieveResponse)
12
12
  end
13
- def retrieve(id, request_options: {})
13
+ def retrieve(
14
+ # The ID of the review
15
+ id,
16
+ request_options: {}
17
+ )
14
18
  end
15
19
 
16
20
  # List all reviews
@@ -40,7 +40,11 @@ module WhopSDK
40
40
  request_options: WhopSDK::RequestOptions::OrHash
41
41
  ).returns(WhopSDK::Shipment)
42
42
  end
43
- def retrieve(id, request_options: {})
43
+ def retrieve(
44
+ # The ID of the shipment
45
+ id,
46
+ request_options: {}
47
+ )
44
48
  end
45
49
 
46
50
  # Lists shipments for a payment
@@ -36,7 +36,11 @@ module WhopSDK
36
36
  request_options: WhopSDK::RequestOptions::OrHash
37
37
  ).returns(WhopSDK::SupportChannel)
38
38
  end
39
- def retrieve(id, request_options: {})
39
+ def retrieve(
40
+ # The ID of the support channel to fetch
41
+ id,
42
+ request_options: {}
43
+ )
40
44
  end
41
45
 
42
46
  # Lists chat channels inside a company
@@ -15,6 +15,7 @@ module WhopSDK
15
15
  destination_id: String,
16
16
  origin_id: String,
17
17
  idempotence_key: T.nilable(String),
18
+ metadata: T.nilable(T::Hash[Symbol, T.anything]),
18
19
  notes: T.nilable(String),
19
20
  request_options: WhopSDK::RequestOptions::OrHash
20
21
  ).returns(WhopSDK::Transfer)
@@ -32,6 +33,8 @@ module WhopSDK
32
33
  origin_id:,
33
34
  # A unique key to ensure idempotence. Use a UUID or similar.
34
35
  idempotence_key: nil,
36
+ # A hash of metadata to attach to the transfer.
37
+ metadata: nil,
35
38
  # Notes for the transfer. Maximum of 50 characters.
36
39
  notes: nil,
37
40
  request_options: {}
@@ -49,7 +52,11 @@ module WhopSDK
49
52
  request_options: WhopSDK::RequestOptions::OrHash
50
53
  ).returns(WhopSDK::Transfer)
51
54
  end
52
- def retrieve(id, request_options: {})
55
+ def retrieve(
56
+ # The ID of the transfer
57
+ id,
58
+ request_options: {}
59
+ )
53
60
  end
54
61
 
55
62
  # Lists transfers
@@ -10,7 +10,11 @@ module WhopSDK
10
10
  request_options: WhopSDK::RequestOptions::OrHash
11
11
  ).returns(WhopSDK::Models::UserRetrieveResponse)
12
12
  end
13
- def retrieve(id, request_options: {})
13
+ def retrieve(
14
+ # The ID (user_xxx) or username of the user
15
+ id,
16
+ request_options: {}
17
+ )
14
18
  end
15
19
 
16
20
  # Check if a user has access (and their access level) to a resource
@@ -21,7 +25,14 @@ module WhopSDK
21
25
  request_options: WhopSDK::RequestOptions::OrHash
22
26
  ).returns(WhopSDK::Models::UserCheckAccessResponse)
23
27
  end
24
- def check_access(resource_id, id:, request_options: {})
28
+ def check_access(
29
+ # The ID of the resource. Can be a company (biz_xxx), product (prod_xxx), or
30
+ # experience (exp_xxx)
31
+ resource_id,
32
+ # The ID (user_xxx) or username of the user
33
+ id:,
34
+ request_options: {}
35
+ )
25
36
  end
26
37
 
27
38
  # @api private
@@ -72,6 +72,10 @@ module WhopSDK
72
72
 
73
73
  attr_reader reviews: WhopSDK::Resources::Reviews
74
74
 
75
+ attr_reader course_students: WhopSDK::Resources::CourseStudents
76
+
77
+ attr_reader access_tokens: WhopSDK::Resources::AccessTokens
78
+
75
79
  private def auth_headers: -> ::Hash[String, String]
76
80
 
77
81
  def initialize: (
@@ -87,6 +87,8 @@ module WhopSDK
87
87
 
88
88
  private def auth_headers: -> ::Hash[String, String]
89
89
 
90
+ private def user_agent: -> String
91
+
90
92
  private def generate_idempotency_key: -> String
91
93
 
92
94
  private def build_request: (
@@ -17,7 +17,10 @@ module WhopSDK
17
17
 
18
18
  DEFAULT_MAX_CONNECTIONS: Integer
19
19
 
20
- def self.connect: (URI::Generic url) -> top
20
+ def self.connect: (
21
+ cert_store: OpenSSL::X509::Store,
22
+ url: URI::Generic
23
+ ) -> top
21
24
 
22
25
  def self.calibrate_socket_timeout: (top conn, Float deadline) -> void
23
26
 
@@ -0,0 +1,56 @@
1
+ module WhopSDK
2
+ module Models
3
+ type access_token_create_params =
4
+ {
5
+ scoped_actions: ::Array[String],
6
+ target_resource_id: String,
7
+ target_resource_type: WhopSDK::Models::AccessTokenCreateParams::target_resource_type,
8
+ expires_at: Time?
9
+ }
10
+ & WhopSDK::Internal::Type::request_parameters
11
+
12
+ class AccessTokenCreateParams < WhopSDK::Internal::Type::BaseModel
13
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
14
+ include WhopSDK::Internal::Type::RequestParameters
15
+
16
+ attr_accessor scoped_actions: ::Array[String]
17
+
18
+ attr_accessor target_resource_id: String
19
+
20
+ attr_accessor target_resource_type: WhopSDK::Models::AccessTokenCreateParams::target_resource_type
21
+
22
+ attr_accessor expires_at: Time?
23
+
24
+ def initialize: (
25
+ scoped_actions: ::Array[String],
26
+ target_resource_id: String,
27
+ target_resource_type: WhopSDK::Models::AccessTokenCreateParams::target_resource_type,
28
+ ?expires_at: Time?,
29
+ ?request_options: WhopSDK::request_opts
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ scoped_actions: ::Array[String],
34
+ target_resource_id: String,
35
+ target_resource_type: WhopSDK::Models::AccessTokenCreateParams::target_resource_type,
36
+ expires_at: Time?,
37
+ request_options: WhopSDK::RequestOptions
38
+ }
39
+
40
+ type target_resource_type =
41
+ :company | :product | :experience | :app | :user
42
+
43
+ module TargetResourceType
44
+ extend WhopSDK::Internal::Type::Enum
45
+
46
+ COMPANY: :company
47
+ PRODUCT: :product
48
+ EXPERIENCE: :experience
49
+ APP: :app
50
+ USER: :user
51
+
52
+ def self?.values: -> ::Array[WhopSDK::Models::AccessTokenCreateParams::target_resource_type]
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,15 @@
1
+ module WhopSDK
2
+ module Models
3
+ type access_token_create_response = { token: String, expires_at: Time }
4
+
5
+ class AccessTokenCreateResponse < WhopSDK::Internal::Type::BaseModel
6
+ attr_accessor token: String
7
+
8
+ attr_accessor expires_at: Time
9
+
10
+ def initialize: (token: String, expires_at: Time) -> void
11
+
12
+ def to_hash: -> { token: String, expires_at: Time }
13
+ end
14
+ end
15
+ end
@@ -2,7 +2,7 @@ module WhopSDK
2
2
  module Models
3
3
  type app_build_create_params =
4
4
  {
5
- attachment: WhopSDK::AppBuildCreateParams::Attachment,
5
+ attachment: WhopSDK::Models::AppBuildCreateParams::attachment,
6
6
  checksum: String,
7
7
  platform: WhopSDK::Models::app_build_platforms,
8
8
  app_id: String?,
@@ -14,7 +14,7 @@ module WhopSDK
14
14
  extend WhopSDK::Internal::Type::RequestParameters::Converter
15
15
  include WhopSDK::Internal::Type::RequestParameters
16
16
 
17
- attr_accessor attachment: WhopSDK::AppBuildCreateParams::Attachment
17
+ attr_accessor attachment: WhopSDK::Models::AppBuildCreateParams::attachment
18
18
 
19
19
  attr_accessor checksum: String
20
20
 
@@ -25,7 +25,7 @@ module WhopSDK
25
25
  attr_accessor supported_app_view_types: ::Array[WhopSDK::Models::app_view_type]?
26
26
 
27
27
  def initialize: (
28
- attachment: WhopSDK::AppBuildCreateParams::Attachment,
28
+ attachment: WhopSDK::Models::AppBuildCreateParams::attachment,
29
29
  checksum: String,
30
30
  platform: WhopSDK::Models::app_build_platforms,
31
31
  ?app_id: String?,
@@ -34,7 +34,7 @@ module WhopSDK
34
34
  ) -> void
35
35
 
36
36
  def to_hash: -> {
37
- attachment: WhopSDK::AppBuildCreateParams::Attachment,
37
+ attachment: WhopSDK::Models::AppBuildCreateParams::attachment,
38
38
  checksum: String,
39
39
  platform: WhopSDK::Models::app_build_platforms,
40
40
  app_id: String?,
@@ -42,16 +42,35 @@ module WhopSDK
42
42
  request_options: WhopSDK::RequestOptions
43
43
  }
44
44
 
45
- type attachment = { id: String?, direct_upload_id: String? }
45
+ type attachment =
46
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID
47
+ | WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID
46
48
 
47
- class Attachment < WhopSDK::Internal::Type::BaseModel
48
- attr_accessor id: String?
49
+ module Attachment
50
+ extend WhopSDK::Internal::Type::Union
49
51
 
50
- attr_accessor direct_upload_id: String?
52
+ type attachment_input_with_direct_upload_id =
53
+ { direct_upload_id: String }
51
54
 
52
- def initialize: (?id: String?, ?direct_upload_id: String?) -> void
55
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
56
+ attr_accessor direct_upload_id: String
53
57
 
54
- def to_hash: -> { id: String?, direct_upload_id: String? }
58
+ def initialize: (direct_upload_id: String) -> void
59
+
60
+ def to_hash: -> { direct_upload_id: String }
61
+ end
62
+
63
+ type attachment_input_with_id = { id: String }
64
+
65
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
66
+ attr_accessor id: String
67
+
68
+ def initialize: (id: String) -> void
69
+
70
+ def to_hash: -> { id: String }
71
+ end
72
+
73
+ def self?.variants: -> ::Array[WhopSDK::Models::AppBuildCreateParams::attachment]
55
74
  end
56
75
  end
57
76
  end
@@ -8,7 +8,7 @@ module WhopSDK
8
8
  description: String?,
9
9
  discover_path: String?,
10
10
  experience_path: String?,
11
- icon: WhopSDK::AppUpdateParams::Icon?,
11
+ icon: WhopSDK::Models::AppUpdateParams::icon?,
12
12
  name: String?,
13
13
  required_scopes: ::Array[WhopSDK::Models::AppUpdateParams::required_scope]?,
14
14
  status: WhopSDK::Models::app_statuses?
@@ -31,7 +31,7 @@ module WhopSDK
31
31
 
32
32
  attr_accessor experience_path: String?
33
33
 
34
- attr_accessor icon: WhopSDK::AppUpdateParams::Icon?
34
+ attr_accessor icon: WhopSDK::Models::AppUpdateParams::icon?
35
35
 
36
36
  attr_accessor name: String?
37
37
 
@@ -46,7 +46,7 @@ module WhopSDK
46
46
  ?description: String?,
47
47
  ?discover_path: String?,
48
48
  ?experience_path: String?,
49
- ?icon: WhopSDK::AppUpdateParams::Icon?,
49
+ ?icon: WhopSDK::Models::AppUpdateParams::icon?,
50
50
  ?name: String?,
51
51
  ?required_scopes: ::Array[WhopSDK::Models::AppUpdateParams::required_scope]?,
52
52
  ?status: WhopSDK::Models::app_statuses?,
@@ -60,23 +60,42 @@ module WhopSDK
60
60
  description: String?,
61
61
  discover_path: String?,
62
62
  experience_path: String?,
63
- icon: WhopSDK::AppUpdateParams::Icon?,
63
+ icon: WhopSDK::Models::AppUpdateParams::icon?,
64
64
  name: String?,
65
65
  required_scopes: ::Array[WhopSDK::Models::AppUpdateParams::required_scope]?,
66
66
  status: WhopSDK::Models::app_statuses?,
67
67
  request_options: WhopSDK::RequestOptions
68
68
  }
69
69
 
70
- type icon = { id: String?, direct_upload_id: String? }
70
+ type icon =
71
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID
72
+ | WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID
71
73
 
72
- class Icon < WhopSDK::Internal::Type::BaseModel
73
- attr_accessor id: String?
74
+ module Icon
75
+ extend WhopSDK::Internal::Type::Union
74
76
 
75
- attr_accessor direct_upload_id: String?
77
+ type attachment_input_with_direct_upload_id =
78
+ { direct_upload_id: String }
76
79
 
77
- def initialize: (?id: String?, ?direct_upload_id: String?) -> void
80
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
81
+ attr_accessor direct_upload_id: String
78
82
 
79
- def to_hash: -> { id: String?, direct_upload_id: String? }
83
+ def initialize: (direct_upload_id: String) -> void
84
+
85
+ def to_hash: -> { direct_upload_id: String }
86
+ end
87
+
88
+ type attachment_input_with_id = { id: String }
89
+
90
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
91
+ attr_accessor id: String
92
+
93
+ def initialize: (id: String) -> void
94
+
95
+ def to_hash: -> { id: String }
96
+ end
97
+
98
+ def self?.variants: -> ::Array[WhopSDK::Models::AppUpdateParams::icon]
80
99
  end
81
100
 
82
101
  type required_scope = :read_user