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
@@ -30,6 +30,10 @@ module WhopSDK
30
30
  sig { returns(WhopSDK::Languages::TaggedSymbol) }
31
31
  attr_accessor :language
32
32
 
33
+ # The order of the course within its experience
34
+ sig { returns(String) }
35
+ attr_accessor :order
36
+
33
37
  # Whether the course requires students to complete the previous lesson before
34
38
  # moving on to the next one
35
39
  sig { returns(T::Boolean) }
@@ -59,6 +63,11 @@ module WhopSDK
59
63
  sig { returns(Time) }
60
64
  attr_accessor :updated_at
61
65
 
66
+ # The visibility of the course. Determines how / whether this course is visible to
67
+ # users.
68
+ sig { returns(WhopSDK::CourseVisibilities::TaggedSymbol) }
69
+ attr_accessor :visibility
70
+
62
71
  # A course from the courses app
63
72
  sig do
64
73
  params(
@@ -67,12 +76,14 @@ module WhopSDK
67
76
  created_at: Time,
68
77
  description: T.nilable(String),
69
78
  language: WhopSDK::Languages::OrSymbol,
79
+ order: String,
70
80
  require_completing_lessons_in_order: T::Boolean,
71
81
  tagline: T.nilable(String),
72
82
  thumbnail:
73
83
  T.nilable(WhopSDK::Models::CourseListResponse::Thumbnail::OrHash),
74
84
  title: T.nilable(String),
75
- updated_at: Time
85
+ updated_at: Time,
86
+ visibility: WhopSDK::CourseVisibilities::OrSymbol
76
87
  ).returns(T.attached_class)
77
88
  end
78
89
  def self.new(
@@ -88,6 +99,8 @@ module WhopSDK
88
99
  # The language spoken in the video content of the course, used to generate closed
89
100
  # captions in the right language
90
101
  language:,
102
+ # The order of the course within its experience
103
+ order:,
91
104
  # Whether the course requires students to complete the previous lesson before
92
105
  # moving on to the next one
93
106
  require_completing_lessons_in_order:,
@@ -98,7 +111,10 @@ module WhopSDK
98
111
  # The title of the course
99
112
  title:,
100
113
  # The timestamp of when the course was last updated
101
- updated_at:
114
+ updated_at:,
115
+ # The visibility of the course. Determines how / whether this course is visible to
116
+ # users.
117
+ visibility:
102
118
  )
103
119
  end
104
120
 
@@ -110,12 +126,14 @@ module WhopSDK
110
126
  created_at: Time,
111
127
  description: T.nilable(String),
112
128
  language: WhopSDK::Languages::TaggedSymbol,
129
+ order: String,
113
130
  require_completing_lessons_in_order: T::Boolean,
114
131
  tagline: T.nilable(String),
115
132
  thumbnail:
116
133
  T.nilable(WhopSDK::Models::CourseListResponse::Thumbnail),
117
134
  title: T.nilable(String),
118
- updated_at: Time
135
+ updated_at: Time,
136
+ visibility: WhopSDK::CourseVisibilities::TaggedSymbol
119
137
  }
120
138
  )
