whop_sdk 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +8 -0
  5. data/lib/whop_sdk/internal/transport/base_client.rb +7 -1
  6. data/lib/whop_sdk/internal/transport/pooled_net_requester.rb +6 -2
  7. data/lib/whop_sdk/models/access_level.rb +1 -1
  8. data/lib/whop_sdk/models/access_pass_type.rb +2 -1
  9. data/lib/whop_sdk/models/access_token_create_params.rb +67 -0
  10. data/lib/whop_sdk/models/access_token_create_response.rb +27 -0
  11. data/lib/whop_sdk/models/app_build_create_params.rb +53 -29
  12. data/lib/whop_sdk/models/app_update_params.rb +53 -29
  13. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +119 -43
  14. data/lib/whop_sdk/models/company.rb +13 -1
  15. data/lib/whop_sdk/models/company_create_params.rb +46 -0
  16. data/lib/whop_sdk/models/company_list_params.rb +62 -0
  17. data/lib/whop_sdk/models/company_list_response.rb +175 -0
  18. data/lib/whop_sdk/models/course.rb +18 -1
  19. data/lib/whop_sdk/models/course_create_params.rb +94 -30
  20. data/lib/whop_sdk/models/course_lesson_create_params.rb +77 -1
  21. data/lib/whop_sdk/models/course_lesson_list_response.rb +43 -1
  22. data/lib/whop_sdk/models/course_lesson_update_params.rb +280 -83
  23. data/lib/whop_sdk/models/course_list_response.rb +18 -1
  24. data/lib/whop_sdk/models/course_student_list_params.rb +62 -0
  25. data/lib/whop_sdk/models/course_student_list_response.rb +97 -0
  26. data/lib/whop_sdk/models/course_student_retrieve_params.rb +14 -0
  27. data/lib/whop_sdk/models/course_student_retrieve_response.rb +149 -0
  28. data/lib/whop_sdk/models/course_update_params.rb +70 -28
  29. data/lib/whop_sdk/models/course_visibilities.rb +17 -0
  30. data/lib/whop_sdk/models/embed_type.rb +16 -0
  31. data/lib/whop_sdk/models/entry.rb +3 -3
  32. data/lib/whop_sdk/models/entry_list_response.rb +3 -3
  33. data/lib/whop_sdk/models/experience.rb +5 -6
  34. data/lib/whop_sdk/models/experience_update_params.rb +53 -29
  35. data/lib/whop_sdk/models/forum_post.rb +2 -2
  36. data/lib/whop_sdk/models/forum_post_create_params.rb +51 -27
  37. data/lib/whop_sdk/models/forum_post_list_response.rb +2 -2
  38. data/lib/whop_sdk/models/forum_post_update_params.rb +51 -27
  39. data/lib/whop_sdk/models/global_affiliate_status.rb +1 -1
  40. data/lib/whop_sdk/models/invoice_create_params.rb +50 -34
  41. data/lib/whop_sdk/models/invoice_list_params.rb +27 -40
  42. data/lib/whop_sdk/models/lesson.rb +59 -9
  43. data/lib/whop_sdk/models/member_list_params.rb +11 -11
  44. data/lib/whop_sdk/models/member_list_response.rb +3 -3
  45. data/lib/whop_sdk/models/member_retrieve_response.rb +3 -3
  46. data/lib/whop_sdk/models/membership_list_params.rb +9 -9
  47. data/lib/whop_sdk/models/message.rb +2 -2
  48. data/lib/whop_sdk/models/message_create_params.rb +51 -27
  49. data/lib/whop_sdk/models/message_list_response.rb +2 -2
  50. data/lib/whop_sdk/models/message_update_params.rb +51 -27
  51. data/lib/whop_sdk/models/payment.rb +13 -4
  52. data/lib/whop_sdk/models/payment_list_response.rb +13 -4
  53. data/lib/whop_sdk/models/payment_method_types.rb +2 -1
  54. data/lib/whop_sdk/models/plan.rb +54 -5
  55. data/lib/whop_sdk/models/plan_create_params.rb +99 -24
  56. data/lib/whop_sdk/models/plan_list_response.rb +57 -5
  57. data/lib/whop_sdk/models/plan_type.rb +1 -1
  58. data/lib/whop_sdk/models/plan_update_params.rb +97 -22
  59. data/lib/whop_sdk/models/product.rb +1 -1
  60. data/lib/whop_sdk/models/product_create_params.rb +6 -6
  61. data/lib/whop_sdk/models/product_list_item.rb +1 -1
  62. data/lib/whop_sdk/models/product_update_params.rb +57 -33
  63. data/lib/whop_sdk/models/promo_code.rb +3 -3
  64. data/lib/whop_sdk/models/promo_code_list_response.rb +3 -3
  65. data/lib/whop_sdk/models/transfer.rb +9 -1
  66. data/lib/whop_sdk/models/transfer_create_params.rb +9 -1
  67. data/lib/whop_sdk/models/transfer_list_response.rb +9 -1
  68. data/lib/whop_sdk/models.rb +14 -0
  69. data/lib/whop_sdk/resources/access_tokens.rb +46 -0
  70. data/lib/whop_sdk/resources/app_builds.rb +5 -3
  71. data/lib/whop_sdk/resources/apps.rb +4 -3
  72. data/lib/whop_sdk/resources/authorized_users.rb +2 -1
  73. data/lib/whop_sdk/resources/chat_channels.rb +9 -2
  74. data/lib/whop_sdk/resources/checkout_configurations.rb +8 -7
  75. data/lib/whop_sdk/resources/companies.rb +72 -1
  76. data/lib/whop_sdk/resources/course_chapters.rb +5 -3
  77. data/lib/whop_sdk/resources/course_lesson_interactions.rb +4 -3
  78. data/lib/whop_sdk/resources/course_lessons.rb +25 -7
  79. data/lib/whop_sdk/resources/course_students.rb +77 -0
  80. data/lib/whop_sdk/resources/courses.rb +24 -7
  81. data/lib/whop_sdk/resources/entries.rb +6 -3
  82. data/lib/whop_sdk/resources/experiences.rb +9 -7
  83. data/lib/whop_sdk/resources/forum_posts.rb +5 -4
  84. data/lib/whop_sdk/resources/forums.rb +3 -2
  85. data/lib/whop_sdk/resources/invoices.rb +22 -16
  86. data/lib/whop_sdk/resources/ledger_accounts.rb +6 -2
  87. data/lib/whop_sdk/resources/members.rb +6 -5
  88. data/lib/whop_sdk/resources/memberships.rb +10 -8
  89. data/lib/whop_sdk/resources/messages.rb +5 -4
  90. data/lib/whop_sdk/resources/payments.rb +7 -4
  91. data/lib/whop_sdk/resources/plans.rb +14 -8
  92. data/lib/whop_sdk/resources/products.rb +10 -8
  93. data/lib/whop_sdk/resources/promo_codes.rb +4 -2
  94. data/lib/whop_sdk/resources/reactions.rb +2 -1
  95. data/lib/whop_sdk/resources/reviews.rb +2 -1
  96. data/lib/whop_sdk/resources/shipments.rb +2 -1
  97. data/lib/whop_sdk/resources/support_channels.rb +2 -1
  98. data/lib/whop_sdk/resources/transfers.rb +5 -2
  99. data/lib/whop_sdk/resources/users.rb +9 -3
  100. data/lib/whop_sdk/version.rb +1 -1
  101. data/lib/whop_sdk.rb +14 -1
  102. data/manifest.yaml +1 -0
  103. data/rbi/whop_sdk/client.rbi +6 -0
  104. data/rbi/whop_sdk/internal/transport/base_client.rbi +5 -0
  105. data/rbi/whop_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  106. data/rbi/whop_sdk/internal/type/base_model.rbi +8 -4
  107. data/rbi/whop_sdk/models/access_level.rbi +1 -1
  108. data/rbi/whop_sdk/models/access_pass_type.rbi +2 -1
  109. data/rbi/whop_sdk/models/access_token_create_params.rbi +126 -0
  110. data/rbi/whop_sdk/models/access_token_create_response.rbi +37 -0
  111. data/rbi/whop_sdk/models/app_build_create_params.rbi +80 -40
  112. data/rbi/whop_sdk/models/app_update_params.rbi +86 -37
  113. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +196 -68
  114. data/rbi/whop_sdk/models/company.rbi +10 -0
  115. data/rbi/whop_sdk/models/company_create_params.rbi +67 -0
  116. data/rbi/whop_sdk/models/company_list_params.rbi +83 -0
  117. data/rbi/whop_sdk/models/company_list_response.rbi +235 -0
  118. data/rbi/whop_sdk/models/course.rbi +21 -3
  119. data/rbi/whop_sdk/models/course_create_params.rbi +126 -38
  120. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +126 -0
  121. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +68 -0
  122. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +449 -111
  123. data/rbi/whop_sdk/models/course_list_response.rbi +21 -3
  124. data/rbi/whop_sdk/models/course_student_list_params.rbi +83 -0
  125. data/rbi/whop_sdk/models/course_student_list_response.rbi +142 -0
  126. data/rbi/whop_sdk/models/course_student_retrieve_params.rbi +30 -0
  127. data/rbi/whop_sdk/models/course_student_retrieve_response.rbi +250 -0
  128. data/rbi/whop_sdk/models/course_update_params.rbi +104 -38
  129. data/rbi/whop_sdk/models/course_visibilities.rbi +23 -0
  130. data/rbi/whop_sdk/models/embed_type.rbi +20 -0
  131. data/rbi/whop_sdk/models/entry.rbi +3 -3
  132. data/rbi/whop_sdk/models/entry_list_response.rbi +3 -3
  133. data/rbi/whop_sdk/models/experience.rbi +7 -9
  134. data/rbi/whop_sdk/models/experience_update_params.rbi +84 -38
  135. data/rbi/whop_sdk/models/forum_post.rbi +2 -2
  136. data/rbi/whop_sdk/models/forum_post_create_params.rbi +85 -32
  137. data/rbi/whop_sdk/models/forum_post_list_response.rbi +2 -2
  138. data/rbi/whop_sdk/models/forum_post_update_params.rbi +85 -32
  139. data/rbi/whop_sdk/models/global_affiliate_status.rbi +1 -1
  140. data/rbi/whop_sdk/models/invoice_create_params.rbi +60 -46
  141. data/rbi/whop_sdk/models/invoice_list_params.rbi +26 -71
  142. data/rbi/whop_sdk/models/lesson.rbi +68 -10
  143. data/rbi/whop_sdk/models/member_list_params.rbi +10 -10
  144. data/rbi/whop_sdk/models/member_list_response.rbi +6 -6
  145. data/rbi/whop_sdk/models/member_retrieve_response.rbi +6 -6
  146. data/rbi/whop_sdk/models/membership_list_params.rbi +8 -8
  147. data/rbi/whop_sdk/models/message.rbi +2 -2
  148. data/rbi/whop_sdk/models/message_create_params.rbi +85 -32
  149. data/rbi/whop_sdk/models/message_list_response.rbi +2 -2
  150. data/rbi/whop_sdk/models/message_update_params.rbi +85 -32
  151. data/rbi/whop_sdk/models/payment.rbi +13 -3
  152. data/rbi/whop_sdk/models/payment_list_response.rbi +13 -3
  153. data/rbi/whop_sdk/models/payment_method_types.rbi +3 -1
  154. data/rbi/whop_sdk/models/plan.rbi +88 -4
  155. data/rbi/whop_sdk/models/plan_create_params.rbi +176 -34
  156. data/rbi/whop_sdk/models/plan_list_response.rbi +100 -4
  157. data/rbi/whop_sdk/models/plan_type.rbi +1 -1
  158. data/rbi/whop_sdk/models/plan_update_params.rbi +174 -32
  159. data/rbi/whop_sdk/models/product.rbi +1 -1
  160. data/rbi/whop_sdk/models/product_create_params.rbi +6 -6
  161. data/rbi/whop_sdk/models/product_list_item.rbi +1 -1
  162. data/rbi/whop_sdk/models/product_update_params.rbi +87 -43
  163. data/rbi/whop_sdk/models/promo_code.rbi +3 -3
  164. data/rbi/whop_sdk/models/promo_code_list_response.rbi +3 -3
  165. data/rbi/whop_sdk/models/transfer.rbi +8 -0
  166. data/rbi/whop_sdk/models/transfer_create_params.rbi +8 -0
  167. data/rbi/whop_sdk/models/transfer_list_response.rbi +8 -0
  168. data/rbi/whop_sdk/models.rbi +14 -0
  169. data/rbi/whop_sdk/resources/access_tokens.rbi +41 -0
  170. data/rbi/whop_sdk/resources/app_builds.rbi +15 -3
  171. data/rbi/whop_sdk/resources/apps.rbi +13 -2
  172. data/rbi/whop_sdk/resources/authorized_users.rbi +5 -1
  173. data/rbi/whop_sdk/resources/chat_channels.rbi +8 -1
  174. data/rbi/whop_sdk/resources/checkout_configurations.rbi +11 -8
  175. data/rbi/whop_sdk/resources/companies.rbi +68 -1
  176. data/rbi/whop_sdk/resources/course_chapters.rbi +11 -2
  177. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +7 -3
  178. data/rbi/whop_sdk/resources/course_lessons.rbi +62 -4
  179. data/rbi/whop_sdk/resources/course_students.rbi +69 -0
  180. data/rbi/whop_sdk/resources/courses.rbi +50 -4
  181. data/rbi/whop_sdk/resources/entries.rbi +15 -3
  182. data/rbi/whop_sdk/resources/experiences.rbi +21 -3
  183. data/rbi/whop_sdk/resources/forum_posts.rbi +18 -3
  184. data/rbi/whop_sdk/resources/forums.rbi +6 -1
  185. data/rbi/whop_sdk/resources/invoices.rbi +38 -23
  186. data/rbi/whop_sdk/resources/ledger_accounts.rbi +7 -2
  187. data/rbi/whop_sdk/resources/members.rbi +9 -5
  188. data/rbi/whop_sdk/resources/memberships.rbi +16 -5
  189. data/rbi/whop_sdk/resources/messages.rbi +18 -3
  190. data/rbi/whop_sdk/resources/payments.rbi +16 -3
  191. data/rbi/whop_sdk/resources/plans.rbi +40 -5
  192. data/rbi/whop_sdk/resources/products.rbi +21 -7
  193. data/rbi/whop_sdk/resources/promo_codes.rbi +10 -2
  194. data/rbi/whop_sdk/resources/reactions.rbi +5 -1
  195. data/rbi/whop_sdk/resources/reviews.rbi +5 -1
  196. data/rbi/whop_sdk/resources/shipments.rbi +5 -1
  197. data/rbi/whop_sdk/resources/support_channels.rbi +5 -1
  198. data/rbi/whop_sdk/resources/transfers.rbi +8 -1
  199. data/rbi/whop_sdk/resources/users.rbi +13 -2
  200. data/sig/whop_sdk/client.rbs +4 -0
  201. data/sig/whop_sdk/internal/transport/base_client.rbs +2 -0
  202. data/sig/whop_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  203. data/sig/whop_sdk/models/access_token_create_params.rbs +56 -0
  204. data/sig/whop_sdk/models/access_token_create_response.rbs +15 -0
  205. data/sig/whop_sdk/models/app_build_create_params.rbs +29 -10
  206. data/sig/whop_sdk/models/app_update_params.rbs +29 -10
  207. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +72 -21
  208. data/sig/whop_sdk/models/company.rbs +5 -0
  209. data/sig/whop_sdk/models/company_create_params.rbs +41 -0
  210. data/sig/whop_sdk/models/company_list_params.rbs +51 -0
  211. data/sig/whop_sdk/models/company_list_response.rbs +109 -0
  212. data/sig/whop_sdk/models/course.rbs +13 -3
  213. data/sig/whop_sdk/models/course_create_params.rbs +49 -10
  214. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  215. data/sig/whop_sdk/models/course_lesson_list_response.rbs +25 -0
  216. data/sig/whop_sdk/models/course_lesson_update_params.rbs +162 -30
  217. data/sig/whop_sdk/models/course_list_response.rbs +13 -3
  218. data/sig/whop_sdk/models/course_student_list_params.rbs +51 -0
  219. data/sig/whop_sdk/models/course_student_list_response.rbs +64 -0
  220. data/sig/whop_sdk/models/course_student_retrieve_params.rbs +15 -0
  221. data/sig/whop_sdk/models/course_student_retrieve_response.rbs +106 -0
  222. data/sig/whop_sdk/models/course_update_params.rbs +40 -11
  223. data/sig/whop_sdk/models/course_visibilities.rbs +14 -0
  224. data/sig/whop_sdk/models/embed_type.rbs +14 -0
  225. data/sig/whop_sdk/models/experience_update_params.rbs +29 -10
  226. data/sig/whop_sdk/models/forum_post_create_params.rbs +29 -10
  227. data/sig/whop_sdk/models/forum_post_update_params.rbs +29 -10
  228. data/sig/whop_sdk/models/invoice_create_params.rbs +28 -18
  229. data/sig/whop_sdk/models/invoice_list_params.rbs +16 -33
  230. data/sig/whop_sdk/models/lesson.rbs +33 -8
  231. data/sig/whop_sdk/models/member_list_params.rbs +5 -5
  232. data/sig/whop_sdk/models/membership_list_params.rbs +5 -5
  233. data/sig/whop_sdk/models/message_create_params.rbs +29 -10
  234. data/sig/whop_sdk/models/message_update_params.rbs +29 -10
  235. data/sig/whop_sdk/models/payment.rbs +5 -0
  236. data/sig/whop_sdk/models/payment_list_response.rbs +5 -0
  237. data/sig/whop_sdk/models/payment_method_types.rbs +4 -2
  238. data/sig/whop_sdk/models/plan.rbs +32 -0
  239. data/sig/whop_sdk/models/plan_create_params.rbs +61 -10
  240. data/sig/whop_sdk/models/plan_list_response.rbs +32 -0
  241. data/sig/whop_sdk/models/plan_update_params.rbs +61 -10
  242. data/sig/whop_sdk/models/product_update_params.rbs +29 -10
  243. data/sig/whop_sdk/models/transfer.rbs +5 -0
  244. data/sig/whop_sdk/models/transfer_create_params.rbs +5 -0
  245. data/sig/whop_sdk/models/transfer_list_response.rbs +5 -0
  246. data/sig/whop_sdk/models.rbs +14 -0
  247. data/sig/whop_sdk/resources/access_tokens.rbs +15 -0
  248. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  249. data/sig/whop_sdk/resources/apps.rbs +1 -1
  250. data/sig/whop_sdk/resources/checkout_configurations.rbs +2 -2
  251. data/sig/whop_sdk/resources/companies.rbs +18 -0
  252. data/sig/whop_sdk/resources/course_lessons.rbs +10 -2
  253. data/sig/whop_sdk/resources/course_students.rbs +22 -0
  254. data/sig/whop_sdk/resources/courses.rbs +8 -2
  255. data/sig/whop_sdk/resources/experiences.rbs +1 -1
  256. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  257. data/sig/whop_sdk/resources/invoices.rbs +8 -6
  258. data/sig/whop_sdk/resources/members.rbs +1 -1
  259. data/sig/whop_sdk/resources/memberships.rbs +1 -1
  260. data/sig/whop_sdk/resources/messages.rbs +2 -2
  261. data/sig/whop_sdk/resources/plans.rbs +4 -2
  262. data/sig/whop_sdk/resources/products.rbs +1 -1
  263. data/sig/whop_sdk/resources/transfers.rbs +1 -0
  264. metadata +41 -5
  265. data/lib/whop_sdk/models/invoice_create_response.rb +0 -27
  266. data/rbi/whop_sdk/models/invoice_create_response.rbi +0 -49
  267. data/sig/whop_sdk/models/invoice_create_response.rbs +0 -19
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class AccessTokenCreateResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::AccessTokenCreateResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The JWT access token string.
15
+ sig { returns(String) }
16
+ attr_accessor :token
17
+
18
+ # The expiration timestamp of the access token.
19
+ sig { returns(Time) }
20
+ attr_accessor :expires_at
21
+
22
+ # An object representing an access token used for authenticating API requests.
23
+ sig { params(token: String, expires_at: Time).returns(T.attached_class) }
24
+ def self.new(
25
+ # The JWT access token string.
26
+ token:,
27
+ # The expiration timestamp of the access token.
28
+ expires_at:
29
+ )
30
+ end
31
+
32
+ sig { override.returns({ token: String, expires_at: Time }) }
33
+ def to_hash
34
+ end
35
+ end
36
+ end
37
+ end
@@ -14,15 +14,15 @@ module WhopSDK
14
14
  # Attachment input for the app build file. This should be an upload in .zip
