whop_sdk 0.0.4 → 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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +4 -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/checkout_configuration_create_params.rb +4 -4
  12. data/lib/whop_sdk/models/course.rb +18 -1
  13. data/lib/whop_sdk/models/course_create_params.rb +20 -1
  14. data/lib/whop_sdk/models/course_lesson_create_params.rb +77 -1
  15. data/lib/whop_sdk/models/course_lesson_list_response.rb +43 -1
  16. data/lib/whop_sdk/models/course_lesson_update_params.rb +77 -1
  17. data/lib/whop_sdk/models/course_list_response.rb +18 -1
  18. data/lib/whop_sdk/models/course_update_params.rb +19 -1
  19. data/lib/whop_sdk/models/course_visibilities.rb +17 -0
  20. data/lib/whop_sdk/models/embed_type.rb +16 -0
  21. data/lib/whop_sdk/models/entry.rb +3 -3
  22. data/lib/whop_sdk/models/entry_list_response.rb +3 -3
  23. data/lib/whop_sdk/models/experience.rb +5 -6
  24. data/lib/whop_sdk/models/forum_post.rb +2 -2
  25. data/lib/whop_sdk/models/forum_post_list_response.rb +2 -2
  26. data/lib/whop_sdk/models/global_affiliate_status.rb +1 -1
  27. data/lib/whop_sdk/models/invoice_create_params.rb +2 -2
  28. data/lib/whop_sdk/models/invoice_list_params.rb +27 -40
  29. data/lib/whop_sdk/models/lesson.rb +43 -1
  30. data/lib/whop_sdk/models/member_list_params.rb +11 -11
  31. data/lib/whop_sdk/models/member_list_response.rb +3 -3
  32. data/lib/whop_sdk/models/member_retrieve_response.rb +3 -3
  33. data/lib/whop_sdk/models/membership_list_params.rb +9 -9
  34. data/lib/whop_sdk/models/message.rb +2 -2
  35. data/lib/whop_sdk/models/message_list_response.rb +2 -2
  36. data/lib/whop_sdk/models/payment.rb +3 -3
  37. data/lib/whop_sdk/models/payment_list_response.rb +3 -3
  38. data/lib/whop_sdk/models/plan.rb +6 -4
  39. data/lib/whop_sdk/models/plan_create_params.rb +2 -2
  40. data/lib/whop_sdk/models/plan_list_response.rb +6 -4
  41. data/lib/whop_sdk/models/plan_type.rb +1 -1
  42. data/lib/whop_sdk/models/product.rb +1 -1
  43. data/lib/whop_sdk/models/product_create_params.rb +6 -6
  44. data/lib/whop_sdk/models/product_list_item.rb +1 -1
  45. data/lib/whop_sdk/models/product_update_params.rb +4 -4
  46. data/lib/whop_sdk/models/promo_code.rb +3 -3
  47. data/lib/whop_sdk/models/promo_code_list_response.rb +3 -3
  48. data/lib/whop_sdk/models.rb +6 -0
  49. data/lib/whop_sdk/resources/access_tokens.rb +46 -0
  50. data/lib/whop_sdk/resources/app_builds.rb +4 -2
  51. data/lib/whop_sdk/resources/apps.rb +3 -2
  52. data/lib/whop_sdk/resources/authorized_users.rb +2 -1
  53. data/lib/whop_sdk/resources/chat_channels.rb +9 -2
  54. data/lib/whop_sdk/resources/checkout_configurations.rb +2 -1
  55. data/lib/whop_sdk/resources/companies.rb +2 -1
  56. data/lib/whop_sdk/resources/course_chapters.rb +5 -3
  57. data/lib/whop_sdk/resources/course_lesson_interactions.rb +2 -1
  58. data/lib/whop_sdk/resources/course_lessons.rb +19 -5
  59. data/lib/whop_sdk/resources/course_students.rb +2 -1
  60. data/lib/whop_sdk/resources/courses.rb +15 -5
  61. data/lib/whop_sdk/resources/entries.rb +6 -3
  62. data/lib/whop_sdk/resources/experiences.rb +8 -6
  63. data/lib/whop_sdk/resources/forum_posts.rb +3 -2
  64. data/lib/whop_sdk/resources/forums.rb +3 -2
  65. data/lib/whop_sdk/resources/invoices.rb +11 -5
  66. data/lib/whop_sdk/resources/ledger_accounts.rb +6 -2
  67. data/lib/whop_sdk/resources/members.rb +6 -5
  68. data/lib/whop_sdk/resources/memberships.rb +10 -8
  69. data/lib/whop_sdk/resources/messages.rb +3 -2
  70. data/lib/whop_sdk/resources/payments.rb +7 -4
  71. data/lib/whop_sdk/resources/plans.rb +6 -4
  72. data/lib/whop_sdk/resources/products.rb +9 -7
  73. data/lib/whop_sdk/resources/promo_codes.rb +4 -2
  74. data/lib/whop_sdk/resources/reactions.rb +2 -1
  75. data/lib/whop_sdk/resources/reviews.rb +2 -1
  76. data/lib/whop_sdk/resources/shipments.rb +2 -1
  77. data/lib/whop_sdk/resources/support_channels.rb +2 -1
  78. data/lib/whop_sdk/resources/transfers.rb +2 -1
  79. data/lib/whop_sdk/resources/users.rb +9 -3
  80. data/lib/whop_sdk/version.rb +1 -1
  81. data/lib/whop_sdk.rb +6 -0
  82. data/manifest.yaml +1 -0
  83. data/rbi/whop_sdk/client.rbi +3 -0
  84. data/rbi/whop_sdk/internal/transport/base_client.rbi +5 -0
  85. data/rbi/whop_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  86. data/rbi/whop_sdk/internal/type/base_model.rbi +8 -4
  87. data/rbi/whop_sdk/models/access_level.rbi +1 -1
  88. data/rbi/whop_sdk/models/access_pass_type.rbi +2 -1
  89. data/rbi/whop_sdk/models/access_token_create_params.rbi +126 -0
  90. data/rbi/whop_sdk/models/access_token_create_response.rbi +37 -0
  91. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +4 -4
  92. data/rbi/whop_sdk/models/course.rbi +21 -3
  93. data/rbi/whop_sdk/models/course_create_params.rbi +22 -0
  94. data/rbi/whop_sdk/models/course_lesson_create_params.rbi +126 -0
  95. data/rbi/whop_sdk/models/course_lesson_list_response.rbi +68 -0
  96. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +126 -0
  97. data/rbi/whop_sdk/models/course_list_response.rbi +21 -3
  98. data/rbi/whop_sdk/models/course_update_params.rbi +20 -0
  99. data/rbi/whop_sdk/models/course_visibilities.rbi +23 -0
  100. data/rbi/whop_sdk/models/embed_type.rbi +20 -0
  101. data/rbi/whop_sdk/models/entry.rbi +3 -3
  102. data/rbi/whop_sdk/models/entry_list_response.rbi +3 -3
  103. data/rbi/whop_sdk/models/experience.rbi +7 -9
  104. data/rbi/whop_sdk/models/forum_post.rbi +2 -2
  105. data/rbi/whop_sdk/models/forum_post_list_response.rbi +2 -2
  106. data/rbi/whop_sdk/models/global_affiliate_status.rbi +1 -1
  107. data/rbi/whop_sdk/models/invoice_create_params.rbi +2 -2
  108. data/rbi/whop_sdk/models/invoice_list_params.rbi +26 -71
  109. data/rbi/whop_sdk/models/lesson.rbi +54 -0
  110. data/rbi/whop_sdk/models/member_list_params.rbi +10 -10
  111. data/rbi/whop_sdk/models/member_list_response.rbi +6 -6
  112. data/rbi/whop_sdk/models/member_retrieve_response.rbi +6 -6
  113. data/rbi/whop_sdk/models/membership_list_params.rbi +8 -8
  114. data/rbi/whop_sdk/models/message.rbi +2 -2
  115. data/rbi/whop_sdk/models/message_list_response.rbi +2 -2
  116. data/rbi/whop_sdk/models/payment.rbi +3 -3
  117. data/rbi/whop_sdk/models/payment_list_response.rbi +3 -3
  118. data/rbi/whop_sdk/models/plan.rbi +6 -4
  119. data/rbi/whop_sdk/models/plan_create_params.rbi +2 -2
  120. data/rbi/whop_sdk/models/plan_list_response.rbi +6 -4
  121. data/rbi/whop_sdk/models/plan_type.rbi +1 -1
  122. data/rbi/whop_sdk/models/product.rbi +1 -1
  123. data/rbi/whop_sdk/models/product_create_params.rbi +6 -6
  124. data/rbi/whop_sdk/models/product_list_item.rbi +1 -1
  125. data/rbi/whop_sdk/models/product_update_params.rbi +4 -4
  126. data/rbi/whop_sdk/models/promo_code.rbi +3 -3
  127. data/rbi/whop_sdk/models/promo_code_list_response.rbi +3 -3
  128. data/rbi/whop_sdk/models.rbi +6 -0
  129. data/rbi/whop_sdk/resources/access_tokens.rbi +41 -0
  130. data/rbi/whop_sdk/resources/app_builds.rbi +10 -2
  131. data/rbi/whop_sdk/resources/apps.rbi +6 -1
  132. data/rbi/whop_sdk/resources/authorized_users.rbi +5 -1
  133. data/rbi/whop_sdk/resources/chat_channels.rbi +8 -1
  134. data/rbi/whop_sdk/resources/checkout_configurations.rbi +5 -1
  135. data/rbi/whop_sdk/resources/companies.rbi +5 -1
  136. data/rbi/whop_sdk/resources/course_chapters.rbi +11 -2
  137. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +5 -1
  138. data/rbi/whop_sdk/resources/course_lessons.rbi +41 -2
  139. data/rbi/whop_sdk/resources/course_students.rbi +5 -1
  140. data/rbi/whop_sdk/resources/courses.rbi +28 -2
  141. data/rbi/whop_sdk/resources/entries.rbi +15 -3
  142. data/rbi/whop_sdk/resources/experiences.rbi +14 -2
  143. data/rbi/whop_sdk/resources/forum_posts.rbi +6 -1
  144. data/rbi/whop_sdk/resources/forums.rbi +6 -1
  145. data/rbi/whop_sdk/resources/invoices.rbi +20 -5
  146. data/rbi/whop_sdk/resources/ledger_accounts.rbi +7 -2
  147. data/rbi/whop_sdk/resources/members.rbi +9 -5
  148. data/rbi/whop_sdk/resources/memberships.rbi +16 -5
  149. data/rbi/whop_sdk/resources/messages.rbi +6 -1
  150. data/rbi/whop_sdk/resources/payments.rbi +16 -3
  151. data/rbi/whop_sdk/resources/plans.rbi +12 -3
  152. data/rbi/whop_sdk/resources/products.rbi +15 -6
  153. data/rbi/whop_sdk/resources/promo_codes.rbi +10 -2
  154. data/rbi/whop_sdk/resources/reactions.rbi +5 -1
  155. data/rbi/whop_sdk/resources/reviews.rbi +5 -1
  156. data/rbi/whop_sdk/resources/shipments.rbi +5 -1
  157. data/rbi/whop_sdk/resources/support_channels.rbi +5 -1
  158. data/rbi/whop_sdk/resources/transfers.rbi +5 -1
  159. data/rbi/whop_sdk/resources/users.rbi +13 -2
  160. data/sig/whop_sdk/client.rbs +2 -0
  161. data/sig/whop_sdk/internal/transport/base_client.rbs +2 -0
  162. data/sig/whop_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  163. data/sig/whop_sdk/models/access_token_create_params.rbs +56 -0
  164. data/sig/whop_sdk/models/access_token_create_response.rbs +15 -0
  165. data/sig/whop_sdk/models/course.rbs +13 -3
  166. data/sig/whop_sdk/models/course_create_params.rbs +11 -1
  167. data/sig/whop_sdk/models/course_lesson_create_params.rbs +46 -0
  168. data/sig/whop_sdk/models/course_lesson_list_response.rbs +25 -0
  169. data/sig/whop_sdk/models/course_lesson_update_params.rbs +46 -0
  170. data/sig/whop_sdk/models/course_list_response.rbs +13 -3
  171. data/sig/whop_sdk/models/course_update_params.rbs +11 -1
  172. data/sig/whop_sdk/models/course_visibilities.rbs +14 -0
  173. data/sig/whop_sdk/models/embed_type.rbs +14 -0
  174. data/sig/whop_sdk/models/invoice_list_params.rbs +16 -33
  175. data/sig/whop_sdk/models/lesson.rbs +25 -0
  176. data/sig/whop_sdk/models/member_list_params.rbs +5 -5
  177. data/sig/whop_sdk/models/membership_list_params.rbs +5 -5
  178. data/sig/whop_sdk/models.rbs +6 -0
  179. data/sig/whop_sdk/resources/access_tokens.rbs +15 -0
  180. data/sig/whop_sdk/resources/course_lessons.rbs +6 -0
  181. data/sig/whop_sdk/resources/courses.rbs +4 -0
  182. data/sig/whop_sdk/resources/invoices.rbs +3 -1
  183. data/sig/whop_sdk/resources/members.rbs +1 -1
  184. data/sig/whop_sdk/resources/memberships.rbs +1 -1
  185. metadata +17 -2