121
139
  end
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CourseStudentListParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(WhopSDK::CourseStudentListParams, WhopSDK::Internal::AnyHash)
12
+ end
13
+
14
+ # The ID of the course
15
+ sig { returns(String) }
16
+ attr_accessor :course_id
17
+
18
+ # Returns the elements in the list that come after the specified cursor.
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :after
21
+
22
+ # Returns the elements in the list that come before the specified cursor.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :before
25
+
26
+ # Returns the first _n_ elements from the list.
27
+ sig { returns(T.nilable(Integer)) }
28
+ attr_accessor :first
29
+
30
+ # Filter students by name - returns students whose names match the keyword
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :keyword
33
+
34
+ # Returns the last _n_ elements from the list.
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_accessor :last
37
+
38
+ sig do
39
+ params(
40
+ course_id: String,
41
+ after: T.nilable(String),
42
+ before: T.nilable(String),
43
+ first: T.nilable(Integer),
44
+ keyword: T.nilable(String),
45
+ last: T.nilable(Integer),
46
+ request_options: WhopSDK::RequestOptions::OrHash
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # The ID of the course
51
+ course_id:,
52
+ # Returns the elements in the list that come after the specified cursor.
53
+ after: nil,
54
+ # Returns the elements in the list that come before the specified cursor.
55
+ before: nil,
56
+ # Returns the first _n_ elements from the list.
57
+ first: nil,
58
+ # Filter students by name - returns students whose names match the keyword
59
+ keyword: nil,
60
+ # Returns the last _n_ elements from the list.
61
+ last: nil,
62
+ request_options: {}
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ course_id: String,
70
+ after: T.nilable(String),
71
+ before: T.nilable(String),
72
+ first: T.nilable(Integer),
73
+ keyword: T.nilable(String),
74
+ last: T.nilable(Integer),
75
+ request_options: WhopSDK::RequestOptions
76
+ }
77
+ )
78
+ end
79
+ def to_hash
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,142 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CourseStudentListResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::CourseStudentListResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The ID of the course student. Looks like crsi_XXX
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The number of lessons the student has completed
19
+ sig { returns(Integer) }
20
+ attr_accessor :completed_lessons_count
21
+
22
+ # The percentage of lessons completed (0-100)
23
+ sig { returns(Float) }
24
+ attr_accessor :completion_rate
25
+
26
+ # When the student first interacted with the course
27
+ sig { returns(Time) }
28
+ attr_accessor :first_interaction_at
29
+
30
+ # When the student last interacted with the course
31
+ sig { returns(Time) }
32
+ attr_accessor :last_interaction_at
33
+
34
+ # The total number of lessons the student has access to
35
+ sig { returns(Integer) }
36
+ attr_accessor :total_lessons_count
37
+
38
+ # The user who is enrolled in the course
39
+ sig { returns(WhopSDK::Models::CourseStudentListResponse::User) }
40
+ attr_reader :user
41
+
42
+ sig do
43
+ params(
44
+ user: WhopSDK::Models::CourseStudentListResponse::User::OrHash
45
+ ).void
46
+ end
47
+ attr_writer :user
48
+
49
+ # A course student (enrollment of a student in a course)
50
+ sig do
51
+ params(
52
+ id: String,
53
+ completed_lessons_count: Integer,
54
+ completion_rate: Float,
55
+ first_interaction_at: Time,
56
+ last_interaction_at: Time,
57
+ total_lessons_count: Integer,
58
+ user: WhopSDK::Models::CourseStudentListResponse::User::OrHash
59
+ ).returns(T.attached_class)
60
+ end
61
+ def self.new(
62
+ # The ID of the course student. Looks like crsi_XXX
63
+ id:,
64
+ # The number of lessons the student has completed
65
+ completed_lessons_count:,
66
+ # The percentage of lessons completed (0-100)
67
+ completion_rate:,
68
+ # When the student first interacted with the course
69
+ first_interaction_at:,
70
+ # When the student last interacted with the course
71
+ last_interaction_at:,
72
+ # The total number of lessons the student has access to
73
+ total_lessons_count:,
74
+ # The user who is enrolled in the course
75
+ user:
76
+ )
77
+ end
78
+
79
+ sig do
80
+ override.returns(
81
+ {
82
+ id: String,
83
+ completed_lessons_count: Integer,
84
+ completion_rate: Float,
85
+ first_interaction_at: Time,
86
+ last_interaction_at: Time,
87
+ total_lessons_count: Integer,
88
+ user: WhopSDK::Models::CourseStudentListResponse::User
89
+ }
90
+ )
91
+ end
92
+ def to_hash
93
+ end
94
+
95
+ class User < WhopSDK::Internal::Type::BaseModel
96
+ OrHash =
97
+ T.type_alias do
98
+ T.any(
99
+ WhopSDK::Models::CourseStudentListResponse::User,
100
+ WhopSDK::Internal::AnyHash
101
+ )
102
+ end
103
+
104
+ # The internal ID of the user.
105
+ sig { returns(String) }
106
+ attr_accessor :id
107
+
108
+ # The name of the user from their Whop account.
109
+ sig { returns(T.nilable(String)) }
110
+ attr_accessor :name
111
+
112
+ # The username of the user from their Whop account.
113
+ sig { returns(String) }
114
+ attr_accessor :username
115
+
116
+ # The user who is enrolled in the course
117
+ sig do
118
+ params(id: String, name: T.nilable(String), username: String).returns(
119
+ T.attached_class
120
+ )
121
+ end
122
+ def self.new(
123
+ # The internal ID of the user.
124
+ id:,
125
+ # The name of the user from their Whop account.
126
+ name:,
127
+ # The username of the user from their Whop account.
128
+ username:
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ { id: String, name: T.nilable(String), username: String }
135
+ )
136
+ end
137
+ def to_hash
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
@@ -0,0 +1,30 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CourseStudentRetrieveParams < WhopSDK::Internal::Type::BaseModel
6
+ extend WhopSDK::Internal::Type::RequestParameters::Converter
7
+ include WhopSDK::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ WhopSDK::CourseStudentRetrieveParams,
13
+ WhopSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig do
18
+ params(request_options: WhopSDK::RequestOptions::OrHash).returns(
19
+ T.attached_class
20
+ )
21
+ end
22
+ def self.new(request_options: {})
23
+ end
24
+
25
+ sig { override.returns({ request_options: WhopSDK::RequestOptions }) }
26
+ def to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,250 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class CourseStudentRetrieveResponse < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ WhopSDK::Models::CourseStudentRetrieveResponse,
10
+ WhopSDK::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The ID of the course student. Looks like crsi_XXX
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # The number of lessons the student has completed
19
+ sig { returns(Integer) }
20
+ attr_accessor :completed_lessons_count
21
+
22
+ # The percentage of lessons completed (0-100)
23
+ sig { returns(Float) }
24
+ attr_accessor :completion_rate
25
+
26
+ # The course the student is enrolled in
27
+ sig { returns(WhopSDK::Models::CourseStudentRetrieveResponse::Course) }
28
+ attr_reader :course
29
+
30
+ sig do
31
+ params(
32
+ course: WhopSDK::Models::CourseStudentRetrieveResponse::Course::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :course
36
+
37
+ # When the student first interacted with the course
38
+ sig { returns(Time) }
39
+ attr_accessor :first_interaction_at
40
+
41
+ # When the student last interacted with the course
42
+ sig { returns(Time) }
43
+ attr_accessor :last_interaction_at
44
+
45
+ # The total number of lessons the student has access to
46
+ sig { returns(Integer) }
47
+ attr_accessor :total_lessons_count
48
+
49
+ # The user who is enrolled in the course
50
+ sig { returns(WhopSDK::Models::CourseStudentRetrieveResponse::User) }
51
+ attr_reader :user
52
+
53
+ sig do
54
+ params(
55
+ user: WhopSDK::Models::CourseStudentRetrieveResponse::User::OrHash
56
+ ).void
57
+ end
58
+ attr_writer :user
59
+
60
+ # A course student (enrollment of a student in a course)
61
+ sig do
62
+ params(
63
+ id: String,
64
+ completed_lessons_count: Integer,
65
+ completion_rate: Float,
66
+ course:
67
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::OrHash,
68
+ first_interaction_at: Time,
69
+ last_interaction_at: Time,
70
+ total_lessons_count: Integer,
71
+ user: WhopSDK::Models::CourseStudentRetrieveResponse::User::OrHash
72
+ ).returns(T.attached_class)
73
+ end
74
+ def self.new(
75
+ # The ID of the course student. Looks like crsi_XXX
76
+ id:,
77
+ # The number of lessons the student has completed
78
+ completed_lessons_count:,
79
+ # The percentage of lessons completed (0-100)
80
+ completion_rate:,
81
+ # The course the student is enrolled in
82
+ course:,
83
+ # When the student first interacted with the course
84
+ first_interaction_at:,
85
+ # When the student last interacted with the course
86
+ last_interaction_at:,
87
+ # The total number of lessons the student has access to
88
+ total_lessons_count:,
89
+ # The user who is enrolled in the course
90
+ user:
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ id: String,
98
+ completed_lessons_count: Integer,
99
+ completion_rate: Float,
100
+ course: WhopSDK::Models::CourseStudentRetrieveResponse::Course,
101
+ first_interaction_at: Time,
102
+ last_interaction_at: Time,
103
+ total_lessons_count: Integer,
104
+ user: WhopSDK::Models::CourseStudentRetrieveResponse::User
105
+ }
106
+ )
107
+ end
108
+ def to_hash
109
+ end
110
+
111
+ class Course < WhopSDK::Internal::Type::BaseModel
112
+ OrHash =
113
+ T.type_alias do
114
+ T.any(
115
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course,
116
+ WhopSDK::Internal::AnyHash
117
+ )
118
+ end
119
+
120
+ # The ID of the course. Looks like cors_XXX
121
+ sig { returns(String) }
122
+ attr_accessor :id
123
+
124
+ # The experience that the course belongs to
125
+ sig do
126
+ returns(
127
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience
128
+ )
129
+ end
130
+ attr_reader :experience
131
+
132
+ sig do
133
+ params(
134
+ experience:
135
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience::OrHash
136
+ ).void
137
+ end
138
+ attr_writer :experience
139
+
140
+ # The title of the course
141
+ sig { returns(T.nilable(String)) }
142
+ attr_accessor :title
143
+
144
+ # The course the student is enrolled in
145
+ sig do
146
+ params(
147
+ id: String,
148
+ experience:
149
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience::OrHash,
150
+ title: T.nilable(String)
151
+ ).returns(T.attached_class)
152
+ end
153
+ def self.new(
154
+ # The ID of the course. Looks like cors_XXX
155
+ id:,
156
+ # The experience that the course belongs to
157
+ experience:,
158
+ # The title of the course
159
+ title:
160
+ )
161
+ end
162
+
163
+ sig do
164
+ override.returns(
165
+ {
166
+ id: String,
167
+ experience:
168
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience,
169
+ title: T.nilable(String)
170
+ }
171
+ )
172
+ end
173
+ def to_hash
174
+ end
175
+
176
+ class Experience < WhopSDK::Internal::Type::BaseModel
177
+ OrHash =
178
+ T.type_alias do
179
+ T.any(
180
+ WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience,
181
+ WhopSDK::Internal::AnyHash
182
+ )
183
+ end
184
+
185
+ # The unique ID representing this experience
186
+ sig { returns(String) }
187
+ attr_accessor :id
188
+
189
+ # The experience that the course belongs to
190
+ sig { params(id: String).returns(T.attached_class) }
191
+ def self.new(
192
+ # The unique ID representing this experience
193
+ id:
194
+ )
195
+ end
196
+
197
+ sig { override.returns({ id: String }) }
198
+ def to_hash
199
+ end
200
+ end
201
+ end
202
+
203
+ class User < WhopSDK::Internal::Type::BaseModel
204
+ OrHash =
205
+ T.type_alias do
206
+ T.any(
207
+ WhopSDK::Models::CourseStudentRetrieveResponse::User,
208
+ WhopSDK::Internal::AnyHash
209
+ )
210
+ end
211
+
212
+ # The internal ID of the user.
213
+ sig { returns(String) }
214
+ attr_accessor :id
215
+
216
+ # The name of the user from their Whop account.
217
+ sig { returns(T.nilable(String)) }
218
+ attr_accessor :name
219
+
220
+ # The username of the user from their Whop account.
221
+ sig { returns(String) }
222
+ attr_accessor :username
223
+
224
+ # The user who is enrolled in the course
225
+ sig do
226
+ params(id: String, name: T.nilable(String), username: String).returns(
227
+ T.attached_class
228
+ )
229
+ end
230
+ def self.new(
231
+ # The internal ID of the user.
232
+ id:,
233
+ # The name of the user from their Whop account.
234
+ name:,
235
+ # The username of the user from their Whop account.
236
+ username:
237
+ )
238
+ end
239
+
240
+ sig do
241
+ override.returns(
242
+ { id: String, name: T.nilable(String), username: String }
243
+ )
244
+ end
245
+ def to_hash
246
+ end
247
+ end
248
+ end
249
+ end
250
+ end