15
15
  # format. The zip should contain at least one main_js_bundle.hbc file and
16
16
  # optionally an assets folder next to it.
17
- sig { returns(WhopSDK::AppBuildCreateParams::Attachment) }
18
- attr_reader :attachment
19
-
20
17
  sig do
21
- params(
22
- attachment: WhopSDK::AppBuildCreateParams::Attachment::OrHash
23
- ).void
18
+ returns(
19
+ T.any(
20
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID,
21
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID
22
+ )
23
+ )
24
24
  end
25
- attr_writer :attachment
25
+ attr_accessor :attachment
26
26
 
27
27
  # Checksum of the app build file. This is generated by the client and used to
28
28
  # verify the integrity of the file that is submitted when un-packaged later on a
@@ -46,7 +46,11 @@ module WhopSDK
46
46
 
47
47
  sig do
48
48
  params(
49
- attachment: WhopSDK::AppBuildCreateParams::Attachment::OrHash,
49
+ attachment:
50
+ T.any(
51
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID::OrHash,
52
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID::OrHash
53
+ ),
50
54
  checksum: String,
51
55
  platform: WhopSDK::AppBuildPlatforms::OrSymbol,
52
56
  app_id: T.nilable(String),
@@ -79,7 +83,11 @@ module WhopSDK
79
83
  sig do
80
84
  override.returns(
81
85
  {
82
- attachment: WhopSDK::AppBuildCreateParams::Attachment,
86
+ attachment:
87
+ T.any(
88
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID,
89
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID
90
+ ),
83
91
  checksum: String,
84
92
  platform: WhopSDK::AppBuildPlatforms::OrSymbol,
85
93
  app_id: T.nilable(String),
@@ -92,54 +100,86 @@ module WhopSDK
92
100
  def to_hash
93
101
  end
94
102
 
95
- class Attachment < WhopSDK::Internal::Type::BaseModel
96
- OrHash =
103
+ # Attachment input for the app build file. This should be an upload in .zip
104
+ # format. The zip should contain at least one main_js_bundle.hbc file and
105
+ # optionally an assets folder next to it.
106
+ module Attachment
107
+ extend WhopSDK::Internal::Type::Union
108
+
109
+ Variants =
97
110
  T.type_alias do
98
111
  T.any(
99
- WhopSDK::AppBuildCreateParams::Attachment,
100
- WhopSDK::Internal::AnyHash
112
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID,
113
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID
101
114
  )
102
115
  end
103
116
 
104
- # The ID of an existing attachment object. Use this when updating a resource and
105
- # keeping a subset of the attachments. Don't use this unless you know what you're
106
- # doing.
107
- sig { returns(T.nilable(String)) }
108
- attr_accessor :id
117
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
118
+ OrHash =
119
+ T.type_alias do
120
+ T.any(
121
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithDirectUploadID,
122
+ WhopSDK::Internal::AnyHash
123
+ )
124
+ end
109
125
 
110
- # This ID should be used the first time you upload an attachment. It is the ID of
111
- # the direct upload that was created when uploading the file to S3 via the
112
- # mediaDirectUpload mutation.
113
- sig { returns(T.nilable(String)) }
114
- attr_accessor :direct_upload_id
126
+ # This ID should be used the first time you upload an attachment. It is the ID of
127
+ # the direct upload that was created when uploading the file to S3 via the
128
+ # mediaDirectUpload mutation.
129
+ sig { returns(String) }
130
+ attr_accessor :direct_upload_id
115
131
 
116
- # Attachment input for the app build file. This should be an upload in .zip
117
- # format. The zip should contain at least one main_js_bundle.hbc file and
118
- # optionally an assets folder next to it.
119
- sig do
120
- params(
121
- id: T.nilable(String),
122
- direct_upload_id: T.nilable(String)
123
- ).returns(T.attached_class)
132
+ # Input for an attachment
133
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
134
+ def self.new(
135
+ # This ID should be used the first time you upload an attachment. It is the ID of
136
+ # the direct upload that was created when uploading the file to S3 via the
137
+ # mediaDirectUpload mutation.
138
+ direct_upload_id:
139
+ )
140
+ end
141
+
142
+ sig { override.returns({ direct_upload_id: String }) }
143
+ def to_hash
144
+ end
124
145
  end
125
- def self.new(
146
+
147
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
148
+ OrHash =
149
+ T.type_alias do
150
+ T.any(
151
+ WhopSDK::AppBuildCreateParams::Attachment::AttachmentInputWithID,
152
+ WhopSDK::Internal::AnyHash
153
+ )
154
+ end
155
+
126
156
  # The ID of an existing attachment object. Use this when updating a resource and
127
157
  # keeping a subset of the attachments. Don't use this unless you know what you're
128
158
  # doing.
129
- id: nil,
130
- # This ID should be used the first time you upload an attachment. It is the ID of
131
- # the direct upload that was created when uploading the file to S3 via the
132
- # mediaDirectUpload mutation.
133
- direct_upload_id: nil
134
- )
159
+ sig { returns(String) }
160
+ attr_accessor :id
161
+
162
+ # Input for an attachment
163
+ sig { params(id: String).returns(T.attached_class) }
164
+ def self.new(
165
+ # The ID of an existing attachment object. Use this when updating a resource and
166
+ # keeping a subset of the attachments. Don't use this unless you know what you're
167
+ # doing.
168
+ id:
169
+ )
170
+ end
171
+
172
+ sig { override.returns({ id: String }) }
173
+ def to_hash
174
+ end
135
175
  end
136
176
 
137
177
  sig do
138
178
  override.returns(
139
- { id: T.nilable(String), direct_upload_id: T.nilable(String) }
179
+ T::Array[WhopSDK::AppBuildCreateParams::Attachment::Variants]
140
180
  )
141
181
  end
142
- def to_hash
182
+ def self.variants
143
183
  end
144
184
  end
145
185
  end
@@ -36,13 +36,17 @@ module WhopSDK
36
36
  attr_accessor :experience_path
37
37
 
38
38
  # The icon for the app
39
- sig { returns(T.nilable(WhopSDK::AppUpdateParams::Icon)) }
40
- attr_reader :icon
41
-
42
39
  sig do
43
- params(icon: T.nilable(WhopSDK::AppUpdateParams::Icon::OrHash)).void
40
+ returns(
41
+ T.nilable(
42
+ T.any(
43
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID,
44
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID
45
+ )
46
+ )
47
+ )
44
48
  end
45
- attr_writer :icon
49
+ attr_accessor :icon
46
50
 
47
51
  # The name of the app
48
52
  sig { returns(T.nilable(String)) }
@@ -68,7 +72,13 @@ module WhopSDK
68
72
  description: T.nilable(String),
69
73
  discover_path: T.nilable(String),
70
74
  experience_path: T.nilable(String),
71
- icon: T.nilable(WhopSDK::AppUpdateParams::Icon::OrHash),
75
+ icon:
76
+ T.nilable(
77
+ T.any(
78
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID::OrHash,
79
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID::OrHash
80
+ )
81
+ ),
72
82
  name: T.nilable(String),
73
83
  required_scopes:
74
84
  T.nilable(
@@ -112,7 +122,13 @@ module WhopSDK
112
122
  description: T.nilable(String),
113
123
  discover_path: T.nilable(String),
114
124
  experience_path: T.nilable(String),
115
- icon: T.nilable(WhopSDK::AppUpdateParams::Icon),
125
+ icon:
126
+ T.nilable(
127
+ T.any(
128
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID,
129
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID
130
+ )
131
+ ),
116
132
  name: T.nilable(String),
117
133
  required_scopes:
118
134
  T.nilable(
@@ -126,49 +142,82 @@ module WhopSDK
126
142
  def to_hash
127
143
  end
128
144
 
129
- class Icon < WhopSDK::Internal::Type::BaseModel
130
- OrHash =
145
+ # The icon for the app
146
+ module Icon
147
+ extend WhopSDK::Internal::Type::Union
148
+
149
+ Variants =
131
150
  T.type_alias do
132
- T.any(WhopSDK::AppUpdateParams::Icon, WhopSDK::Internal::AnyHash)
151
+ T.any(
152
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID,
153
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID
154
+ )
133
155
  end
134
156
 
135
- # The ID of an existing attachment object. Use this when updating a resource and
136
- # keeping a subset of the attachments. Don't use this unless you know what you're
137
- # doing.
138
- sig { returns(T.nilable(String)) }
139
- attr_accessor :id
157
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
158
+ OrHash =
159
+ T.type_alias do
160
+ T.any(
161
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithDirectUploadID,
162
+ WhopSDK::Internal::AnyHash
163
+ )
164
+ end
140
165
 
141
- # This ID should be used the first time you upload an attachment. It is the ID of
142
- # the direct upload that was created when uploading the file to S3 via the
143
- # mediaDirectUpload mutation.
144
- sig { returns(T.nilable(String)) }
145
- attr_accessor :direct_upload_id
166
+ # This ID should be used the first time you upload an attachment. It is the ID of
167
+ # the direct upload that was created when uploading the file to S3 via the
168
+ # mediaDirectUpload mutation.
169
+ sig { returns(String) }
170
+ attr_accessor :direct_upload_id
171
+
172
+ # Input for an attachment
173
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
174
+ def self.new(
175
+ # This ID should be used the first time you upload an attachment. It is the ID of
176
+ # the direct upload that was created when uploading the file to S3 via the
177
+ # mediaDirectUpload mutation.
178
+ direct_upload_id:
179
+ )
180
+ end
146
181
 
147
- # The icon for the app
148
- sig do
149
- params(
150
- id: T.nilable(String),
151
- direct_upload_id: T.nilable(String)
152
- ).returns(T.attached_class)
182
+ sig { override.returns({ direct_upload_id: String }) }
183
+ def to_hash
184
+ end
153
185
  end
154
- def self.new(
186
+
187
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
188
+ OrHash =
189
+ T.type_alias do
190
+ T.any(
191
+ WhopSDK::AppUpdateParams::Icon::AttachmentInputWithID,
192
+ WhopSDK::Internal::AnyHash
193
+ )
194
+ end
195
+
155
196
  # The ID of an existing attachment object. Use this when updating a resource and
156
197
  # keeping a subset of the attachments. Don't use this unless you know what you're
157
198
  # doing.
158
- id: nil,
159
- # This ID should be used the first time you upload an attachment. It is the ID of
160
- # the direct upload that was created when uploading the file to S3 via the
161
- # mediaDirectUpload mutation.
162
- direct_upload_id: nil
163
- )
199
+ sig { returns(String) }
200
+ attr_accessor :id
201
+
202
+ # Input for an attachment
203
+ sig { params(id: String).returns(T.attached_class) }
204
+ def self.new(
205
+ # The ID of an existing attachment object. Use this when updating a resource and
206
+ # keeping a subset of the attachments. Don't use this unless you know what you're
207
+ # doing.
208
+ id:
209
+ )
210
+ end
211
+
212
+ sig { override.returns({ id: String }) }
213
+ def to_hash
214
+ end
164
215
  end
165
216
 
166
217
  sig do
167
- override.returns(
168
- { id: T.nilable(String), direct_upload_id: T.nilable(String) }
169
- )
218
+ override.returns(T::Array[WhopSDK::AppUpdateParams::Icon::Variants])
170
219
  end
171
- def to_hash
220
+ def self.variants
172
221
  end
173
222
  end
174
223