@@ -45,6 +45,18 @@ module WhopSDK
45
45
  # @return [Integer, nil]
46
46
  optional :days_from_course_start_until_unlock, Integer, nil?: true
47
47
 
48
+ # @!attribute embed_id
49
+ # ID for the embed (YouTube video ID or Loom share ID)
50
+ #
51
+ # @return [String, nil]
52
+ optional :embed_id, String, nil?: true
53
+
54
+ # @!attribute embed_type
55
+ # The type of embed for a lesson
56
+ #
57
+ # @return [Symbol, WhopSDK::Models::EmbedType, nil]
58
+ optional :embed_type, enum: -> { WhopSDK::EmbedType }, nil?: true
59
+
48
60
  # @!attribute lesson_type
49
61
  # The available types for a lesson
50
62
  #
@@ -69,6 +81,12 @@ module WhopSDK
69
81
  # @return [String, nil]
70
82
  optional :mux_asset_id, String, nil?: true
71
83
 
84
+ # @!attribute thumbnail
85
+ # The thumbnail for the lesson in png, jpeg, or gif format
86
+ #
87
+ # @return [WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID, nil]
88
+ optional :thumbnail, union: -> { WhopSDK::CourseLessonUpdateParams::Thumbnail }, nil?: true
89
+
72
90
  # @!attribute title
