whop_sdk 0.0.2

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 (708) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +116 -0
  4. data/README.md +266 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/whop_sdk/client.rb +212 -0
  7. data/lib/whop_sdk/errors.rb +228 -0
  8. data/lib/whop_sdk/file_part.rb +58 -0
  9. data/lib/whop_sdk/helpers/verify_user_token.rb +102 -0
  10. data/lib/whop_sdk/internal/cursor_page.rb +101 -0
  11. data/lib/whop_sdk/internal/transport/base_client.rb +567 -0
  12. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +198 -0
  13. data/lib/whop_sdk/internal/type/array_of.rb +168 -0
  14. data/lib/whop_sdk/internal/type/base_model.rb +531 -0
  15. data/lib/whop_sdk/internal/type/base_page.rb +55 -0
  16. data/lib/whop_sdk/internal/type/boolean.rb +77 -0
  17. data/lib/whop_sdk/internal/type/converter.rb +327 -0
  18. data/lib/whop_sdk/internal/type/enum.rb +156 -0
  19. data/lib/whop_sdk/internal/type/file_input.rb +111 -0
  20. data/lib/whop_sdk/internal/type/hash_of.rb +188 -0
  21. data/lib/whop_sdk/internal/type/request_parameters.rb +42 -0
  22. data/lib/whop_sdk/internal/type/union.rb +250 -0
  23. data/lib/whop_sdk/internal/type/unknown.rb +81 -0
  24. data/lib/whop_sdk/internal/util.rb +915 -0
  25. data/lib/whop_sdk/internal.rb +20 -0
  26. data/lib/whop_sdk/models/access_level.rb +17 -0
  27. data/lib/whop_sdk/models/access_pass_type.rb +18 -0
  28. data/lib/whop_sdk/models/app.rb +351 -0
  29. data/lib/whop_sdk/models/app_build.rb +88 -0
  30. data/lib/whop_sdk/models/app_build_create_params.rb +95 -0
  31. data/lib/whop_sdk/models/app_build_list_params.rb +70 -0
  32. data/lib/whop_sdk/models/app_build_list_response.rb +89 -0
  33. data/lib/whop_sdk/models/app_build_platforms.rb +17 -0
  34. data/lib/whop_sdk/models/app_build_promote_params.rb +14 -0
  35. data/lib/whop_sdk/models/app_build_retrieve_params.rb +14 -0
  36. data/lib/whop_sdk/models/app_build_statuses.rb +18 -0
  37. data/lib/whop_sdk/models/app_create_params.rb +38 -0
  38. data/lib/whop_sdk/models/app_list_params.rb +112 -0
  39. data/lib/whop_sdk/models/app_list_response.rb +200 -0
  40. data/lib/whop_sdk/models/app_retrieve_params.rb +14 -0
  41. data/lib/whop_sdk/models/app_statuses.rb +17 -0
  42. data/lib/whop_sdk/models/app_update_params.rb +134 -0
  43. data/lib/whop_sdk/models/app_view_type.rb +19 -0
  44. data/lib/whop_sdk/models/authorized_user_list_params.rb +70 -0
  45. data/lib/whop_sdk/models/authorized_user_list_response.rb +73 -0
  46. data/lib/whop_sdk/models/authorized_user_retrieve_params.rb +14 -0
  47. data/lib/whop_sdk/models/authorized_user_retrieve_response.rb +73 -0
  48. data/lib/whop_sdk/models/authorized_user_roles.rb +21 -0
  49. data/lib/whop_sdk/models/business_types.rb +28 -0
  50. data/lib/whop_sdk/models/chat_channel.rb +96 -0
  51. data/lib/whop_sdk/models/chat_channel_list_params.rb +62 -0
  52. data/lib/whop_sdk/models/chat_channel_list_response.rb +97 -0
  53. data/lib/whop_sdk/models/chat_channel_retrieve_params.rb +14 -0
  54. data/lib/whop_sdk/models/chat_channel_update_params.rb +62 -0
  55. data/lib/whop_sdk/models/checkout_configuration.rb +156 -0
  56. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +293 -0
  57. data/lib/whop_sdk/models/checkout_configuration_list_params.rb +70 -0
  58. data/lib/whop_sdk/models/checkout_configuration_list_response.rb +157 -0
  59. data/lib/whop_sdk/models/checkout_configuration_retrieve_params.rb +14 -0
  60. data/lib/whop_sdk/models/collection_method.rb +16 -0
  61. data/lib/whop_sdk/models/company.rb +218 -0
  62. data/lib/whop_sdk/models/company_retrieve_params.rb +14 -0
  63. data/lib/whop_sdk/models/course_lesson_interaction.rb +154 -0
  64. data/lib/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rb +48 -0
  65. data/lib/whop_sdk/models/course_lesson_interaction_list_item.rb +102 -0
  66. data/lib/whop_sdk/models/course_lesson_interaction_list_params.rb +78 -0
  67. data/lib/whop_sdk/models/course_lesson_interaction_retrieve_params.rb +14 -0
  68. data/lib/whop_sdk/models/currency.rb +98 -0
  69. data/lib/whop_sdk/models/custom_cta.rb +27 -0
  70. data/lib/whop_sdk/models/direction.rb +16 -0
  71. data/lib/whop_sdk/models/dms_post_types.rb +17 -0
  72. data/lib/whop_sdk/models/email_notification_preferences.rb +17 -0
  73. data/lib/whop_sdk/models/entry.rb +171 -0
  74. data/lib/whop_sdk/models/entry_approve_params.rb +14 -0
  75. data/lib/whop_sdk/models/entry_approve_response.rb +19 -0
  76. data/lib/whop_sdk/models/entry_approved_webhook_event.rb +48 -0
  77. data/lib/whop_sdk/models/entry_created_webhook_event.rb +48 -0
  78. data/lib/whop_sdk/models/entry_deleted_webhook_event.rb +48 -0
  79. data/lib/whop_sdk/models/entry_denied_webhook_event.rb +48 -0
  80. data/lib/whop_sdk/models/entry_deny_params.rb +14 -0
  81. data/lib/whop_sdk/models/entry_list_params.rb +105 -0
  82. data/lib/whop_sdk/models/entry_list_response.rb +133 -0
  83. data/lib/whop_sdk/models/entry_retrieve_params.rb +14 -0
  84. data/lib/whop_sdk/models/entry_status.rb +19 -0
  85. data/lib/whop_sdk/models/experience.rb +210 -0
  86. data/lib/whop_sdk/models/experience_attach_params.rb +22 -0
  87. data/lib/whop_sdk/models/experience_create_params.rb +46 -0
  88. data/lib/whop_sdk/models/experience_delete_params.rb +14 -0
  89. data/lib/whop_sdk/models/experience_delete_response.rb +8 -0
  90. data/lib/whop_sdk/models/experience_detach_params.rb +22 -0
  91. data/lib/whop_sdk/models/experience_list_params.rb +70 -0
  92. data/lib/whop_sdk/models/experience_list_response.rb +168 -0
  93. data/lib/whop_sdk/models/experience_retrieve_params.rb +14 -0
  94. data/lib/whop_sdk/models/experience_update_params.rb +93 -0
  95. data/lib/whop_sdk/models/forum.rb +72 -0
  96. data/lib/whop_sdk/models/forum_list_params.rb +62 -0
  97. data/lib/whop_sdk/models/forum_list_response.rb +73 -0
  98. data/lib/whop_sdk/models/forum_post.rb +128 -0
  99. data/lib/whop_sdk/models/forum_post_create_params.rb +166 -0
  100. data/lib/whop_sdk/models/forum_post_list_params.rb +70 -0
  101. data/lib/whop_sdk/models/forum_post_list_response.rb +129 -0
  102. data/lib/whop_sdk/models/forum_post_retrieve_params.rb +14 -0
  103. data/lib/whop_sdk/models/forum_retrieve_params.rb +14 -0
  104. data/lib/whop_sdk/models/forum_update_params.rb +38 -0
  105. data/lib/whop_sdk/models/friendly_receipt_status.rb +30 -0
  106. data/lib/whop_sdk/models/global_affiliate_status.rb +16 -0
  107. data/lib/whop_sdk/models/industry_types.rb +73 -0
  108. data/lib/whop_sdk/models/invoice.rb +142 -0
  109. data/lib/whop_sdk/models/invoice_create_params.rb +288 -0
  110. data/lib/whop_sdk/models/invoice_create_response.rb +27 -0
  111. data/lib/whop_sdk/models/invoice_created_webhook_event.rb +48 -0
  112. data/lib/whop_sdk/models/invoice_list_item.rb +142 -0
  113. data/lib/whop_sdk/models/invoice_list_params.rb +121 -0
  114. data/lib/whop_sdk/models/invoice_paid_webhook_event.rb +48 -0
  115. data/lib/whop_sdk/models/invoice_past_due_webhook_event.rb +48 -0
  116. data/lib/whop_sdk/models/invoice_retrieve_params.rb +14 -0
  117. data/lib/whop_sdk/models/invoice_status.rb +18 -0
  118. data/lib/whop_sdk/models/invoice_void_params.rb +14 -0
  119. data/lib/whop_sdk/models/invoice_void_response.rb +8 -0
  120. data/lib/whop_sdk/models/invoice_voided_webhook_event.rb +48 -0
  121. data/lib/whop_sdk/models/ledger_account_retrieve_params.rb +14 -0
  122. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +242 -0
  123. data/lib/whop_sdk/models/member_list_params.rb +162 -0
  124. data/lib/whop_sdk/models/member_list_response.rb +145 -0
  125. data/lib/whop_sdk/models/member_most_recent_actions.rb +28 -0
  126. data/lib/whop_sdk/models/member_retrieve_params.rb +14 -0
  127. data/lib/whop_sdk/models/member_retrieve_response.rb +183 -0
  128. data/lib/whop_sdk/models/member_statuses.rb +17 -0
  129. data/lib/whop_sdk/models/membership.rb +264 -0
  130. data/lib/whop_sdk/models/membership_activated_webhook_event.rb +52 -0
  131. data/lib/whop_sdk/models/membership_cancel_params.rb +33 -0
  132. data/lib/whop_sdk/models/membership_deactivated_webhook_event.rb +52 -0
  133. data/lib/whop_sdk/models/membership_list_params.rb +160 -0
  134. data/lib/whop_sdk/models/membership_list_response.rb +265 -0
  135. data/lib/whop_sdk/models/membership_pause_params.rb +26 -0
  136. data/lib/whop_sdk/models/membership_resume_params.rb +14 -0
  137. data/lib/whop_sdk/models/membership_retrieve_params.rb +14 -0
  138. data/lib/whop_sdk/models/membership_status.rb +22 -0
  139. data/lib/whop_sdk/models/membership_update_params.rb +22 -0
  140. data/lib/whop_sdk/models/message.rb +221 -0
  141. data/lib/whop_sdk/models/message_create_params.rb +110 -0
  142. data/lib/whop_sdk/models/message_list_params.rb +62 -0
  143. data/lib/whop_sdk/models/message_list_response.rb +226 -0
  144. data/lib/whop_sdk/models/message_retrieve_params.rb +14 -0
  145. data/lib/whop_sdk/models/page_info.rb +42 -0
  146. data/lib/whop_sdk/models/payment.rb +534 -0
  147. data/lib/whop_sdk/models/payment_failed_webhook_event.rb +48 -0
  148. data/lib/whop_sdk/models/payment_list_params.rb +173 -0
  149. data/lib/whop_sdk/models/payment_list_response.rb +535 -0
  150. data/lib/whop_sdk/models/payment_pending_webhook_event.rb +48 -0
  151. data/lib/whop_sdk/models/payment_refund_params.rb +22 -0
  152. data/lib/whop_sdk/models/payment_retrieve_params.rb +14 -0
  153. data/lib/whop_sdk/models/payment_retry_params.rb +14 -0
  154. data/lib/whop_sdk/models/payment_succeeded_webhook_event.rb +48 -0
  155. data/lib/whop_sdk/models/payment_void_params.rb +14 -0
  156. data/lib/whop_sdk/models/plan.rb +297 -0
  157. data/lib/whop_sdk/models/plan_create_params.rb +238 -0
  158. data/lib/whop_sdk/models/plan_delete_params.rb +14 -0
  159. data/lib/whop_sdk/models/plan_delete_response.rb +8 -0
  160. data/lib/whop_sdk/models/plan_list_params.rb +120 -0
  161. data/lib/whop_sdk/models/plan_list_response.rb +221 -0
  162. data/lib/whop_sdk/models/plan_retrieve_params.rb +14 -0
  163. data/lib/whop_sdk/models/plan_type.rb +16 -0
  164. data/lib/whop_sdk/models/plan_update_params.rb +211 -0
  165. data/lib/whop_sdk/models/product.rb +303 -0
  166. data/lib/whop_sdk/models/product_create_params.rb +406 -0
  167. data/lib/whop_sdk/models/product_delete_params.rb +14 -0
  168. data/lib/whop_sdk/models/product_delete_response.rb +8 -0
  169. data/lib/whop_sdk/models/product_list_item.rb +106 -0
  170. data/lib/whop_sdk/models/product_list_params.rb +103 -0
  171. data/lib/whop_sdk/models/product_retrieve_params.rb +14 -0
  172. data/lib/whop_sdk/models/product_update_params.rb +192 -0
  173. data/lib/whop_sdk/models/promo_type.rb +16 -0
  174. data/lib/whop_sdk/models/reaction.rb +72 -0
  175. data/lib/whop_sdk/models/reaction_create_params.rb +34 -0
  176. data/lib/whop_sdk/models/reaction_list_params.rb +54 -0
  177. data/lib/whop_sdk/models/reaction_list_response.rb +73 -0
  178. data/lib/whop_sdk/models/reaction_retrieve_params.rb +14 -0
  179. data/lib/whop_sdk/models/receipt_status.rb +21 -0
  180. data/lib/whop_sdk/models/release_method.rb +16 -0
  181. data/lib/whop_sdk/models/shipment.rb +104 -0
  182. data/lib/whop_sdk/models/shipment_carrier.rb +90 -0
  183. data/lib/whop_sdk/models/shipment_create_params.rb +38 -0
  184. data/lib/whop_sdk/models/shipment_list_params.rb +70 -0
  185. data/lib/whop_sdk/models/shipment_list_response.rb +105 -0
  186. data/lib/whop_sdk/models/shipment_retrieve_params.rb +14 -0
  187. data/lib/whop_sdk/models/shipment_status.rb +24 -0
  188. data/lib/whop_sdk/models/shipment_substatus.rb +42 -0
  189. data/lib/whop_sdk/models/support_channel.rb +88 -0
  190. data/lib/whop_sdk/models/support_channel_create_params.rb +30 -0
  191. data/lib/whop_sdk/models/support_channel_list_params.rb +94 -0
  192. data/lib/whop_sdk/models/support_channel_list_response.rb +89 -0
  193. data/lib/whop_sdk/models/support_channel_retrieve_params.rb +14 -0
  194. data/lib/whop_sdk/models/tax_type.rb +18 -0
  195. data/lib/whop_sdk/models/transfer.rb +274 -0
  196. data/lib/whop_sdk/models/transfer_create_params.rb +67 -0
  197. data/lib/whop_sdk/models/transfer_list_params.rb +94 -0
  198. data/lib/whop_sdk/models/transfer_list_response.rb +75 -0
  199. data/lib/whop_sdk/models/transfer_retrieve_params.rb +14 -0
  200. data/lib/whop_sdk/models/unwrap_webhook_event.rb +40 -0
  201. data/lib/whop_sdk/models/user_check_access_params.rb +20 -0
  202. data/lib/whop_sdk/models/user_check_access_response.rb +27 -0
  203. data/lib/whop_sdk/models/user_retrieve_params.rb +14 -0
  204. data/lib/whop_sdk/models/user_retrieve_response.rb +77 -0
  205. data/lib/whop_sdk/models/visibility.rb +18 -0
  206. data/lib/whop_sdk/models/visibility_filter.rb +21 -0
  207. data/lib/whop_sdk/models/webhook_unwrap_params.rb +14 -0
  208. data/lib/whop_sdk/models/who_can_comment_types.rb +16 -0
  209. data/lib/whop_sdk/models/who_can_post.rb +16 -0
  210. data/lib/whop_sdk/models/who_can_post_types.rb +16 -0
  211. data/lib/whop_sdk/models/who_can_react.rb +16 -0
  212. data/lib/whop_sdk/models.rb +356 -0
  213. data/lib/whop_sdk/request_options.rb +77 -0
  214. data/lib/whop_sdk/resources/app_builds.rb +136 -0
  215. data/lib/whop_sdk/resources/apps.rb +153 -0
  216. data/lib/whop_sdk/resources/authorized_users.rb +78 -0
  217. data/lib/whop_sdk/resources/chat_channels.rb +112 -0
  218. data/lib/whop_sdk/resources/checkout_configurations.rb +111 -0
  219. data/lib/whop_sdk/resources/companies.rb +37 -0
  220. data/lib/whop_sdk/resources/course_lesson_interactions.rb +80 -0
  221. data/lib/whop_sdk/resources/entries.rb +132 -0
  222. data/lib/whop_sdk/resources/experiences.rb +215 -0
  223. data/lib/whop_sdk/resources/forum_posts.rb +123 -0
  224. data/lib/whop_sdk/resources/forums.rb +106 -0
  225. data/lib/whop_sdk/resources/invoices.rb +153 -0
  226. data/lib/whop_sdk/resources/ledger_accounts.rb +37 -0
  227. data/lib/whop_sdk/resources/members.rb +101 -0
  228. data/lib/whop_sdk/resources/memberships.rb +205 -0
  229. data/lib/whop_sdk/resources/messages.rb +106 -0
  230. data/lib/whop_sdk/resources/payments.rb +198 -0
  231. data/lib/whop_sdk/resources/plans.rb +223 -0
  232. data/lib/whop_sdk/resources/products.rb +245 -0
  233. data/lib/whop_sdk/resources/reactions.rb +103 -0
  234. data/lib/whop_sdk/resources/shipments.rb +109 -0
  235. data/lib/whop_sdk/resources/support_channels.rb +110 -0
  236. data/lib/whop_sdk/resources/transfers.rb +120 -0
  237. data/lib/whop_sdk/resources/users.rb +58 -0
  238. data/lib/whop_sdk/resources/webhooks.rb +22 -0
  239. data/lib/whop_sdk/version.rb +5 -0
  240. data/lib/whop_sdk.rb +266 -0
  241. data/manifest.yaml +15 -0
  242. data/rbi/whop_sdk/client.rbi +129 -0
  243. data/rbi/whop_sdk/errors.rbi +205 -0
  244. data/rbi/whop_sdk/file_part.rbi +37 -0
  245. data/rbi/whop_sdk/internal/cursor_page.rbi +40 -0
  246. data/rbi/whop_sdk/internal/transport/base_client.rbi +292 -0
  247. data/rbi/whop_sdk/internal/transport/pooled_net_requester.rbi +79 -0
  248. data/rbi/whop_sdk/internal/type/array_of.rbi +104 -0
  249. data/rbi/whop_sdk/internal/type/base_model.rbi +302 -0
  250. data/rbi/whop_sdk/internal/type/base_page.rbi +42 -0
  251. data/rbi/whop_sdk/internal/type/boolean.rbi +58 -0
  252. data/rbi/whop_sdk/internal/type/converter.rbi +216 -0
  253. data/rbi/whop_sdk/internal/type/enum.rbi +82 -0
  254. data/rbi/whop_sdk/internal/type/file_input.rbi +59 -0
  255. data/rbi/whop_sdk/internal/type/hash_of.rbi +104 -0
  256. data/rbi/whop_sdk/internal/type/request_parameters.rbi +29 -0
  257. data/rbi/whop_sdk/internal/type/union.rbi +128 -0
  258. data/rbi/whop_sdk/internal/type/unknown.rbi +58 -0
  259. data/rbi/whop_sdk/internal/util.rbi +484 -0
  260. data/rbi/whop_sdk/internal.rbi +16 -0
  261. data/rbi/whop_sdk/models/access_level.rbi +21 -0
  262. data/rbi/whop_sdk/models/access_pass_type.rbi +23 -0
  263. data/rbi/whop_sdk/models/app.rbi +487 -0
  264. data/rbi/whop_sdk/models/app_build.rbi +107 -0
  265. data/rbi/whop_sdk/models/app_build_create_params.rbi +147 -0
  266. data/rbi/whop_sdk/models/app_build_list_params.rbi +91 -0
  267. data/rbi/whop_sdk/models/app_build_list_response.rbi +112 -0
  268. data/rbi/whop_sdk/models/app_build_platforms.rbi +23 -0
  269. data/rbi/whop_sdk/models/app_build_promote_params.rbi +27 -0
  270. data/rbi/whop_sdk/models/app_build_retrieve_params.rbi +27 -0
  271. data/rbi/whop_sdk/models/app_build_statuses.rbi +24 -0
  272. data/rbi/whop_sdk/models/app_create_params.rbi +59 -0
  273. data/rbi/whop_sdk/models/app_list_params.rbi +154 -0
  274. data/rbi/whop_sdk/models/app_list_response.rbi +280 -0
  275. data/rbi/whop_sdk/models/app_retrieve_params.rbi +27 -0
  276. data/rbi/whop_sdk/models/app_statuses.rbi +21 -0
  277. data/rbi/whop_sdk/models/app_update_params.rbi +201 -0
  278. data/rbi/whop_sdk/models/app_view_type.rbi +23 -0
  279. data/rbi/whop_sdk/models/authorized_user_list_params.rbi +91 -0
  280. data/rbi/whop_sdk/models/authorized_user_list_response.rbi +124 -0
  281. data/rbi/whop_sdk/models/authorized_user_retrieve_params.rbi +30 -0
  282. data/rbi/whop_sdk/models/authorized_user_retrieve_response.rbi +124 -0
  283. data/rbi/whop_sdk/models/authorized_user_roles.rbi +30 -0
  284. data/rbi/whop_sdk/models/business_types.rbi +36 -0
  285. data/rbi/whop_sdk/models/chat_channel.rbi +124 -0
  286. data/rbi/whop_sdk/models/chat_channel_list_params.rbi +83 -0
  287. data/rbi/whop_sdk/models/chat_channel_list_response.rbi +138 -0
  288. data/rbi/whop_sdk/models/chat_channel_retrieve_params.rbi +27 -0
  289. data/rbi/whop_sdk/models/chat_channel_update_params.rbi +83 -0
  290. data/rbi/whop_sdk/models/checkout_configuration.rbi +201 -0
  291. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +427 -0
  292. data/rbi/whop_sdk/models/checkout_configuration_list_params.rbi +94 -0
  293. data/rbi/whop_sdk/models/checkout_configuration_list_response.rbi +209 -0
  294. data/rbi/whop_sdk/models/checkout_configuration_retrieve_params.rbi +30 -0
  295. data/rbi/whop_sdk/models/collection_method.rbi +24 -0
  296. data/rbi/whop_sdk/models/company.rbi +307 -0
  297. data/rbi/whop_sdk/models/company_retrieve_params.rbi +27 -0
  298. data/rbi/whop_sdk/models/course_lesson_interaction.rbi +256 -0
  299. data/rbi/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rbi +75 -0
  300. data/rbi/whop_sdk/models/course_lesson_interaction_list_item.rbi +165 -0
  301. data/rbi/whop_sdk/models/course_lesson_interaction_list_params.rbi +102 -0
  302. data/rbi/whop_sdk/models/course_lesson_interaction_retrieve_params.rbi +30 -0
  303. data/rbi/whop_sdk/models/currency.rbi +102 -0
  304. data/rbi/whop_sdk/models/custom_cta.rbi +31 -0
  305. data/rbi/whop_sdk/models/direction.rbi +20 -0
  306. data/rbi/whop_sdk/models/dms_post_types.rbi +21 -0
  307. data/rbi/whop_sdk/models/email_notification_preferences.rbi +34 -0
  308. data/rbi/whop_sdk/models/entry.rbi +248 -0
  309. data/rbi/whop_sdk/models/entry_approve_params.rbi +27 -0
  310. data/rbi/whop_sdk/models/entry_approve_response.rbi +31 -0
  311. data/rbi/whop_sdk/models/entry_approved_webhook_event.rbi +72 -0
  312. data/rbi/whop_sdk/models/entry_created_webhook_event.rbi +72 -0
  313. data/rbi/whop_sdk/models/entry_deleted_webhook_event.rbi +72 -0
  314. data/rbi/whop_sdk/models/entry_denied_webhook_event.rbi +72 -0
  315. data/rbi/whop_sdk/models/entry_deny_params.rbi +27 -0
  316. data/rbi/whop_sdk/models/entry_list_params.rbi +136 -0
  317. data/rbi/whop_sdk/models/entry_list_response.rbi +217 -0
  318. data/rbi/whop_sdk/models/entry_retrieve_params.rbi +27 -0
  319. data/rbi/whop_sdk/models/entry_status.rbi +23 -0
  320. data/rbi/whop_sdk/models/experience.rbi +292 -0
  321. data/rbi/whop_sdk/models/experience_attach_params.rbi +40 -0
  322. data/rbi/whop_sdk/models/experience_create_params.rbi +67 -0
  323. data/rbi/whop_sdk/models/experience_delete_params.rbi +27 -0
  324. data/rbi/whop_sdk/models/experience_delete_response.rbi +8 -0
  325. data/rbi/whop_sdk/models/experience_detach_params.rbi +40 -0
  326. data/rbi/whop_sdk/models/experience_list_params.rbi +91 -0
  327. data/rbi/whop_sdk/models/experience_list_response.rbi +279 -0
  328. data/rbi/whop_sdk/models/experience_retrieve_params.rbi +27 -0
  329. data/rbi/whop_sdk/models/experience_update_params.rbi +167 -0
  330. data/rbi/whop_sdk/models/forum.rbi +102 -0
  331. data/rbi/whop_sdk/models/forum_list_params.rbi +83 -0
  332. data/rbi/whop_sdk/models/forum_list_response.rbi +111 -0
  333. data/rbi/whop_sdk/models/forum_post.rbi +162 -0
  334. data/rbi/whop_sdk/models/forum_post_create_params.rbi +254 -0
  335. data/rbi/whop_sdk/models/forum_post_list_params.rbi +91 -0
  336. data/rbi/whop_sdk/models/forum_post_list_response.rbi +172 -0
  337. data/rbi/whop_sdk/models/forum_post_retrieve_params.rbi +27 -0
  338. data/rbi/whop_sdk/models/forum_retrieve_params.rbi +27 -0
  339. data/rbi/whop_sdk/models/forum_update_params.rbi +63 -0
  340. data/rbi/whop_sdk/models/friendly_receipt_status.rbi +47 -0
  341. data/rbi/whop_sdk/models/global_affiliate_status.rbi +23 -0
  342. data/rbi/whop_sdk/models/industry_types.rbi +97 -0
  343. data/rbi/whop_sdk/models/invoice.rbi +198 -0
  344. data/rbi/whop_sdk/models/invoice_create_params.rbi +401 -0
  345. data/rbi/whop_sdk/models/invoice_create_response.rbi +49 -0
  346. data/rbi/whop_sdk/models/invoice_created_webhook_event.rbi +72 -0
  347. data/rbi/whop_sdk/models/invoice_list_item.rbi +207 -0
  348. data/rbi/whop_sdk/models/invoice_list_params.rbi +185 -0
  349. data/rbi/whop_sdk/models/invoice_paid_webhook_event.rbi +72 -0
  350. data/rbi/whop_sdk/models/invoice_past_due_webhook_event.rbi +72 -0
  351. data/rbi/whop_sdk/models/invoice_retrieve_params.rbi +27 -0
  352. data/rbi/whop_sdk/models/invoice_status.rbi +22 -0
  353. data/rbi/whop_sdk/models/invoice_void_params.rbi +27 -0
  354. data/rbi/whop_sdk/models/invoice_void_response.rbi +7 -0
  355. data/rbi/whop_sdk/models/invoice_voided_webhook_event.rbi +72 -0
  356. data/rbi/whop_sdk/models/ledger_account_retrieve_params.rbi +30 -0
  357. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +457 -0
  358. data/rbi/whop_sdk/models/member_list_params.rbi +202 -0
  359. data/rbi/whop_sdk/models/member_list_response.rbi +195 -0
  360. data/rbi/whop_sdk/models/member_most_recent_actions.rbi +49 -0
  361. data/rbi/whop_sdk/models/member_retrieve_params.rbi +27 -0
  362. data/rbi/whop_sdk/models/member_retrieve_response.rbi +255 -0
  363. data/rbi/whop_sdk/models/member_statuses.rbi +21 -0
  364. data/rbi/whop_sdk/models/membership.rbi +351 -0
  365. data/rbi/whop_sdk/models/membership_activated_webhook_event.rbi +77 -0
  366. data/rbi/whop_sdk/models/membership_cancel_params.rbi +85 -0
  367. data/rbi/whop_sdk/models/membership_deactivated_webhook_event.rbi +77 -0
  368. data/rbi/whop_sdk/models/membership_list_params.rbi +253 -0
  369. data/rbi/whop_sdk/models/membership_list_response.rbi +396 -0
  370. data/rbi/whop_sdk/models/membership_pause_params.rbi +45 -0
  371. data/rbi/whop_sdk/models/membership_resume_params.rbi +27 -0
  372. data/rbi/whop_sdk/models/membership_retrieve_params.rbi +27 -0
  373. data/rbi/whop_sdk/models/membership_status.rbi +28 -0
  374. data/rbi/whop_sdk/models/membership_update_params.rbi +43 -0
  375. data/rbi/whop_sdk/models/message.rbi +309 -0
  376. data/rbi/whop_sdk/models/message_create_params.rbi +194 -0
  377. data/rbi/whop_sdk/models/message_list_params.rbi +83 -0
  378. data/rbi/whop_sdk/models/message_list_response.rbi +359 -0
  379. data/rbi/whop_sdk/models/message_retrieve_params.rbi +27 -0
  380. data/rbi/whop_sdk/models/page_info.rbi +60 -0
  381. data/rbi/whop_sdk/models/payment.rbi +691 -0
  382. data/rbi/whop_sdk/models/payment_failed_webhook_event.rbi +72 -0
  383. data/rbi/whop_sdk/models/payment_list_params.rbi +253 -0
  384. data/rbi/whop_sdk/models/payment_list_response.rbi +769 -0
  385. data/rbi/whop_sdk/models/payment_pending_webhook_event.rbi +72 -0
  386. data/rbi/whop_sdk/models/payment_refund_params.rbi +43 -0
  387. data/rbi/whop_sdk/models/payment_retrieve_params.rbi +27 -0
  388. data/rbi/whop_sdk/models/payment_retry_params.rbi +27 -0
  389. data/rbi/whop_sdk/models/payment_succeeded_webhook_event.rbi +75 -0
  390. data/rbi/whop_sdk/models/payment_void_params.rbi +27 -0
  391. data/rbi/whop_sdk/models/plan.rbi +366 -0
  392. data/rbi/whop_sdk/models/plan_create_params.rbi +309 -0
  393. data/rbi/whop_sdk/models/plan_delete_params.rbi +27 -0
  394. data/rbi/whop_sdk/models/plan_delete_response.rbi +7 -0
  395. data/rbi/whop_sdk/models/plan_list_params.rbi +157 -0
  396. data/rbi/whop_sdk/models/plan_list_response.rbi +296 -0
  397. data/rbi/whop_sdk/models/plan_retrieve_params.rbi +27 -0
  398. data/rbi/whop_sdk/models/plan_type.rbi +20 -0
  399. data/rbi/whop_sdk/models/plan_update_params.rbi +279 -0
  400. data/rbi/whop_sdk/models/product.rbi +403 -0
  401. data/rbi/whop_sdk/models/product_create_params.rbi +592 -0
  402. data/rbi/whop_sdk/models/product_delete_params.rbi +27 -0
  403. data/rbi/whop_sdk/models/product_delete_response.rbi +8 -0
  404. data/rbi/whop_sdk/models/product_list_item.rbi +126 -0
  405. data/rbi/whop_sdk/models/product_list_params.rbi +142 -0
  406. data/rbi/whop_sdk/models/product_retrieve_params.rbi +27 -0
  407. data/rbi/whop_sdk/models/product_update_params.rbi +245 -0
  408. data/rbi/whop_sdk/models/promo_type.rbi +20 -0
  409. data/rbi/whop_sdk/models/reaction.rbi +106 -0
  410. data/rbi/whop_sdk/models/reaction_create_params.rbi +53 -0
  411. data/rbi/whop_sdk/models/reaction_list_params.rbi +75 -0
  412. data/rbi/whop_sdk/models/reaction_list_response.rbi +116 -0
  413. data/rbi/whop_sdk/models/reaction_retrieve_params.rbi +27 -0
  414. data/rbi/whop_sdk/models/receipt_status.rbi +26 -0
  415. data/rbi/whop_sdk/models/release_method.rbi +20 -0
  416. data/rbi/whop_sdk/models/shipment.rbi +134 -0
  417. data/rbi/whop_sdk/models/shipment_carrier.rbi +117 -0
  418. data/rbi/whop_sdk/models/shipment_create_params.rbi +59 -0
  419. data/rbi/whop_sdk/models/shipment_list_params.rbi +91 -0
  420. data/rbi/whop_sdk/models/shipment_list_response.rbi +146 -0
  421. data/rbi/whop_sdk/models/shipment_retrieve_params.rbi +27 -0
  422. data/rbi/whop_sdk/models/shipment_status.rbi +31 -0
  423. data/rbi/whop_sdk/models/shipment_substatus.rbi +86 -0
  424. data/rbi/whop_sdk/models/support_channel.rbi +133 -0
  425. data/rbi/whop_sdk/models/support_channel_create_params.rbi +51 -0
  426. data/rbi/whop_sdk/models/support_channel_list_params.rbi +136 -0
  427. data/rbi/whop_sdk/models/support_channel_list_response.rbi +147 -0
  428. data/rbi/whop_sdk/models/support_channel_retrieve_params.rbi +30 -0
  429. data/rbi/whop_sdk/models/tax_type.rbi +22 -0
  430. data/rbi/whop_sdk/models/transfer.rbi +387 -0
  431. data/rbi/whop_sdk/models/transfer_create_params.rbi +87 -0
  432. data/rbi/whop_sdk/models/transfer_list_params.rbi +125 -0
  433. data/rbi/whop_sdk/models/transfer_list_response.rbi +97 -0
  434. data/rbi/whop_sdk/models/transfer_retrieve_params.rbi +27 -0
  435. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +33 -0
  436. data/rbi/whop_sdk/models/user_check_access_params.rbi +35 -0
  437. data/rbi/whop_sdk/models/user_check_access_response.rbi +49 -0
  438. data/rbi/whop_sdk/models/user_retrieve_params.rbi +27 -0
  439. data/rbi/whop_sdk/models/user_retrieve_response.rbi +127 -0
  440. data/rbi/whop_sdk/models/visibility.rbi +22 -0
  441. data/rbi/whop_sdk/models/visibility_filter.rbi +29 -0
  442. data/rbi/whop_sdk/models/webhook_unwrap_params.rbi +27 -0
  443. data/rbi/whop_sdk/models/who_can_comment_types.rbi +22 -0
  444. data/rbi/whop_sdk/models/who_can_post.rbi +20 -0
  445. data/rbi/whop_sdk/models/who_can_post_types.rbi +20 -0
  446. data/rbi/whop_sdk/models/who_can_react.rbi +20 -0
  447. data/rbi/whop_sdk/models.rbi +326 -0
  448. data/rbi/whop_sdk/request_options.rbi +57 -0
  449. data/rbi/whop_sdk/resources/app_builds.rbi +115 -0
  450. data/rbi/whop_sdk/resources/apps.rbi +146 -0
  451. data/rbi/whop_sdk/resources/authorized_users.rbi +68 -0
  452. data/rbi/whop_sdk/resources/chat_channels.rbi +98 -0
  453. data/rbi/whop_sdk/resources/checkout_configurations.rbi +98 -0
  454. data/rbi/whop_sdk/resources/companies.rbi +26 -0
  455. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +71 -0
  456. data/rbi/whop_sdk/resources/entries.rbi +105 -0
  457. data/rbi/whop_sdk/resources/experiences.rbi +170 -0
  458. data/rbi/whop_sdk/resources/forum_posts.rbi +117 -0
  459. data/rbi/whop_sdk/resources/forums.rbi +88 -0
  460. data/rbi/whop_sdk/resources/invoices.rbi +139 -0
  461. data/rbi/whop_sdk/resources/ledger_accounts.rbi +26 -0
  462. data/rbi/whop_sdk/resources/members.rbi +97 -0
  463. data/rbi/whop_sdk/resources/memberships.rbi +171 -0
  464. data/rbi/whop_sdk/resources/messages.rbi +91 -0
  465. data/rbi/whop_sdk/resources/payments.rbi +173 -0
  466. data/rbi/whop_sdk/resources/plans.rbi +228 -0
  467. data/rbi/whop_sdk/resources/products.rbi +254 -0
  468. data/rbi/whop_sdk/resources/reactions.rbi +80 -0
  469. data/rbi/whop_sdk/resources/shipments.rbi +91 -0
  470. data/rbi/whop_sdk/resources/support_channels.rbi +93 -0
  471. data/rbi/whop_sdk/resources/transfers.rbi +104 -0
  472. data/rbi/whop_sdk/resources/users.rbi +33 -0
  473. data/rbi/whop_sdk/resources/webhooks.rbi +38 -0
  474. data/rbi/whop_sdk/version.rbi +5 -0
  475. data/sig/whop_sdk/client.rbs +77 -0
  476. data/sig/whop_sdk/errors.rbs +117 -0
  477. data/sig/whop_sdk/file_part.rbs +21 -0
  478. data/sig/whop_sdk/internal/cursor_page.rbs +24 -0
  479. data/sig/whop_sdk/internal/transport/base_client.rbs +131 -0
  480. data/sig/whop_sdk/internal/transport/pooled_net_requester.rbs +45 -0
  481. data/sig/whop_sdk/internal/type/array_of.rbs +48 -0
  482. data/sig/whop_sdk/internal/type/base_model.rbs +102 -0
  483. data/sig/whop_sdk/internal/type/base_page.rbs +24 -0
  484. data/sig/whop_sdk/internal/type/boolean.rbs +26 -0
  485. data/sig/whop_sdk/internal/type/converter.rbs +79 -0
  486. data/sig/whop_sdk/internal/type/enum.rbs +32 -0
  487. data/sig/whop_sdk/internal/type/file_input.rbs +25 -0
  488. data/sig/whop_sdk/internal/type/hash_of.rbs +48 -0
  489. data/sig/whop_sdk/internal/type/request_parameters.rbs +17 -0
  490. data/sig/whop_sdk/internal/type/union.rbs +52 -0
  491. data/sig/whop_sdk/internal/type/unknown.rbs +26 -0
  492. data/sig/whop_sdk/internal/util.rbs +185 -0
  493. data/sig/whop_sdk/internal.rbs +9 -0
  494. data/sig/whop_sdk/models/access_level.rbs +15 -0
  495. data/sig/whop_sdk/models/access_pass_type.rbs +16 -0
  496. data/sig/whop_sdk/models/app.rbs +216 -0
  497. data/sig/whop_sdk/models/app_build.rbs +60 -0
  498. data/sig/whop_sdk/models/app_build_create_params.rbs +58 -0
  499. data/sig/whop_sdk/models/app_build_list_params.rbs +56 -0
  500. data/sig/whop_sdk/models/app_build_list_response.rbs +60 -0
  501. data/sig/whop_sdk/models/app_build_platforms.rbs +15 -0
  502. data/sig/whop_sdk/models/app_build_promote_params.rbs +15 -0
  503. data/sig/whop_sdk/models/app_build_retrieve_params.rbs +15 -0
  504. data/sig/whop_sdk/models/app_build_statuses.rbs +16 -0
  505. data/sig/whop_sdk/models/app_create_params.rbs +32 -0
  506. data/sig/whop_sdk/models/app_list_params.rbs +90 -0
  507. data/sig/whop_sdk/models/app_list_response.rbs +116 -0
  508. data/sig/whop_sdk/models/app_retrieve_params.rbs +15 -0
  509. data/sig/whop_sdk/models/app_statuses.rbs +15 -0
  510. data/sig/whop_sdk/models/app_update_params.rbs +93 -0
  511. data/sig/whop_sdk/models/app_view_type.rbs +17 -0
  512. data/sig/whop_sdk/models/authorized_user_list_params.rbs +56 -0
  513. data/sig/whop_sdk/models/authorized_user_list_response.rbs +57 -0
  514. data/sig/whop_sdk/models/authorized_user_retrieve_params.rbs +15 -0
  515. data/sig/whop_sdk/models/authorized_user_retrieve_response.rbs +57 -0
  516. data/sig/whop_sdk/models/authorized_user_roles.rbs +26 -0
  517. data/sig/whop_sdk/models/business_types.rbs +40 -0
  518. data/sig/whop_sdk/models/chat_channel.rbs +67 -0
  519. data/sig/whop_sdk/models/chat_channel_list_params.rbs +51 -0
  520. data/sig/whop_sdk/models/chat_channel_list_response.rbs +67 -0
  521. data/sig/whop_sdk/models/chat_channel_retrieve_params.rbs +15 -0
  522. data/sig/whop_sdk/models/chat_channel_update_params.rbs +51 -0
  523. data/sig/whop_sdk/models/checkout_configuration.rbs +112 -0
  524. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +202 -0
  525. data/sig/whop_sdk/models/checkout_configuration_list_params.rbs +56 -0
  526. data/sig/whop_sdk/models/checkout_configuration_list_response.rbs +112 -0
  527. data/sig/whop_sdk/models/checkout_configuration_retrieve_params.rbs +15 -0
  528. data/sig/whop_sdk/models/collection_method.rbs +14 -0
  529. data/sig/whop_sdk/models/company.rbs +161 -0
  530. data/sig/whop_sdk/models/company_retrieve_params.rbs +15 -0
  531. data/sig/whop_sdk/models/course_lesson_interaction.rbs +108 -0
  532. data/sig/whop_sdk/models/course_lesson_interaction_completed_webhook_event.rbs +40 -0
  533. data/sig/whop_sdk/models/course_lesson_interaction_list_item.rbs +66 -0
  534. data/sig/whop_sdk/models/course_lesson_interaction_list_params.rbs +61 -0
  535. data/sig/whop_sdk/models/course_lesson_interaction_retrieve_params.rbs +15 -0
  536. data/sig/whop_sdk/models/currency.rbs +180 -0
  537. data/sig/whop_sdk/models/custom_cta.rbs +38 -0
  538. data/sig/whop_sdk/models/direction.rbs +14 -0
  539. data/sig/whop_sdk/models/dms_post_types.rbs +15 -0
  540. data/sig/whop_sdk/models/email_notification_preferences.rbs +16 -0
  541. data/sig/whop_sdk/models/entry.rbs +114 -0
  542. data/sig/whop_sdk/models/entry_approve_params.rbs +15 -0
  543. data/sig/whop_sdk/models/entry_approve_response.rbs +13 -0
  544. data/sig/whop_sdk/models/entry_approved_webhook_event.rbs +40 -0
  545. data/sig/whop_sdk/models/entry_created_webhook_event.rbs +40 -0
  546. data/sig/whop_sdk/models/entry_deleted_webhook_event.rbs +40 -0
  547. data/sig/whop_sdk/models/entry_denied_webhook_event.rbs +40 -0
  548. data/sig/whop_sdk/models/entry_deny_params.rbs +14 -0
  549. data/sig/whop_sdk/models/entry_list_params.rbs +82 -0
  550. data/sig/whop_sdk/models/entry_list_response.rbs +94 -0
  551. data/sig/whop_sdk/models/entry_retrieve_params.rbs +15 -0
  552. data/sig/whop_sdk/models/entry_status.rbs +17 -0
  553. data/sig/whop_sdk/models/experience.rbs +126 -0
  554. data/sig/whop_sdk/models/experience_attach_params.rbs +23 -0
  555. data/sig/whop_sdk/models/experience_create_params.rbs +36 -0
  556. data/sig/whop_sdk/models/experience_delete_params.rbs +15 -0
  557. data/sig/whop_sdk/models/experience_delete_response.rbs +5 -0
  558. data/sig/whop_sdk/models/experience_detach_params.rbs +23 -0
  559. data/sig/whop_sdk/models/experience_list_params.rbs +56 -0
  560. data/sig/whop_sdk/models/experience_list_response.rbs +111 -0
  561. data/sig/whop_sdk/models/experience_retrieve_params.rbs +15 -0
  562. data/sig/whop_sdk/models/experience_update_params.rbs +69 -0
  563. data/sig/whop_sdk/models/forum.rbs +52 -0
  564. data/sig/whop_sdk/models/forum_list_params.rbs +51 -0
  565. data/sig/whop_sdk/models/forum_list_response.rbs +52 -0
  566. data/sig/whop_sdk/models/forum_post.rbs +84 -0
  567. data/sig/whop_sdk/models/forum_post_create_params.rbs +110 -0
  568. data/sig/whop_sdk/models/forum_post_list_params.rbs +56 -0
  569. data/sig/whop_sdk/models/forum_post_list_response.rbs +84 -0
  570. data/sig/whop_sdk/models/forum_post_retrieve_params.rbs +15 -0
  571. data/sig/whop_sdk/models/forum_retrieve_params.rbs +15 -0
  572. data/sig/whop_sdk/models/forum_update_params.rbs +36 -0
  573. data/sig/whop_sdk/models/friendly_receipt_status.rbs +44 -0
  574. data/sig/whop_sdk/models/global_affiliate_status.rbs +14 -0
  575. data/sig/whop_sdk/models/industry_types.rbs +130 -0
  576. data/sig/whop_sdk/models/invoice.rbs +101 -0
  577. data/sig/whop_sdk/models/invoice_create_params.rbs +197 -0
  578. data/sig/whop_sdk/models/invoice_create_response.rbs +19 -0
  579. data/sig/whop_sdk/models/invoice_created_webhook_event.rbs +40 -0
  580. data/sig/whop_sdk/models/invoice_list_item.rbs +101 -0
  581. data/sig/whop_sdk/models/invoice_list_params.rbs +100 -0
  582. data/sig/whop_sdk/models/invoice_paid_webhook_event.rbs +40 -0
  583. data/sig/whop_sdk/models/invoice_past_due_webhook_event.rbs +40 -0
  584. data/sig/whop_sdk/models/invoice_retrieve_params.rbs +15 -0
  585. data/sig/whop_sdk/models/invoice_status.rbs +16 -0
  586. data/sig/whop_sdk/models/invoice_void_params.rbs +15 -0
  587. data/sig/whop_sdk/models/invoice_void_response.rbs +5 -0
  588. data/sig/whop_sdk/models/invoice_voided_webhook_event.rbs +40 -0
  589. data/sig/whop_sdk/models/ledger_account_retrieve_params.rbs +15 -0
  590. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +183 -0
  591. data/sig/whop_sdk/models/member_list_params.rbs +116 -0
  592. data/sig/whop_sdk/models/member_list_response.rbs +97 -0
  593. data/sig/whop_sdk/models/member_most_recent_actions.rbs +40 -0
  594. data/sig/whop_sdk/models/member_retrieve_params.rbs +15 -0
  595. data/sig/whop_sdk/models/member_retrieve_response.rbs +116 -0
  596. data/sig/whop_sdk/models/member_statuses.rbs +15 -0
  597. data/sig/whop_sdk/models/membership.rbs +166 -0
  598. data/sig/whop_sdk/models/membership_activated_webhook_event.rbs +40 -0
  599. data/sig/whop_sdk/models/membership_cancel_params.rbs +37 -0
  600. data/sig/whop_sdk/models/membership_deactivated_webhook_event.rbs +40 -0
  601. data/sig/whop_sdk/models/membership_list_params.rbs +130 -0
  602. data/sig/whop_sdk/models/membership_list_response.rbs +166 -0
  603. data/sig/whop_sdk/models/membership_pause_params.rbs +23 -0
  604. data/sig/whop_sdk/models/membership_resume_params.rbs +15 -0
  605. data/sig/whop_sdk/models/membership_retrieve_params.rbs +15 -0
  606. data/sig/whop_sdk/models/membership_status.rbs +28 -0
  607. data/sig/whop_sdk/models/membership_update_params.rbs +24 -0
  608. data/sig/whop_sdk/models/message.rbs +142 -0
  609. data/sig/whop_sdk/models/message_create_params.rbs +80 -0
  610. data/sig/whop_sdk/models/message_list_params.rbs +51 -0
  611. data/sig/whop_sdk/models/message_list_response.rbs +147 -0
  612. data/sig/whop_sdk/models/message_retrieve_params.rbs +15 -0
  613. data/sig/whop_sdk/models/page_info.rbs +35 -0
  614. data/sig/whop_sdk/models/payment.rbs +355 -0
  615. data/sig/whop_sdk/models/payment_failed_webhook_event.rbs +40 -0
  616. data/sig/whop_sdk/models/payment_list_params.rbs +134 -0
  617. data/sig/whop_sdk/models/payment_list_response.rbs +355 -0
  618. data/sig/whop_sdk/models/payment_pending_webhook_event.rbs +40 -0
  619. data/sig/whop_sdk/models/payment_refund_params.rbs +23 -0
  620. data/sig/whop_sdk/models/payment_retrieve_params.rbs +15 -0
  621. data/sig/whop_sdk/models/payment_retry_params.rbs +15 -0
  622. data/sig/whop_sdk/models/payment_succeeded_webhook_event.rbs +40 -0
  623. data/sig/whop_sdk/models/payment_void_params.rbs +15 -0
  624. data/sig/whop_sdk/models/plan.rbs +201 -0
  625. data/sig/whop_sdk/models/plan_create_params.rbs +160 -0
  626. data/sig/whop_sdk/models/plan_delete_params.rbs +14 -0
  627. data/sig/whop_sdk/models/plan_delete_response.rbs +5 -0
  628. data/sig/whop_sdk/models/plan_list_params.rbs +95 -0
  629. data/sig/whop_sdk/models/plan_list_response.rbs +144 -0
  630. data/sig/whop_sdk/models/plan_retrieve_params.rbs +15 -0
  631. data/sig/whop_sdk/models/plan_type.rbs +14 -0
  632. data/sig/whop_sdk/models/plan_update_params.rbs +145 -0
  633. data/sig/whop_sdk/models/product.rbs +197 -0
  634. data/sig/whop_sdk/models/product_create_params.rbs +283 -0
  635. data/sig/whop_sdk/models/product_delete_params.rbs +15 -0
  636. data/sig/whop_sdk/models/product_delete_response.rbs +5 -0
  637. data/sig/whop_sdk/models/product_list_item.rbs +75 -0
  638. data/sig/whop_sdk/models/product_list_params.rbs +80 -0
  639. data/sig/whop_sdk/models/product_retrieve_params.rbs +15 -0
  640. data/sig/whop_sdk/models/product_update_params.rbs +123 -0
  641. data/sig/whop_sdk/models/promo_type.rbs +14 -0
  642. data/sig/whop_sdk/models/reaction.rbs +49 -0
  643. data/sig/whop_sdk/models/reaction_create_params.rbs +28 -0
  644. data/sig/whop_sdk/models/reaction_list_params.rbs +46 -0
  645. data/sig/whop_sdk/models/reaction_list_response.rbs +49 -0
  646. data/sig/whop_sdk/models/reaction_retrieve_params.rbs +15 -0
  647. data/sig/whop_sdk/models/receipt_status.rbs +20 -0
  648. data/sig/whop_sdk/models/release_method.rbs +14 -0
  649. data/sig/whop_sdk/models/shipment.rbs +75 -0
  650. data/sig/whop_sdk/models/shipment_carrier.rbs +164 -0
  651. data/sig/whop_sdk/models/shipment_create_params.rbs +32 -0
  652. data/sig/whop_sdk/models/shipment_list_params.rbs +56 -0
  653. data/sig/whop_sdk/models/shipment_list_response.rbs +75 -0
  654. data/sig/whop_sdk/models/shipment_retrieve_params.rbs +15 -0
  655. data/sig/whop_sdk/models/shipment_status.rbs +32 -0
  656. data/sig/whop_sdk/models/shipment_substatus.rbs +68 -0
  657. data/sig/whop_sdk/models/support_channel.rbs +59 -0
  658. data/sig/whop_sdk/models/support_channel_create_params.rbs +28 -0
  659. data/sig/whop_sdk/models/support_channel_list_params.rbs +72 -0
  660. data/sig/whop_sdk/models/support_channel_list_response.rbs +59 -0
  661. data/sig/whop_sdk/models/support_channel_retrieve_params.rbs +15 -0
  662. data/sig/whop_sdk/models/tax_type.rbs +15 -0
  663. data/sig/whop_sdk/models/transfer.rbs +192 -0
  664. data/sig/whop_sdk/models/transfer_create_params.rbs +51 -0
  665. data/sig/whop_sdk/models/transfer_list_params.rbs +72 -0
  666. data/sig/whop_sdk/models/transfer_list_response.rbs +55 -0
  667. data/sig/whop_sdk/models/transfer_retrieve_params.rbs +15 -0
  668. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +25 -0
  669. data/sig/whop_sdk/models/user_check_access_params.rbs +20 -0
  670. data/sig/whop_sdk/models/user_check_access_response.rbs +22 -0
  671. data/sig/whop_sdk/models/user_retrieve_params.rbs +15 -0
  672. data/sig/whop_sdk/models/user_retrieve_response.rbs +55 -0
  673. data/sig/whop_sdk/models/visibility.rbs +16 -0
  674. data/sig/whop_sdk/models/visibility_filter.rbs +26 -0
  675. data/sig/whop_sdk/models/webhook_unwrap_params.rbs +15 -0
  676. data/sig/whop_sdk/models/who_can_comment_types.rbs +14 -0
  677. data/sig/whop_sdk/models/who_can_post.rbs +14 -0
  678. data/sig/whop_sdk/models/who_can_post_types.rbs +14 -0
  679. data/sig/whop_sdk/models/who_can_react.rbs +14 -0
  680. data/sig/whop_sdk/models.rbs +315 -0
  681. data/sig/whop_sdk/request_options.rbs +34 -0
  682. data/sig/whop_sdk/resources/app_builds.rbs +37 -0
  683. data/sig/whop_sdk/resources/apps.rbs +48 -0
  684. data/sig/whop_sdk/resources/authorized_users.rbs +23 -0
  685. data/sig/whop_sdk/resources/chat_channels.rbs +33 -0
  686. data/sig/whop_sdk/resources/checkout_configurations.rbs +32 -0
  687. data/sig/whop_sdk/resources/companies.rbs +12 -0
  688. data/sig/whop_sdk/resources/course_lesson_interactions.rbs +24 -0
  689. data/sig/whop_sdk/resources/entries.rbs +36 -0
  690. data/sig/whop_sdk/resources/experiences.rbs +55 -0
  691. data/sig/whop_sdk/resources/forum_posts.rbs +37 -0
  692. data/sig/whop_sdk/resources/forums.rbs +30 -0
  693. data/sig/whop_sdk/resources/invoices.rbs +41 -0
  694. data/sig/whop_sdk/resources/ledger_accounts.rbs +12 -0
  695. data/sig/whop_sdk/resources/members.rbs +32 -0
  696. data/sig/whop_sdk/resources/memberships.rbs +53 -0
  697. data/sig/whop_sdk/resources/messages.rbs +30 -0
  698. data/sig/whop_sdk/resources/payments.rbs +48 -0
  699. data/sig/whop_sdk/resources/plans.rbs +69 -0
  700. data/sig/whop_sdk/resources/products.rbs +77 -0
  701. data/sig/whop_sdk/resources/reactions.rbs +27 -0
  702. data/sig/whop_sdk/resources/shipments.rbs +30 -0
  703. data/sig/whop_sdk/resources/support_channels.rbs +30 -0
  704. data/sig/whop_sdk/resources/transfers.rbs +34 -0
  705. data/sig/whop_sdk/resources/users.rbs +18 -0
  706. data/sig/whop_sdk/resources/webhooks.rbs +24 -0
  707. data/sig/whop_sdk/version.rbs +3 -0
  708. metadata +765 -0