73
91
  # The title of the lesson
74
92
  #
@@ -82,7 +100,7 @@ module WhopSDK
82
100
  # @return [Symbol, WhopSDK::Models::LessonVisibilities, nil]
83
101
  optional :visibility, enum: -> { WhopSDK::LessonVisibilities }, nil?: true
84
102
 
85
- # @!method initialize(assessment_completion_requirement: nil, assessment_questions: nil, attachments: nil, content: nil, days_from_course_start_until_unlock: nil, lesson_type: nil, main_pdf: nil, max_attempts: nil, mux_asset_id: nil, title: nil, visibility: nil, request_options: {})
103
+ # @!method initialize(assessment_completion_requirement: nil, assessment_questions: nil, attachments: nil, content: nil, days_from_course_start_until_unlock: nil, embed_id: nil, embed_type: nil, lesson_type: nil, main_pdf: nil, max_attempts: nil, mux_asset_id: nil, thumbnail: nil, title: nil, visibility: nil, request_options: {})
86
104
  # Some parameter documentations has been truncated, see
87
105
  # {WhopSDK::Models::CourseLessonUpdateParams} for more details.
88
106
  #
@@ -96,6 +114,10 @@ module WhopSDK
96
114
  #
97
115
  # @param days_from_course_start_until_unlock [Integer, nil] Days from course start until unlock
98
116
  #
117
+ # @param embed_id [String, nil] ID for the embed (YouTube video ID or Loom share ID)
118
+ #
119
+ # @param embed_type [Symbol, WhopSDK::Models::EmbedType, nil] The type of embed for a lesson
120
+ #
99
121
  # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes, nil] The available types for a lesson
100
122
  #
101
123
  # @param main_pdf [WhopSDK::Models::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID, nil] The main PDF file for this lesson
@@ -104,6 +126,8 @@ module WhopSDK
104
126
  #
105
127
  # @param mux_asset_id [String, nil] The ID of the Mux asset to attach to this lesson for video lessons
106
128
  #
129
+ # @param thumbnail [WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID, nil] The thumbnail for the lesson in png, jpeg, or gif format
130
+ #
107
131
  # @param title [String, nil] The title of the lesson
108
132
  #
109
133
  # @param visibility [Symbol, WhopSDK::Models::LessonVisibilities, nil] The available visibilities for a lesson. Determines how / whether a lesson is vi
@@ -394,6 +418,58 @@ module WhopSDK
394
418
  # @!method self.variants
395
419
  # @return [Array(WhopSDK::Models::CourseLessonUpdateParams::MainPdf::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseLessonUpdateParams::MainPdf::AttachmentInputWithID)]
396
420
  end
421
+
422
+ # The thumbnail for the lesson in png, jpeg, or gif format
423
+ module Thumbnail
424
+ extend WhopSDK::Internal::Type::Union
425
+
426
+ # Input for an attachment
427
+ variant -> { WhopSDK::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID }
428
+
429
+ # Input for an attachment
430
+ variant -> { WhopSDK::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID }
431
+
432
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
433
+ # @!attribute direct_upload_id
434
+ # This ID should be used the first time you upload an attachment. It is the ID of
435
+ # the direct upload that was created when uploading the file to S3 via the
436
+ # mediaDirectUpload mutation.
437
+ #
438
+ # @return [String]
439
+ required :direct_upload_id, String
440
+
441
+ # @!method initialize(direct_upload_id:)
442
+ # Some parameter documentations has been truncated, see
443
+ # {WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID}
444
+ # for more details.
445
+ #
446
+ # Input for an attachment
447
+ #
448
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
449
+ end
450
+
451
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
452
+ # @!attribute id
453
+ # The ID of an existing attachment object. Use this when updating a resource and
454
+ # keeping a subset of the attachments. Don't use this unless you know what you're
455
+ # doing.
456
+ #
457
+ # @return [String]
458
+ required :id, String
459
+
460
+ # @!method initialize(id:)
461
+ # Some parameter documentations has been truncated, see
462
+ # {WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID}
463
+ # for more details.
464
+ #
465
+ # Input for an attachment
466
+ #
467
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
468
+ end
469
+
470
+ # @!method self.variants
471
+ # @return [Array(WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseLessonUpdateParams::Thumbnail::AttachmentInputWithID)]
472
+ end
397
473
  end
398
474
  end
399
475
  end
@@ -36,6 +36,12 @@ module WhopSDK
36
36
  # @return [Symbol, WhopSDK::Models::Languages]
37
37
  required :language, enum: -> { WhopSDK::Languages }
38
38
 
39
+ # @!attribute order
40
+ # The order of the course within its experience
41
+ #
42
+ # @return [String]
43
+ required :order, String
44
+
39
45
  # @!attribute require_completing_lessons_in_order
40
46
  # Whether the course requires students to complete the previous lesson before
41
47
  # moving on to the next one
@@ -67,7 +73,14 @@ module WhopSDK
67
73
  # @return [Time]
68
74
  required :updated_at, Time
69
75
 
70
- # @!method initialize(id:, certificate_after_completion_enabled:, created_at:, description:, language:, require_completing_lessons_in_order:, tagline:, thumbnail:, title:, updated_at:)
76
+ # @!attribute visibility
77
+ # The visibility of the course. Determines how / whether this course is visible to
78
+ # users.
79
+ #
80
+ # @return [Symbol, WhopSDK::Models::CourseVisibilities]
81
+ required :visibility, enum: -> { WhopSDK::CourseVisibilities }
82
+
83
+ # @!method initialize(id:, certificate_after_completion_enabled:, created_at:, description:, language:, order:, require_completing_lessons_in_order:, tagline:, thumbnail:, title:, updated_at:, visibility:)
71
84
  # Some parameter documentations has been truncated, see
72
85
  # {WhopSDK::Models::CourseListResponse} for more details.
73
86
  #
@@ -83,6 +96,8 @@ module WhopSDK
83
96
  #
84
97
  # @param language [Symbol, WhopSDK::Models::Languages] The language spoken in the video content of the course, used to generate closed
85
98
  #
99
+ # @param order [String] The order of the course within its experience
100
+ #
86
101
  # @param require_completing_lessons_in_order [Boolean] Whether the course requires students to complete the previous lesson before movi
87
102
  #
88
103
  # @param tagline [String, nil] A short tagline for the course. It is displayed under the course title in the UI
@@ -92,6 +107,8 @@ module WhopSDK
92
107
  # @param title [String, nil] The title of the course
93
108
  #
94
109
  # @param updated_at [Time] The timestamp of when the course was last updated
110
+ #
111
+ # @param visibility [Symbol, WhopSDK::Models::CourseVisibilities] The visibility of the course. Determines how / whether this course is visible to
95
112
 
96
113
  # @see WhopSDK::Models::CourseListResponse#thumbnail
97
114
  class Thumbnail < WhopSDK::Internal::Type::BaseModel
@@ -40,6 +40,13 @@ module WhopSDK
40
40
  # @return [Symbol, WhopSDK::Models::Languages, nil]
41
41
  optional :language, enum: -> { WhopSDK::Languages }, nil?: true
42
42
 
43
+ # @!attribute order
44
+ # The decimal order position of the course within its experience. Use fractional
45
+ # values (e.g., 1.5) to place between existing courses.
46
+ #
47
+ # @return [String, nil]
48
+ optional :order, String, nil?: true
49
+
43
50
  # @!attribute require_completing_lessons_in_order
44
51
  # Whether the course requires students to complete the previous lesson before
45
52
  # moving on to the next one
@@ -65,7 +72,14 @@ module WhopSDK
65
72
  # @return [String, nil]
66
73
  optional :title, String, nil?: true
67
74
 
68
- # @!method initialize(certificate_after_completion_enabled: nil, chapters: nil, cover_image: nil, description: nil, language: nil, require_completing_lessons_in_order: nil, tagline: nil, thumbnail: nil, title: nil, request_options: {})
75
+ # @!attribute visibility
76
+ # The available visibilities for a course. Determines how / whether a course is
77
+ # visible to users.
78
+ #
79
+ # @return [Symbol, WhopSDK::Models::CourseVisibilities, nil]
80
+ optional :visibility, enum: -> { WhopSDK::CourseVisibilities }, nil?: true
81
+
82
+ # @!method initialize(certificate_after_completion_enabled: nil, chapters: nil, cover_image: nil, description: nil, language: nil, order: nil, require_completing_lessons_in_order: nil, tagline: nil, thumbnail: nil, title: nil, visibility: nil, request_options: {})
69
83
  # Some parameter documentations has been truncated, see