@@ -0,0 +1,327 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ module Converter
8
+ extend WhopSDK::Internal::Util::SorbetRuntimeSupport
9
+
10
+ # rubocop:disable Lint/UnusedMethodArgument
11
+
12
+ # @api private
13
+ #
14
+ # @param value [Object]
15
+ #
16
+ # @param state [Hash{Symbol=>Object}] .
17
+ #
18
+ # @option state [Boolean] :translate_names
19
+ #
20
+ # @option state [Boolean] :strictness
21
+ #
22
+ # @option state [Hash{Symbol=>Object}] :exactness
23
+ #
24
+ # @option state [Class<StandardError>] :error
25
+ #
26
+ # @option state [Integer] :branched
27
+ #
28
+ # @return [Object]
29
+ def coerce(value, state:) = (raise NotImplementedError)
30
+
31
+ # @api private
32
+ #
33
+ # @param value [Object]
34
+ #
35
+ # @param state [Hash{Symbol=>Object}] .
36
+ #
37
+ # @option state [Boolean] :can_retry
38
+ #
39
+ # @return [Object]
40
+ def dump(value, state:)
41
+ case value
42
+ in Array
43
+ value.map { WhopSDK::Internal::Type::Unknown.dump(_1, state: state) }
44
+ in Hash
45
+ value.transform_values { WhopSDK::Internal::Type::Unknown.dump(_1, state: state) }
46
+ in WhopSDK::Internal::Type::BaseModel
47
+ value.class.dump(value, state: state)
48
+ in StringIO
49
+ value.string
50
+ in Pathname | IO
51
+ state[:can_retry] = false if value.is_a?(IO)
52
+ WhopSDK::FilePart.new(value)
53
+ in WhopSDK::FilePart
54
+ state[:can_retry] = false if value.content.is_a?(IO)
55
+ value
56
+ else
57
+ value
58
+ end
59
+ end
60
+
61
+ # @api private
62
+ #
63
+ # @param depth [Integer]
64
+ #
65
+ # @return [String]
66
+ def inspect(depth: 0)
67
+ super()
68
+ end
69
+
70
+ # rubocop:enable Lint/UnusedMethodArgument
71
+
72
+ class << self
73
+ # @api private
74
+ #
75
+ # @param spec [Hash{Symbol=>Object}, Proc, WhopSDK::Internal::Type::Converter, Class] .
76
+ #
77
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
78
+ #
79
+ # @option spec [Proc] :enum
80
+ #
81
+ # @option spec [Proc] :union
82
+ #
83
+ # @option spec [Boolean] :"nil?"
84
+ #
85
+ # @return [Proc]
86
+ def type_info(spec)
87
+ case spec
88
+ in Proc
89
+ spec
90
+ in Hash
91
+ type_info(spec.slice(:const, :enum, :union).first&.last)
92
+ in true | false
93
+ -> { WhopSDK::Internal::Type::Boolean }
94
+ in WhopSDK::Internal::Type::Converter | Class | Symbol
95
+ -> { spec }
96
+ in NilClass | Integer | Float
97
+ -> { spec.class }
98
+ end
99
+ end
100
+
101
+ # @api private
102
+ #
103
+ # @param type_info [Hash{Symbol=>Object}, Proc, WhopSDK::Internal::Type::Converter, Class] .
104
+ #
105
+ # @option type_info [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
106
+ #
107
+ # @option type_info [Proc] :enum
108
+ #
109
+ # @option type_info [Proc] :union
110
+ #
111
+ # @option type_info [Boolean] :"nil?"
112
+ #
113
+ # @param spec [Hash{Symbol=>Object}, Proc, WhopSDK::Internal::Type::Converter, Class] .
114
+ #
115
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
116
+ #
117
+ # @option spec [Proc] :enum
118
+ #
119
+ # @option spec [Proc] :union
120
+ #
121
+ # @option spec [Boolean] :"nil?"
122
+ #
123
+ # @return [Hash{Symbol=>Object}]
124
+ def meta_info(type_info, spec)
125
+ [spec, type_info].grep(Hash).first.to_h.except(:const, :enum, :union, :nil?)
126
+ end
127
+
128
+ # @api private
129
+ #
130
+ # @param translate_names [Boolean]
131
+ #
132
+ # @return [Hash{Symbol=>Object}]
133
+ def new_coerce_state(translate_names: true)
134
+ {
135
+ translate_names: translate_names,
136
+ strictness: true,
137
+ exactness: {yes: 0, no: 0, maybe: 0},
138
+ error: nil,
139
+ branched: 0
140
+ }
141
+ end
142
+
143
+ # @api private
144
+ #
145
+ # Based on `target`, transform `value` into `target`, to the extent possible:
146
+ #
147
+ # 1. if the given `value` conforms to `target` already, return the given `value`
148
+ # 2. if it's possible and safe to convert the given `value` to `target`, then the
149
+ # converted value
150
+ # 3. otherwise, the given `value` unaltered
151
+ #
152
+ # The coercion process is subject to improvement between minor release versions.
153
+ # See https://docs.pydantic.dev/latest/concepts/unions/#smart-mode
154
+ #
155
+ # @param target [WhopSDK::Internal::Type::Converter, Class]
156
+ #
157
+ # @param value [Object]
158
+ #
159
+ # @param state [Hash{Symbol=>Object}] The `strictness` is one of `true`, `false`. This informs the coercion strategy
160
+ # when we have to decide between multiple possible conversion targets:
161
+ #
162
+ # - `true`: the conversion must be exact, with minimum coercion.
163
+ # - `false`: the conversion can be approximate, with some coercion.
164
+ #
165
+ # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
166
+ # any given conversion attempt, the exactness will be updated based on how closely
167
+ # the value recursively matches the target type:
168
+ #
169
+ # - `yes`: the value can be converted to the target type with minimum coercion.
170
+ # - `maybe`: the value can be converted to the target type with some reasonable
171
+ # coercion.
172
+ # - `no`: the value cannot be converted to the target type.
173
+ #
174
+ # See implementation below for more details.
175
+ #
176
+ # @option state [Boolean] :translate_names
177
+ #
178
+ # @option state [Boolean] :strictness
179
+ #
180
+ # @option state [Hash{Symbol=>Object}] :exactness
181
+ #
182
+ # @option state [Class<StandardError>] :error
183
+ #
184
+ # @option state [Integer] :branched
185
+ #
186
+ # @return [Object]
187
+ def coerce(target, value, state: WhopSDK::Internal::Type::Converter.new_coerce_state)
188
+ # rubocop:disable Metrics/BlockNesting
189
+ exactness = state.fetch(:exactness)
190
+
191
+ case target
192
+ in WhopSDK::Internal::Type::Converter
193
+ return target.coerce(value, state: state)
194
+ in Class
195
+ if value.is_a?(target)
196
+ exactness[:yes] += 1
197
+ return value
198
+ end
199
+
200
+ case target
201
+ in -> { _1 <= NilClass }
202
+ exactness[value.nil? ? :yes : :maybe] += 1
203
+ return nil
204
+ in -> { _1 <= Integer }
205
+ case value
206
+ in Integer
207
+ exactness[:yes] += 1
208
+ return value
209
+ else
210
+ Kernel.then do
211
+ return Integer(value).tap { exactness[:maybe] += 1 }
212
+ rescue ArgumentError, TypeError => e
213
+ state[:error] = e
214
+ end
215
+ end
216
+ in -> { _1 <= Float }
217
+ if value.is_a?(Numeric)
218
+ exactness[:yes] += 1
219
+ return Float(value)
220
+ else
221
+ Kernel.then do
222
+ return Float(value).tap { exactness[:maybe] += 1 }
223
+ rescue ArgumentError, TypeError => e
224
+ state[:error] = e
225
+ end
226
+ end
227
+ in -> { _1 <= String }
228
+ case value
229
+ in String | Symbol | Numeric
230
+ exactness[value.is_a?(Numeric) ? :maybe : :yes] += 1
231
+ return value.to_s
232
+ in StringIO
233
+ exactness[:yes] += 1
234
+ return value.string
235
+ else
236
+ state[:error] = TypeError.new("#{value.class} can't be coerced into #{String}")
237
+ end
238
+ in -> { _1 <= Date || _1 <= Time }
239
+ Kernel.then do
240
+ return target.parse(value).tap { exactness[:yes] += 1 }
241
+ rescue ArgumentError, TypeError => e
242
+ state[:error] = e
243
+ end
244
+ in -> { _1 <= StringIO } if value.is_a?(String)
245
+ exactness[:yes] += 1
246
+ return StringIO.new(value.b)
247
+ else
248
+ end
249
+ in Symbol
250
+ case value
251
+ in Symbol | String
252
+ if value.to_sym == target
253
+ exactness[:yes] += 1
254
+ return target
255
+ else
256
+ exactness[:maybe] += 1
257
+ return value
258
+ end
259
+ else
260
+ message = "cannot convert non-matching #{value.class} into #{target.inspect}"
261
+ state[:error] = ArgumentError.new(message)
262
+ end
263
+ else
264
+ end
265
+
266
+ exactness[:no] += 1
267
+ value
268
+ # rubocop:enable Metrics/BlockNesting
269
+ end
270
+
271
+ # @api private
272
+ #
273
+ # @param target [WhopSDK::Internal::Type::Converter, Class]
274
+ #
275
+ # @param value [Object]
276
+ #
277
+ # @param state [Hash{Symbol=>Object}] .
278
+ #
279
+ # @option state [Boolean] :can_retry
280
+ #
281
+ # @return [Object]
282
+ def dump(target, value, state: {can_retry: true})
283
+ case target
284
+ in WhopSDK::Internal::Type::Converter
285
+ target.dump(value, state: state)
286
+ else
287
+ WhopSDK::Internal::Type::Unknown.dump(value, state: state)
288
+ end
289
+ end
290
+
291
+ # @api private
292
+ #
293
+ # @param target [Object]
294
+ # @param depth [Integer]
295
+ #
296
+ # @return [String]
297
+ def inspect(target, depth:)
298
+ case target
299
+ in WhopSDK::Internal::Type::Converter
300
+ target.inspect(depth: depth.succ)
301
+ else
302
+ target.inspect
303
+ end
304
+ end
305
+ end
306
+
307
+ define_sorbet_constant!(:Input) do
308
+ T.type_alias { T.any(WhopSDK::Internal::Type::Converter, T::Class[T.anything]) }
309
+ end
310
+ define_sorbet_constant!(:CoerceState) do
311
+ T.type_alias do
312
+ {
313
+ translate_names: T::Boolean,
314
+ strictness: T::Boolean,
315
+ exactness: {yes: Integer, no: Integer, maybe: Integer},
316
+ error: T::Class[StandardError],
317
+ branched: Integer
318
+ }
319
+ end
320
+ end
321
+ define_sorbet_constant!(:DumpState) do
322
+ T.type_alias { {can_retry: T::Boolean} }
323
+ end
324
+ end
325
+ end
326
+ end
327
+ end
@@ -0,0 +1,156 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # A value from among a specified list of options. OpenAPI enum values map to Ruby
9
+ # values in the SDK as follows:
10
+ #
11
+ # 1. boolean => true | false
12
+ # 2. integer => Integer
13
+ # 3. float => Float
14
+ # 4. string => Symbol
15
+ #
16
+ # We can therefore convert string values to Symbols, but can't convert other
17
+ # values safely.
18
+ #
19
+ # @example
20
+ # # `access_level` is a `WhopSDK::AccessLevel`
21
+ # case access_level
22
+ # when WhopSDK::AccessLevel::NO_ACCESS
23
+ # # ...
24
+ # when WhopSDK::AccessLevel::ADMIN
25
+ # # ...
26
+ # when WhopSDK::AccessLevel::CUSTOMER
27
+ # # ...
28
+ # else
29
+ # puts(access_level)
30
+ # end
31
+ #
32
+ # @example
33
+ # case access_level
34
+ # in :no_access
35
+ # # ...
36
+ # in :admin
37
+ # # ...
38
+ # in :customer
39
+ # # ...
40
+ # else
41
+ # puts(access_level)
42
+ # end
43
+ module Enum
44
+ include WhopSDK::Internal::Type::Converter
45
+ include WhopSDK::Internal::Util::SorbetRuntimeSupport
46
+
47
+ # All of the valid Symbol values for this enum.
48
+ #
49
+ # @return [Array<NilClass, Boolean, Integer, Float, Symbol>]
50
+ def values = constants.map { const_get(_1) }
51
+
52
+ # @api public
53
+ #
54
+ # @param other [Object]
55
+ #
56
+ # @return [Boolean]
57
+ def ===(other) = values.include?(other)
58
+
59
+ # @api public
60
+ #
61
+ # @param other [Object]
62
+ #
63
+ # @return [Boolean]
64
+ def ==(other)
65
+ # rubocop:disable Style/CaseEquality
66
+ WhopSDK::Internal::Type::Enum === other && other.values.to_set == values.to_set
67
+ # rubocop:enable Style/CaseEquality
68
+ end
69
+
70
+ # @api public
71
+ #
72
+ # @return [Integer]
73
+ def hash = values.to_set.hash
74
+
75
+ # @api private
76
+ #
77
+ # Unlike with primitives, `Enum` additionally validates that the value is a member
78
+ # of the enum.
79
+ #
80
+ # @param value [String, Symbol, Object]
81
+ #
82
+ # @param state [Hash{Symbol=>Object}] .
83
+ #
84
+ # @option state [Boolean] :translate_names
85
+ #
86
+ # @option state [Boolean] :strictness
87
+ #
88
+ # @option state [Hash{Symbol=>Object}] :exactness
89
+ #
90
+ # @option state [Class<StandardError>] :error
91
+ #
92
+ # @option state [Integer] :branched
93
+ #
94
+ # @return [Symbol, Object]
95
+ def coerce(value, state:)
96
+ exactness = state.fetch(:exactness)
97
+ val = value.is_a?(String) ? value.to_sym : value
98
+
99
+ if values.include?(val)
100
+ exactness[:yes] += 1
101
+ val
102
+ elsif values.first&.class == val.class
103
+ exactness[:maybe] += 1
104
+ value
105
+ else
106
+ exactness[:no] += 1
107
+ state[:error] = TypeError.new("#{value.class} can't be coerced into #{self}")
108
+ value
109
+ end
110
+ end
111
+
112
+ # @!method dump(value, state:)
113
+ # @api private
114
+ #
115
+ # @param value [Symbol, Object]
116
+ #
117
+ # @param state [Hash{Symbol=>Object}] .
118
+ #
119
+ # @option state [Boolean] :can_retry
120
+ #
121
+ # @return [Symbol, Object]
122
+
123
+ # @api private
124
+ #
125
+ # @return [Object]
126
+ def to_sorbet_type
127
+ types = values.map { WhopSDK::Internal::Util::SorbetRuntimeSupport.to_sorbet_type(_1) }.uniq
128
+ case types
129
+ in []
130
+ T.noreturn
131
+ in [type]
132
+ type
133
+ else
134
+ T.any(*types)
135
+ end
136
+ end
137
+
138
+ # @api private
139
+ #
140
+ # @param depth [Integer]
141
+ #
142
+ # @return [String]
143
+ def inspect(depth: 0)
144
+ if depth.positive?
145
+ return is_a?(Module) ? super() : self.class.name
146
+ end
147
+
148
+ members = values.map { WhopSDK::Internal::Type::Converter.inspect(_1, depth: depth.succ) }
149
+ prefix = is_a?(Module) ? name : self.class.name
150
+
151
+ "#{prefix}[#{members.join(' | ')}]"
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # @abstract
9
+ #
10
+ # Either `Pathname` or `StringIO`, or `IO`, or
11
+ # `WhopSDK::Internal::Type::FileInput`.
12
+ #
13
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
14
+ # not rewindable.
15
+ class FileInput
16
+ extend WhopSDK::Internal::Type::Converter
17
+
18
+ private_class_method :new
19
+
20
+ # @api public
21
+ #
22
+ # @param other [Object]
23
+ #
24
+ # @return [Boolean]
25
+ def self.===(other)
26
+ case other
27
+ in Pathname | StringIO | IO | String | WhopSDK::FilePart
28
+ true
29
+ else
30
+ false
31
+ end
32
+ end
33
+
34
+ # @api public
35
+ #
36
+ # @param other [Object]
37
+ #
38
+ # @return [Boolean]
39
+ def self.==(other) = other.is_a?(Class) && other <= WhopSDK::Internal::Type::FileInput
40
+
41
+ class << self
42
+ # @api private
43
+ #
44
+ # @param value [StringIO, String, Object]
45
+ #
46
+ # @param state [Hash{Symbol=>Object}] .
47
+ #
48
+ # @option state [Boolean] :translate_names
49
+ #
50
+ # @option state [Boolean] :strictness
51
+ #
52
+ # @option state [Hash{Symbol=>Object}] :exactness
53
+ #
54
+ # @option state [Class<StandardError>] :error
55
+ #
56
+ # @option state [Integer] :branched
57
+ #
58
+ # @return [StringIO, Object]
59
+ def coerce(value, state:)
60
+ exactness = state.fetch(:exactness)
61
+ case value
62
+ in String
63
+ exactness[:yes] += 1
64
+ StringIO.new(value)
65
+ in StringIO
66
+ exactness[:yes] += 1
67
+ value
68
+ else
69
+ state[:error] = TypeError.new("#{value.class} can't be coerced into #{StringIO}")
70
+ exactness[:no] += 1
71
+ value
72
+ end
73
+ end
74
+
75
+ # @api private
76
+ #
77
+ # @param value [Pathname, StringIO, IO, String, Object]
78
+ #
79
+ # @param state [Hash{Symbol=>Object}] .
80
+ #
81
+ # @option state [Boolean] :can_retry
82
+ #
83
+ # @return [Pathname, StringIO, IO, String, Object]
84
+ def dump(value, state:)
85
+ case value
86
+ in StringIO | String
87
+ # https://datatracker.ietf.org/doc/html/rfc7578#section-4.2
88
+ # while not required, a filename is recommended, and in practice many servers do expect this
89
+ WhopSDK::FilePart.new(value, filename: "upload")
90
+ in IO
91
+ state[:can_retry] = false
92
+ value.to_path.nil? ? WhopSDK::FilePart.new(value, filename: "upload") : value
93
+ in WhopSDK::FilePart if value.content.is_a?(IO)
94
+ state[:can_retry] = false
95
+ value
96
+ else
97
+ value
98
+ end
99
+ end
100
+
101
+ # @api private
102
+ #
103
+ # @return [Object]
104
+ def to_sorbet_type
105
+ T.any(Pathname, StringIO, IO, String, WhopSDK::FilePart)
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end