70
84
  # {WhopSDK::Models::CourseUpdateParams} for more details.
71
85
  #
@@ -79,6 +93,8 @@ module WhopSDK
79
93
  #
80
94
  # @param language [Symbol, WhopSDK::Models::Languages, nil] The available languages for a course
81
95
  #
96
+ # @param order [String, nil] The decimal order position of the course within its experience. Use fractional v
97
+ #
82
98
  # @param require_completing_lessons_in_order [Boolean, nil] Whether the course requires students to complete the previous lesson before movi
83
99
  #
84
100
  # @param tagline [String, nil] A short tagline for the course
@@ -87,6 +103,8 @@ module WhopSDK
87
103
  #
88
104
  # @param title [String, nil] The title of the course
89
105
  #
106
+ # @param visibility [Symbol, WhopSDK::Models::CourseVisibilities, nil] The available visibilities for a course. Determines how / whether a course is vi
107
+ #
90
108
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
91
109
 
92
110
  class Chapter < WhopSDK::Internal::Type::BaseModel
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The available visibilities for a course. Determines how / whether a course is
6
+ # visible to users.
7
+ module CourseVisibilities
8
+ extend WhopSDK::Internal::Type::Enum
9
+
10
+ VISIBLE = :visible
11
+ HIDDEN = :hidden
12
+
13
+ # @!method self.values
14
+ # @return [Array<Symbol>]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # The type of embed for a lesson
6
+ module EmbedType
7
+ extend WhopSDK::Internal::Type::Enum
8
+
9
+ YOUTUBE = :youtube
10
+ LOOM = :loom
11
+
12
+ # @!method self.values
13
+ # @return [Array<Symbol>]
14
+ end
15
+ end
16
+ end
@@ -30,7 +30,7 @@ module WhopSDK
30
30
  required :plan, -> { WhopSDK::Entry::Plan }, nil?: true
31
31
 
32
32
  # @!attribute product
33
- # The access pass tied to this entry, if there is one.
33
+ # The product tied to this entry, if there is one.
34
34
  #
35
35
  # @return [WhopSDK::Models::Entry::Product, nil]
36
36
  required :product, -> { WhopSDK::Entry::Product }, nil?: true
@@ -58,7 +58,7 @@ module WhopSDK
58
58
  #
59
59
  # @param plan [WhopSDK::Models::Entry::Plan, nil] The waitlist plan the entry if for.
60
60
  #
61
- # @param product [WhopSDK::Models::Entry::Product, nil] The access pass tied to this entry, if there is one.
61
+ # @param product [WhopSDK::Models::Entry::Product, nil] The product tied to this entry, if there is one.
62
62
  #
63
63
  # @param status [Symbol, WhopSDK::Models::EntryStatus] The status of the entry.
64
64
  #
@@ -122,7 +122,7 @@ module WhopSDK
122
122
  required :title, String
123
123
 
124
124
  # @!method initialize(id:, title:)
125
- # The access pass tied to this entry, if there is one.
125
+ # The product tied to this entry, if there is one.
126
126
  #
127
127
  # @param id [String] The internal ID of the public product.
128
128
  #
@@ -23,7 +23,7 @@ module WhopSDK
23
23
  required :plan, -> { WhopSDK::Models::EntryListResponse::Plan }, nil?: true
24
24
 
25
25
  # @!attribute product
26
- # The access pass tied to this entry, if there is one.
26
+ # The product tied to this entry, if there is one.
27
27
  #
28
28
  # @return [WhopSDK::Models::EntryListResponse::Product, nil]
29
29
  required :product, -> { WhopSDK::Models::EntryListResponse::Product }, nil?: true
@@ -49,7 +49,7 @@ module WhopSDK
49
49
  #
50
50
  # @param plan [WhopSDK::Models::EntryListResponse::Plan, nil] The waitlist plan the entry if for.
51
51
  #
52
- # @param product [WhopSDK::Models::EntryListResponse::Product, nil] The access pass tied to this entry, if there is one.
52
+ # @param product [WhopSDK::Models::EntryListResponse::Product, nil] The product tied to this entry, if there is one.
53
53
  #
54
54
  # @param status [Symbol, WhopSDK::Models::EntryStatus] The status of the entry.
55
55
  #
@@ -84,7 +84,7 @@ module WhopSDK
84
84
  required :title, String
85
85
 
86
86
  # @!method initialize(id:, title:)
87
- # The access pass tied to this entry, if there is one.
87
+ # The product tied to this entry, if there is one.
88
88
  #
89
89
  # @param id [String] The internal ID of the public product.
90
90
  #
@@ -46,10 +46,9 @@ module WhopSDK
46
46
  required :order, String, nil?: true
47
47
 
48
48
  # @!attribute products
49
- # The access passes that are associated with this experience. This should not be
50
- # used unless you are trying to list all access passes the experience has, for
51
- # some reason. You probably don't want to use this though and should be using
52
- # accessPass.
49
+ # The products that this experience is attached to. This defines which set of
50
+ # customers have access and can view this experience. If empty, this experience is
51
+ # only visible to authorized users of the company
53
52
  #
54
53
  # @return [Array<WhopSDK::Models::Experience::Product>]
55
54
  required :products, -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::Experience::Product] }
@@ -74,7 +73,7 @@ module WhopSDK
74
73
  #
75
74
  # @param order [String, nil] The order of the experience in the section
76
75
  #
77
- # @param products [Array<WhopSDK::Models::Experience::Product>] The access passes that are associated with this experience. This should not be u
76
+ # @param products [Array<WhopSDK::Models::Experience::Product>] The products that this experience is attached to. This defines which set of cust
78
77
 
79
78
  # @see WhopSDK::Models::Experience#app
80
79
  class App < WhopSDK::Internal::Type::BaseModel
@@ -197,7 +196,7 @@ module WhopSDK
197
196
  required :title, String
198
197
 
199
198
  # @!method initialize(id:, route:, title:)
200
- # An object representing a (sanitized) access pass.
199
+ # Represents a product on whop. Use products to sell anything on the platform.
201
200
  #
202
201
  # @param id [String] The internal ID of the public product.
203
202
  #
@@ -4,7 +4,7 @@ module WhopSDK
4
4
  module Models
5
5
  class ForumPost < WhopSDK::Internal::Type::BaseModel
6
6
  # @!attribute id
7
- # The unique identifier for the entity
7
+ # The unique identifier of the resource.
8
8
  #
9
9
  # @return [String]
10
10
  required :id, String
@@ -84,7 +84,7 @@ module WhopSDK
84
84
  # @!method initialize(id:, comment_count:, content:, created_at:, is_edited:, is_pinned:, is_poster_admin:, like_count:, parent_id:, title:, updated_at:, user:, view_count:)
85
85
  # Represents a post in forum
86
86
  #
87
- # @param id [String] The unique identifier for the entity
87
+ # @param id [String] The unique identifier of the resource.
88
88
  #
89
89
  # @param comment_count [Integer] The amount of comments on this post
90
90
  #
@@ -5,7 +5,7 @@ module WhopSDK
5
5
  # @see WhopSDK::Resources::ForumPosts#list
6
6
  class ForumPostListResponse < WhopSDK::Internal::Type::BaseModel
7
7
  # @!attribute id
8
- # The unique identifier for the entity
8
+ # The unique identifier of the resource.
9
9
  #
10
10
  # @return [String]
11
11
  required :id, String
@@ -85,7 +85,7 @@ module WhopSDK
85
85
  # @!method initialize(id:, comment_count:, content:, created_at:, is_edited:, is_pinned:, is_poster_admin:, like_count:, parent_id:, title:, updated_at:, user:, view_count:)
86
86
  # Represents a post in forum
87
87
  #
88
- # @param id [String] The unique identifier for the entity
88
+ # @param id [String] The unique identifier of the resource.
89
89
  #
90
90
  # @param comment_count [Integer] The amount of comments on this post
91
91
  #
@@ -2,7 +2,7 @@
2
2
 
3
3
  module WhopSDK
4
4
  module Models
5
- # The different statuses of the global affiliate program for an access pass.
5
+ # The different statuses of the global affiliate program for a product.
6
6
  module GlobalAffiliateStatus
7
7
  extend WhopSDK::Internal::Type::Enum
8
8
 
@@ -152,7 +152,7 @@ module WhopSDK
152
152
  optional :internal_notes, String, nil?: true
153
153
 
154
154
  # @!attribute plan_type
155
- # The type of plan that can be attached to an access pass
155
+ # The type of plan that can be attached to a product
156
156
  #
157
157
  # @return [Symbol, WhopSDK::Models::PlanType, nil]
158
158
  optional :plan_type, enum: -> { WhopSDK::PlanType }, nil?: true
@@ -212,7 +212,7 @@ module WhopSDK
212
212
  #
213
213
  # @param internal_notes [String, nil] A personal description or notes section for the business.
214
214
  #
215
- # @param plan_type [Symbol, WhopSDK::Models::PlanType, nil] The type of plan that can be attached to an access pass
215
+ # @param plan_type [Symbol, WhopSDK::Models::PlanType, nil] The type of plan that can be attached to a product
216
216
  #
217
217
  # @param release_method [Symbol, WhopSDK::Models::ReleaseMethod, nil] The methods of how a plan can be released.
218
218
  #
@@ -25,18 +25,20 @@ module WhopSDK
25
25
  # @return [String, nil]
26
26
  optional :before, String, nil?: true
27
27
 
28
+ # @!attribute collection_methods
29
+ # Filter invoices by their collection method
30
+ #
31
+ # @return [Array<Symbol, WhopSDK::Models::CollectionMethod>, nil]
32
+ optional :collection_methods,
33
+ -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::CollectionMethod] },
34
+ nil?: true
35
+
28
36
  # @!attribute direction
29
37
  # The direction of the sort.
30
38
  #
31
39
  # @return [Symbol, WhopSDK::Models::Direction, nil]
32
40
  optional :direction, enum: -> { WhopSDK::Direction }, nil?: true
33
41
 
34
- # @!attribute filters
35
- # The filters to apply to the invoices
36
- #
37
- # @return [WhopSDK::Models::InvoiceListParams::Filters, nil]
38
- optional :filters, -> { WhopSDK::InvoiceListParams::Filters }, nil?: true
39
-
40
42
  # @!attribute first
41
43
  # Returns the first _n_ elements from the list.
42
44
  #
@@ -55,16 +57,28 @@ module WhopSDK
55
57
  # @return [Symbol, WhopSDK::Models::InvoiceListParams::Order, nil]
56
58
  optional :order, enum: -> { WhopSDK::InvoiceListParams::Order }, nil?: true
57
59
 
58
- # @!method initialize(company_id:, after: nil, before: nil, direction: nil, filters: nil, first: nil, last: nil, order: nil, request_options: {})
60
+ # @!attribute product_ids
61
+ # Return only invoices created for these specific product ids
62
+ #
63
+ # @return [Array<String>, nil]
64
+ optional :product_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
65
+
66
+ # @!attribute statuses
67
+ # The statuses to filter the invoices by
68
+ #
69
+ # @return [Array<Symbol, WhopSDK::Models::InvoiceStatus>, nil]
70
+ optional :statuses, -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::InvoiceStatus] }, nil?: true
71
+
72
+ # @!method initialize(company_id:, after: nil, before: nil, collection_methods: nil, direction: nil, first: nil, last: nil, order: nil, product_ids: nil, statuses: nil, request_options: {})
59
73
  # @param company_id [String] The ID of the company to list invoices for
60
74
  #
61
75
  # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
62
76
  #
63
77
  # @param before [String, nil] Returns the elements in the list that come before the specified cursor.
64
78
  #
65
- # @param direction [Symbol, WhopSDK::Models::Direction, nil] The direction of the sort.
79
+ # @param collection_methods [Array<Symbol, WhopSDK::Models::CollectionMethod>, nil] Filter invoices by their collection method
66
80
  #
67
- # @param filters [WhopSDK::Models::InvoiceListParams::Filters, nil] The filters to apply to the invoices
81
+ # @param direction [Symbol, WhopSDK::Models::Direction, nil] The direction of the sort.
68
82
  #
69
83
  # @param first [Integer, nil] Returns the first _n_ elements from the list.
70
84
  #
@@ -72,39 +86,12 @@ module WhopSDK
72
86
  #
73
87
  # @param order [Symbol, WhopSDK::Models::InvoiceListParams::Order, nil] Which columns can be used to sort.
74
88
  #
89
+ # @param product_ids [Array<String>, nil] Return only invoices created for these specific product ids
90
+ #
91
+ # @param statuses [Array<Symbol, WhopSDK::Models::InvoiceStatus>, nil] The statuses to filter the invoices by
92
+ #
75
93
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
76
94
 
77
- class Filters < WhopSDK::Internal::Type::BaseModel
78
- # @!attribute access_pass_ids
79
- # The access pass IDs to filter the invoices by
80
- #
81
- # @return [Array<String>, nil]
82
- optional :access_pass_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
83
-
84
- # @!attribute collection_methods
85
- # The collection methods to filter the invoices by
86
- #
87
- # @return [Array<Symbol, WhopSDK::Models::CollectionMethod>, nil]
88
- optional :collection_methods,
89
- -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::CollectionMethod] },
90
- nil?: true
91
-
92
- # @!attribute statuses
93
- # The statuses to filter the invoices by
94
- #
95
- # @return [Array<Symbol, WhopSDK::Models::InvoiceStatus>, nil]
96
- optional :statuses, -> { WhopSDK::Internal::Type::ArrayOf[enum: WhopSDK::InvoiceStatus] }, nil?: true
97
-
98
- # @!method initialize(access_pass_ids: nil, collection_methods: nil, statuses: nil)
99
- # The filters to apply to the invoices
100
- #
101
- # @param access_pass_ids [Array<String>, nil] The access pass IDs to filter the invoices by
102
- #
103
- # @param collection_methods [Array<Symbol, WhopSDK::Models::CollectionMethod>, nil] The collection methods to filter the invoices by
104
- #
105
- # @param statuses [Array<Symbol, WhopSDK::Models::InvoiceStatus>, nil] The statuses to filter the invoices by
106
- end
107
-
108
95
  # Which columns can be used to sort.
109
96
  module Order
110
97
  extend WhopSDK::Internal::Type::Enum
@@ -35,6 +35,18 @@ module WhopSDK
35
35
  # @return [Integer, nil]
36
36
  required :days_from_course_start_until_unlock, Integer, nil?: true
37
37
 
38
+ # @!attribute embed_id
39
+ # ID for the embed (YouTube video ID or Loom share ID)
40
+ #
41
+ # @return [String, nil]
42
+ required :embed_id, String, nil?: true
43
+
44
+ # @!attribute embed_type
45
+ # The type of embed for a lesson
46
+ #
47
+ # @return [Symbol, WhopSDK::Models::EmbedType, nil]
48
+ required :embed_type, enum: -> { WhopSDK::EmbedType }, nil?: true
49
+
38
50
  # @!attribute lesson_type
39
51
  # The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
40
52
  #
@@ -53,6 +65,12 @@ module WhopSDK
53
65
  # @return [Integer]
54
66
  required :order, Integer
55
67
 
68
+ # @!attribute thumbnail
69
+ # The thumbnail for the lesson
70
+ #
71
+ # @return [WhopSDK::Models::Lesson::Thumbnail, nil]
72
+ required :thumbnail, -> { WhopSDK::Lesson::Thumbnail }, nil?: true
73
+
56
74
  # @!attribute title
57
75
  # The title of the lesson
58
76
  #
@@ -72,7 +90,7 @@ module WhopSDK
72
90
  # @return [Symbol, WhopSDK::Models::LessonVisibilities]
73
91
  required :visibility, enum: -> { WhopSDK::LessonVisibilities }
74
92
 
75
- # @!method initialize(id:, assessment_questions:, attachments:, content:, days_from_course_start_until_unlock:, lesson_type:, main_pdf:, order:, title:, video_asset:, visibility:)
93
+ # @!method initialize(id:, assessment_questions:, attachments:, content:, days_from_course_start_until_unlock:, embed_id:, embed_type:, lesson_type:, main_pdf:, order:, thumbnail:, title:, video_asset:, visibility:)
76
94
  # Some parameter documentations has been truncated, see {WhopSDK::Models::Lesson}
77
95
  # for more details.
78
96
  #
@@ -88,12 +106,18 @@ module WhopSDK
88
106
  #
89
107
  # @param days_from_course_start_until_unlock [Integer, nil] Number of days from course start until the lesson is unlocked
90
108
  #
109
+ # @param embed_id [String, nil] ID for the embed (YouTube video ID or Loom share ID)
110
+ #
111
+ # @param embed_type [Symbol, WhopSDK::Models::EmbedType, nil] The type of embed for a lesson
112
+ #
91
113
  # @param lesson_type [Symbol, WhopSDK::Models::LessonTypes] The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
92
114
  #
93
115
  # @param main_pdf [WhopSDK::Models::Lesson::MainPdf, nil] The main PDF file for this lesson
94
116
  #
95
117
  # @param order [Integer] The order of the lesson within its chapter
96
118
  #
119
+ # @param thumbnail [WhopSDK::Models::Lesson::Thumbnail, nil] The thumbnail for the lesson
120
+ #
97
121
  # @param title [String] The title of the lesson
98
122
  #
99
123
  # @param video_asset [WhopSDK::Models::Lesson::VideoAsset, nil] The associated Mux asset for video lessons
@@ -339,6 +363,24 @@ module WhopSDK
339
363
  # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
340
364
  end
341
365
 
366
+ # @see WhopSDK::Models::Lesson#thumbnail
367
+ class Thumbnail < WhopSDK::Internal::Type::BaseModel
368
+ # @!attribute url
369
+ # This is the URL you use to render optimized attachments on the client. This
370
+ # should be used for apps.
371
+ #
372
+ # @return [String, nil]
373
+ required :url, String, nil?: true
374
+
375
+ # @!method initialize(url:)
376
+ # Some parameter documentations has been truncated, see
377
+ # {WhopSDK::Models::Lesson::Thumbnail} for more details.
378
+ #
379
+ # The thumbnail for the lesson
380
+ #
381
+ # @param url [String, nil] This is the URL you use to render optimized attachments on the client. This shou
382
+ end
383
+
342
384
  # @see WhopSDK::Models::Lesson#video_asset
343
385
  class VideoAsset < WhopSDK::Internal::Type::BaseModel
344
386
  # @!attribute id
@@ -14,17 +14,11 @@ module WhopSDK
14
14
  required :company_id, String
15
15
 
16
16
  # @!attribute access_level
17
- # The access level a given user (or company) has to an access pass or company.
17
+ # The access level a given user (or company) has to a product or company.
18
18
  #
19
19
  # @return [Symbol, WhopSDK::Models::AccessLevel, nil]
20
20
  optional :access_level, enum: -> { WhopSDK::AccessLevel }, nil?: true
21
21
 
22
- # @!attribute access_pass_ids
23
- # The access pass IDs to filter the members by
24
- #
25
- # @return [Array<String>, nil]
26
- optional :access_pass_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
27
-
28
22
  # @!attribute after
29
23
  # Returns the elements in the list that come after the specified cursor.
30
24
  #
@@ -87,6 +81,12 @@ module WhopSDK
87
81
  # @return [Array<String>, nil]
88
82
  optional :plan_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
89
83
 
84
+ # @!attribute product_ids
85
+ # The product IDs to filter the members by
86
+ #
87
+ # @return [Array<String>, nil]
88
+ optional :product_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
89
+
90
90
  # @!attribute promo_code_ids
91
91
  # The promo code IDs to filter the members by
92
92
  #
@@ -112,15 +112,13 @@ module WhopSDK
112
112
  # @return [Array<String>, nil]
113
113
  optional :user_ids, WhopSDK::Internal::Type::ArrayOf[String], nil?: true
114
114
 
115
- # @!method initialize(company_id:, access_level: nil, access_pass_ids: nil, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, most_recent_actions: nil, order: nil, plan_ids: nil, promo_code_ids: nil, query: nil, statuses: nil, user_ids: nil, request_options: {})
115
+ # @!method initialize(company_id:, access_level: nil, after: nil, before: nil, created_after: nil, created_before: nil, direction: nil, first: nil, last: nil, most_recent_actions: nil, order: nil, plan_ids: nil, product_ids: nil, promo_code_ids: nil, query: nil, statuses: nil, user_ids: nil, request_options: {})
116
116
  # Some parameter documentations has been truncated, see
117
117
  # {WhopSDK::Models::MemberListParams} for more details.
118
118
  #
119
119
  # @param company_id [String] The ID of the company to list members for
120
120
  #
121
- # @param access_level [Symbol, WhopSDK::Models::AccessLevel, nil] The access level a given user (or company) has to an access pass or company.
122
- #
123
- # @param access_pass_ids [Array<String>, nil] The access pass IDs to filter the members by
121
+ # @param access_level [Symbol, WhopSDK::Models::AccessLevel, nil] The access level a given user (or company) has to a product or company.
124
122
  #
125
123
  # @param after [String, nil] Returns the elements in the list that come after the specified cursor.
126
124
  #
@@ -142,6 +140,8 @@ module WhopSDK
142
140
  #
143
141
  # @param plan_ids [Array<String>, nil] The plan IDs to filter the members by
144
142
  #
143
+ # @param product_ids [Array<String>, nil] The product IDs to filter the members by
144
+ #
145
145
  # @param promo_code_ids [Array<String>, nil] The promo code IDs to filter the members by
146
146
  #
147
147
  # @param query [String, nil] The name, username, or email to filter the members by. The email filter will onl
@@ -12,9 +12,9 @@ module WhopSDK
12
12
 
13
13
  # @!attribute access_level
14
14
  # The access level of the product member. If its admin, the member is an
15
- # authorized user of the access pass. If its customer, the member has a valid
16
- # membership to the access pass. If its no_access, the member does not have access
17
- # to the access pass.
15
+ # authorized user of the company. If its customer, the member has a valid
16
+ # membership to any product on the company. If its no_access, the member does not
17
+ # have access to the product.
18
18
  #
19
19
  # @return [Symbol, WhopSDK::Models::AccessLevel]
20
20
  required :access_level, enum: -> { WhopSDK::AccessLevel }