whop_sdk 0.0.3 → 0.0.4

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 (155) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/whop_sdk/client.rb +4 -0
  5. data/lib/whop_sdk/models/app_build_create_params.rb +53 -29
  6. data/lib/whop_sdk/models/app_update_params.rb +53 -29
  7. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +115 -39
  8. data/lib/whop_sdk/models/company.rb +13 -1
  9. data/lib/whop_sdk/models/company_create_params.rb +46 -0
  10. data/lib/whop_sdk/models/company_list_params.rb +62 -0
  11. data/lib/whop_sdk/models/company_list_response.rb +175 -0
  12. data/lib/whop_sdk/models/course_create_params.rb +75 -30
  13. data/lib/whop_sdk/models/course_lesson_update_params.rb +204 -83
  14. data/lib/whop_sdk/models/course_student_list_params.rb +62 -0
  15. data/lib/whop_sdk/models/course_student_list_response.rb +97 -0
  16. data/lib/whop_sdk/models/course_student_retrieve_params.rb +14 -0
  17. data/lib/whop_sdk/models/course_student_retrieve_response.rb +149 -0
  18. data/lib/whop_sdk/models/course_update_params.rb +51 -27
  19. data/lib/whop_sdk/models/experience_update_params.rb +53 -29
  20. data/lib/whop_sdk/models/forum_post_create_params.rb +51 -27
  21. data/lib/whop_sdk/models/forum_post_update_params.rb +51 -27
  22. data/lib/whop_sdk/models/invoice_create_params.rb +48 -32
  23. data/lib/whop_sdk/models/lesson.rb +16 -8
  24. data/lib/whop_sdk/models/message_create_params.rb +51 -27
  25. data/lib/whop_sdk/models/message_update_params.rb +51 -27
  26. data/lib/whop_sdk/models/payment.rb +10 -1
  27. data/lib/whop_sdk/models/payment_list_response.rb +10 -1
  28. data/lib/whop_sdk/models/payment_method_types.rb +2 -1
  29. data/lib/whop_sdk/models/plan.rb +48 -1
  30. data/lib/whop_sdk/models/plan_create_params.rb +97 -22
  31. data/lib/whop_sdk/models/plan_list_response.rb +51 -1
  32. data/lib/whop_sdk/models/plan_update_params.rb +97 -22
  33. data/lib/whop_sdk/models/product_update_params.rb +53 -29
  34. data/lib/whop_sdk/models/transfer.rb +9 -1
  35. data/lib/whop_sdk/models/transfer_create_params.rb +9 -1
  36. data/lib/whop_sdk/models/transfer_list_response.rb +9 -1
  37. data/lib/whop_sdk/models.rb +8 -0
  38. data/lib/whop_sdk/resources/app_builds.rb +1 -1
  39. data/lib/whop_sdk/resources/apps.rb +1 -1
  40. data/lib/whop_sdk/resources/checkout_configurations.rb +6 -6
  41. data/lib/whop_sdk/resources/companies.rb +70 -0
  42. data/lib/whop_sdk/resources/course_lesson_interactions.rb +2 -2
  43. data/lib/whop_sdk/resources/course_lessons.rb +7 -3
  44. data/lib/whop_sdk/resources/course_students.rb +76 -0
  45. data/lib/whop_sdk/resources/courses.rb +10 -3
  46. data/lib/whop_sdk/resources/experiences.rb +1 -1
  47. data/lib/whop_sdk/resources/forum_posts.rb +2 -2
  48. data/lib/whop_sdk/resources/invoices.rb +11 -11
  49. data/lib/whop_sdk/resources/messages.rb +2 -2
  50. data/lib/whop_sdk/resources/plans.rb +8 -4
  51. data/lib/whop_sdk/resources/products.rb +1 -1
  52. data/lib/whop_sdk/resources/transfers.rb +3 -1
  53. data/lib/whop_sdk/version.rb +1 -1
  54. data/lib/whop_sdk.rb +8 -1
  55. data/rbi/whop_sdk/client.rbi +3 -0
  56. data/rbi/whop_sdk/models/app_build_create_params.rbi +80 -40
  57. data/rbi/whop_sdk/models/app_update_params.rbi +86 -37
  58. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +192 -64
  59. data/rbi/whop_sdk/models/company.rbi +10 -0
  60. data/rbi/whop_sdk/models/company_create_params.rbi +67 -0
  61. data/rbi/whop_sdk/models/company_list_params.rbi +83 -0
  62. data/rbi/whop_sdk/models/company_list_response.rbi +235 -0
  63. data/rbi/whop_sdk/models/course_create_params.rbi +104 -38
  64. data/rbi/whop_sdk/models/course_lesson_update_params.rbi +326 -114
  65. data/rbi/whop_sdk/models/course_student_list_params.rbi +83 -0
  66. data/rbi/whop_sdk/models/course_student_list_response.rbi +142 -0
  67. data/rbi/whop_sdk/models/course_student_retrieve_params.rbi +30 -0
  68. data/rbi/whop_sdk/models/course_student_retrieve_response.rbi +250 -0
  69. data/rbi/whop_sdk/models/course_update_params.rbi +84 -38
  70. data/rbi/whop_sdk/models/experience_update_params.rbi +84 -38
  71. data/rbi/whop_sdk/models/forum_post_create_params.rbi +85 -32
  72. data/rbi/whop_sdk/models/forum_post_update_params.rbi +85 -32
  73. data/rbi/whop_sdk/models/invoice_create_params.rbi +58 -44
  74. data/rbi/whop_sdk/models/lesson.rbi +14 -10
  75. data/rbi/whop_sdk/models/message_create_params.rbi +85 -32
  76. data/rbi/whop_sdk/models/message_update_params.rbi +85 -32
  77. data/rbi/whop_sdk/models/payment.rbi +10 -0
  78. data/rbi/whop_sdk/models/payment_list_response.rbi +10 -0
  79. data/rbi/whop_sdk/models/payment_method_types.rbi +3 -1
  80. data/rbi/whop_sdk/models/plan.rbi +82 -0
  81. data/rbi/whop_sdk/models/plan_create_params.rbi +174 -32
  82. data/rbi/whop_sdk/models/plan_list_response.rbi +94 -0
  83. data/rbi/whop_sdk/models/plan_update_params.rbi +174 -32
  84. data/rbi/whop_sdk/models/product_update_params.rbi +83 -39
  85. data/rbi/whop_sdk/models/transfer.rbi +8 -0
  86. data/rbi/whop_sdk/models/transfer_create_params.rbi +8 -0
  87. data/rbi/whop_sdk/models/transfer_list_response.rbi +8 -0
  88. data/rbi/whop_sdk/models.rbi +8 -0
  89. data/rbi/whop_sdk/resources/app_builds.rbi +5 -1
  90. data/rbi/whop_sdk/resources/apps.rbi +7 -1
  91. data/rbi/whop_sdk/resources/checkout_configurations.rbi +6 -7
  92. data/rbi/whop_sdk/resources/companies.rbi +63 -0
  93. data/rbi/whop_sdk/resources/course_lesson_interactions.rbi +2 -2
  94. data/rbi/whop_sdk/resources/course_lessons.rbi +21 -2
  95. data/rbi/whop_sdk/resources/course_students.rbi +65 -0
  96. data/rbi/whop_sdk/resources/courses.rbi +22 -2
  97. data/rbi/whop_sdk/resources/experiences.rbi +7 -1
  98. data/rbi/whop_sdk/resources/forum_posts.rbi +12 -2
  99. data/rbi/whop_sdk/resources/invoices.rbi +18 -18
  100. data/rbi/whop_sdk/resources/messages.rbi +12 -2
  101. data/rbi/whop_sdk/resources/plans.rbi +28 -2
  102. data/rbi/whop_sdk/resources/products.rbi +6 -1
  103. data/rbi/whop_sdk/resources/transfers.rbi +3 -0
  104. data/sig/whop_sdk/client.rbs +2 -0
  105. data/sig/whop_sdk/models/app_build_create_params.rbs +29 -10
  106. data/sig/whop_sdk/models/app_update_params.rbs +29 -10
  107. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +72 -21
  108. data/sig/whop_sdk/models/company.rbs +5 -0
  109. data/sig/whop_sdk/models/company_create_params.rbs +41 -0
  110. data/sig/whop_sdk/models/company_list_params.rbs +51 -0
  111. data/sig/whop_sdk/models/company_list_response.rbs +109 -0
  112. data/sig/whop_sdk/models/course_create_params.rbs +39 -10
  113. data/sig/whop_sdk/models/course_lesson_update_params.rbs +116 -30
  114. data/sig/whop_sdk/models/course_student_list_params.rbs +51 -0
  115. data/sig/whop_sdk/models/course_student_list_response.rbs +64 -0
  116. data/sig/whop_sdk/models/course_student_retrieve_params.rbs +15 -0
  117. data/sig/whop_sdk/models/course_student_retrieve_response.rbs +106 -0
  118. data/sig/whop_sdk/models/course_update_params.rbs +29 -10
  119. data/sig/whop_sdk/models/experience_update_params.rbs +29 -10
  120. data/sig/whop_sdk/models/forum_post_create_params.rbs +29 -10
  121. data/sig/whop_sdk/models/forum_post_update_params.rbs +29 -10
  122. data/sig/whop_sdk/models/invoice_create_params.rbs +28 -18
  123. data/sig/whop_sdk/models/lesson.rbs +8 -8
  124. data/sig/whop_sdk/models/message_create_params.rbs +29 -10
  125. data/sig/whop_sdk/models/message_update_params.rbs +29 -10
  126. data/sig/whop_sdk/models/payment.rbs +5 -0
  127. data/sig/whop_sdk/models/payment_list_response.rbs +5 -0
  128. data/sig/whop_sdk/models/payment_method_types.rbs +4 -2
  129. data/sig/whop_sdk/models/plan.rbs +32 -0
  130. data/sig/whop_sdk/models/plan_create_params.rbs +61 -10
  131. data/sig/whop_sdk/models/plan_list_response.rbs +32 -0
  132. data/sig/whop_sdk/models/plan_update_params.rbs +61 -10
  133. data/sig/whop_sdk/models/product_update_params.rbs +29 -10
  134. data/sig/whop_sdk/models/transfer.rbs +5 -0
  135. data/sig/whop_sdk/models/transfer_create_params.rbs +5 -0
  136. data/sig/whop_sdk/models/transfer_list_response.rbs +5 -0
  137. data/sig/whop_sdk/models.rbs +8 -0
  138. data/sig/whop_sdk/resources/app_builds.rbs +1 -1
  139. data/sig/whop_sdk/resources/apps.rbs +1 -1
  140. data/sig/whop_sdk/resources/checkout_configurations.rbs +2 -2
  141. data/sig/whop_sdk/resources/companies.rbs +18 -0
  142. data/sig/whop_sdk/resources/course_lessons.rbs +4 -2
  143. data/sig/whop_sdk/resources/course_students.rbs +22 -0
  144. data/sig/whop_sdk/resources/courses.rbs +4 -2
  145. data/sig/whop_sdk/resources/experiences.rbs +1 -1
  146. data/sig/whop_sdk/resources/forum_posts.rbs +2 -2
  147. data/sig/whop_sdk/resources/invoices.rbs +5 -5
  148. data/sig/whop_sdk/resources/messages.rbs +2 -2
  149. data/sig/whop_sdk/resources/plans.rbs +4 -2
  150. data/sig/whop_sdk/resources/products.rbs +1 -1
  151. data/sig/whop_sdk/resources/transfers.rbs +1 -0
  152. metadata +26 -5
  153. data/lib/whop_sdk/models/invoice_create_response.rb +0 -27
  154. data/rbi/whop_sdk/models/invoice_create_response.rbi +0 -49
  155. data/sig/whop_sdk/models/invoice_create_response.rbs +0 -19
@@ -0,0 +1,149 @@
1
+ # frozen_string_literal: true
2
+
3
+ module WhopSDK
4
+ module Models
5
+ # @see WhopSDK::Resources::CourseStudents#retrieve
6
+ class CourseStudentRetrieveResponse < WhopSDK::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # The ID of the course student. Looks like crsi_XXX
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute completed_lessons_count
14
+ # The number of lessons the student has completed
15
+ #
16
+ # @return [Integer]
17
+ required :completed_lessons_count, Integer
18
+
19
+ # @!attribute completion_rate
20
+ # The percentage of lessons completed (0-100)
21
+ #
22
+ # @return [Float]
23
+ required :completion_rate, Float
24
+
25
+ # @!attribute course
26
+ # The course the student is enrolled in
27
+ #
28
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::Course]
29
+ required :course, -> { WhopSDK::Models::CourseStudentRetrieveResponse::Course }
30
+
31
+ # @!attribute first_interaction_at
32
+ # When the student first interacted with the course
33
+ #
34
+ # @return [Time]
35
+ required :first_interaction_at, Time
36
+
37
+ # @!attribute last_interaction_at
38
+ # When the student last interacted with the course
39
+ #
40
+ # @return [Time]
41
+ required :last_interaction_at, Time
42
+
43
+ # @!attribute total_lessons_count
44
+ # The total number of lessons the student has access to
45
+ #
46
+ # @return [Integer]
47
+ required :total_lessons_count, Integer
48
+
49
+ # @!attribute user
50
+ # The user who is enrolled in the course
51
+ #
52
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::User]
53
+ required :user, -> { WhopSDK::Models::CourseStudentRetrieveResponse::User }
54
+
55
+ # @!method initialize(id:, completed_lessons_count:, completion_rate:, course:, first_interaction_at:, last_interaction_at:, total_lessons_count:, user:)
56
+ # A course student (enrollment of a student in a course)
57
+ #
58
+ # @param id [String] The ID of the course student. Looks like crsi_XXX
59
+ #
60
+ # @param completed_lessons_count [Integer] The number of lessons the student has completed
61
+ #
62
+ # @param completion_rate [Float] The percentage of lessons completed (0-100)
63
+ #
64
+ # @param course [WhopSDK::Models::CourseStudentRetrieveResponse::Course] The course the student is enrolled in
65
+ #
66
+ # @param first_interaction_at [Time] When the student first interacted with the course
67
+ #
68
+ # @param last_interaction_at [Time] When the student last interacted with the course
69
+ #
70
+ # @param total_lessons_count [Integer] The total number of lessons the student has access to
71
+ #
72
+ # @param user [WhopSDK::Models::CourseStudentRetrieveResponse::User] The user who is enrolled in the course
73
+
74
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse#course
75
+ class Course < WhopSDK::Internal::Type::BaseModel
76
+ # @!attribute id
77
+ # The ID of the course. Looks like cors_XXX
78
+ #
79
+ # @return [String]
80
+ required :id, String
81
+
82
+ # @!attribute experience
83
+ # The experience that the course belongs to
84
+ #
85
+ # @return [WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience]
86
+ required :experience, -> { WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience }
87
+
88
+ # @!attribute title
89
+ # The title of the course
90
+ #
91
+ # @return [String, nil]
92
+ required :title, String, nil?: true
93
+
94
+ # @!method initialize(id:, experience:, title:)
95
+ # The course the student is enrolled in
96
+ #
97
+ # @param id [String] The ID of the course. Looks like cors_XXX
98
+ #
99
+ # @param experience [WhopSDK::Models::CourseStudentRetrieveResponse::Course::Experience] The experience that the course belongs to
100
+ #
101
+ # @param title [String, nil] The title of the course
102
+
103
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse::Course#experience
104
+ class Experience < WhopSDK::Internal::Type::BaseModel
105
+ # @!attribute id
106
+ # The unique ID representing this experience
107
+ #
108
+ # @return [String]
109
+ required :id, String
110
+
111
+ # @!method initialize(id:)
112
+ # The experience that the course belongs to
113
+ #
114
+ # @param id [String] The unique ID representing this experience
115
+ end
116
+ end
117
+
118
+ # @see WhopSDK::Models::CourseStudentRetrieveResponse#user
119
+ class User < WhopSDK::Internal::Type::BaseModel
120
+ # @!attribute id
121
+ # The internal ID of the user.
122
+ #
123
+ # @return [String]
124
+ required :id, String
125
+
126
+ # @!attribute name
127
+ # The name of the user from their Whop account.
128
+ #
129
+ # @return [String, nil]
130
+ required :name, String, nil?: true
131
+
132
+ # @!attribute username
133
+ # The username of the user from their Whop account.
134
+ #
135
+ # @return [String]
136
+ required :username, String
137
+
138
+ # @!method initialize(id:, name:, username:)
139
+ # The user who is enrolled in the course
140
+ #
141
+ # @param id [String] The internal ID of the user.
142
+ #
143
+ # @param name [String, nil] The name of the user from their Whop account.
144
+ #
145
+ # @param username [String] The username of the user from their Whop account.
146
+ end
147
+ end
148
+ end
149
+ end
@@ -56,8 +56,8 @@ module WhopSDK
56
56
  # @!attribute thumbnail
57
57
  # The thumbnail for the course in png, jpeg, or gif format
58
58
  #
59
- # @return [WhopSDK::Models::CourseUpdateParams::Thumbnail, nil]
60
- optional :thumbnail, -> { WhopSDK::CourseUpdateParams::Thumbnail }, nil?: true
59
+ # @return [WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID, nil]
60
+ optional :thumbnail, union: -> { WhopSDK::CourseUpdateParams::Thumbnail }, nil?: true
61
61
 
62
62
  # @!attribute title
63
63
  # The title of the course
@@ -83,7 +83,7 @@ module WhopSDK
83
83
  #
84
84
  # @param tagline [String, nil] A short tagline for the course
85
85
  #
86
- # @param thumbnail [WhopSDK::Models::CourseUpdateParams::Thumbnail, nil] The thumbnail for the course in png, jpeg, or gif format
86
+ # @param thumbnail [WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID, nil] The thumbnail for the course in png, jpeg, or gif format
87
87
  #
88
88
  # @param title [String, nil] The title of the course
89
89
  #
@@ -165,32 +165,56 @@ module WhopSDK
165
165
  end
166
166
  end
167
167
 
168
- class Thumbnail < WhopSDK::Internal::Type::BaseModel
169
- # @!attribute id
170
- # The ID of an existing attachment object. Use this when updating a resource and
171
- # keeping a subset of the attachments. Don't use this unless you know what you're
172
- # doing.
173
- #
174
- # @return [String, nil]
175
- optional :id, String, nil?: true
168
+ # The thumbnail for the course in png, jpeg, or gif format
169
+ module Thumbnail
170
+ extend WhopSDK::Internal::Type::Union
176
171
 
177
- # @!attribute direct_upload_id
178
- # This ID should be used the first time you upload an attachment. It is the ID of
179
- # the direct upload that was created when uploading the file to S3 via the
180
- # mediaDirectUpload mutation.
181
- #
182
- # @return [String, nil]
183
- optional :direct_upload_id, String, nil?: true
172
+ # Input for an attachment
173
+ variant -> { WhopSDK::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID }
184
174
 
185
- # @!method initialize(id: nil, direct_upload_id: nil)
186
- # Some parameter documentations has been truncated, see
187
- # {WhopSDK::Models::CourseUpdateParams::Thumbnail} for more details.
188
- #
189
- # The thumbnail for the course in png, jpeg, or gif format
190
- #
191
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
192
- #
193
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
175
+ # Input for an attachment
176
+ variant -> { WhopSDK::CourseUpdateParams::Thumbnail::AttachmentInputWithID }
177
+
178
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
179
+ # @!attribute direct_upload_id
180
+ # This ID should be used the first time you upload an attachment. It is the ID of
181
+ # the direct upload that was created when uploading the file to S3 via the
182
+ # mediaDirectUpload mutation.
183
+ #
184
+ # @return [String]
185
+ required :direct_upload_id, String
186
+
187
+ # @!method initialize(direct_upload_id:)
188
+ # Some parameter documentations has been truncated, see
189
+ # {WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID}
190
+ # for more details.
191
+ #
192
+ # Input for an attachment
193
+ #
194
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
195
+ end
196
+
197
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
198
+ # @!attribute id
199
+ # The ID of an existing attachment object. Use this when updating a resource and
200
+ # keeping a subset of the attachments. Don't use this unless you know what you're
201
+ # doing.
202
+ #
203
+ # @return [String]
204
+ required :id, String
205
+
206
+ # @!method initialize(id:)
207
+ # Some parameter documentations has been truncated, see
208
+ # {WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID} for more
209
+ # details.
210
+ #
211
+ # Input for an attachment
212
+ #
213
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
214
+ end
215
+
216
+ # @!method self.variants
217
+ # @return [Array(WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithDirectUploadID, WhopSDK::Models::CourseUpdateParams::Thumbnail::AttachmentInputWithID)]
194
218
  end
195
219
  end
196
220
  end
@@ -16,8 +16,8 @@ module WhopSDK
16
16
  # @!attribute logo
17
17
  # The logo for the experience
18
18
  #
19
- # @return [WhopSDK::Models::ExperienceUpdateParams::Logo, nil]
20
- optional :logo, -> { WhopSDK::ExperienceUpdateParams::Logo }, nil?: true
19
+ # @return [WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID, nil]
20
+ optional :logo, union: -> { WhopSDK::ExperienceUpdateParams::Logo }, nil?: true
21
21
 
22
22
  # @!attribute name
23
23
  # The name of the experience.
@@ -40,7 +40,7 @@ module WhopSDK
40
40
  # @!method initialize(access_level: nil, logo: nil, name: nil, order: nil, section_id: nil, request_options: {})
41
41
  # @param access_level [Symbol, WhopSDK::Models::ExperienceUpdateParams::AccessLevel, nil] The different access levels for experiences (PUBLIC IS NEVER USED ANYMORE).
42
42
  #
43
- # @param logo [WhopSDK::Models::ExperienceUpdateParams::Logo, nil] The logo for the experience
43
+ # @param logo [WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID, nil] The logo for the experience
44
44
  #
45
45
  # @param name [String, nil] The name of the experience.
46
46
  #
@@ -61,32 +61,56 @@ module WhopSDK
61
61
  # @return [Array<Symbol>]
62
62
  end
63
63
 
64
- class Logo < WhopSDK::Internal::Type::BaseModel
65
- # @!attribute id
66
- # The ID of an existing attachment object. Use this when updating a resource and
67
- # keeping a subset of the attachments. Don't use this unless you know what you're
68
- # doing.
69
- #
70
- # @return [String, nil]
71
- optional :id, String, nil?: true
72
-
73
- # @!attribute direct_upload_id
74
- # This ID should be used the first time you upload an attachment. It is the ID of
75
- # the direct upload that was created when uploading the file to S3 via the
76
- # mediaDirectUpload mutation.
77
- #
78
- # @return [String, nil]
79
- optional :direct_upload_id, String, nil?: true
80
-
81
- # @!method initialize(id: nil, direct_upload_id: nil)
82
- # Some parameter documentations has been truncated, see
83
- # {WhopSDK::Models::ExperienceUpdateParams::Logo} for more details.
84
- #
85
- # The logo for the experience
86
- #
87
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
88
- #
89
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
64
+ # The logo for the experience
65
+ module Logo
66
+ extend WhopSDK::Internal::Type::Union
67
+
68
+ # Input for an attachment
69
+ variant -> { WhopSDK::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID }
70
+
71
+ # Input for an attachment
72
+ variant -> { WhopSDK::ExperienceUpdateParams::Logo::AttachmentInputWithID }
73
+
74
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
75
+ # @!attribute direct_upload_id
76
+ # This ID should be used the first time you upload an attachment. It is the ID of
77
+ # the direct upload that was created when uploading the file to S3 via the
78
+ # mediaDirectUpload mutation.
79
+ #
80
+ # @return [String]
81
+ required :direct_upload_id, String
82
+
83
+ # @!method initialize(direct_upload_id:)
84
+ # Some parameter documentations has been truncated, see
85
+ # {WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID}
86
+ # for more details.
87
+ #
88
+ # Input for an attachment
89
+ #
90
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
91
+ end
92
+
93
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
94
+ # @!attribute id
95
+ # The ID of an existing attachment object. Use this when updating a resource and
96
+ # keeping a subset of the attachments. Don't use this unless you know what you're
97
+ # doing.
98
+ #
99
+ # @return [String]
100
+ required :id, String
101
+
102
+ # @!method initialize(id:)
103
+ # Some parameter documentations has been truncated, see
104
+ # {WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID} for more
105
+ # details.
106
+ #
107
+ # Input for an attachment
108
+ #
109
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
110
+ end
111
+
112
+ # @!method self.variants
113
+ # @return [Array(WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithDirectUploadID, WhopSDK::Models::ExperienceUpdateParams::Logo::AttachmentInputWithID)]
90
114
  end
91
115
  end
92
116
  end
@@ -16,9 +16,9 @@ module WhopSDK
16
16
  # @!attribute attachments
17
17
  # The attachments for this post
18
18
  #
19
- # @return [Array<WhopSDK::Models::ForumPostCreateParams::Attachment>, nil]
19
+ # @return [Array<WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID>, nil]
20
20
  optional :attachments,
21
- -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::ForumPostCreateParams::Attachment] },
21
+ -> { WhopSDK::Internal::Type::ArrayOf[union: WhopSDK::ForumPostCreateParams::Attachment] },
22
22
  nil?: true
23
23
 
24
24
  # @!attribute content
@@ -80,7 +80,7 @@ module WhopSDK
80
80
  #
81
81
  # @param experience_id [String] The experience to create this post in
82
82
  #
83
- # @param attachments [Array<WhopSDK::Models::ForumPostCreateParams::Attachment>, nil] The attachments for this post
83
+ # @param attachments [Array<WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID>, nil] The attachments for this post
84
84
  #
85
85
  # @param content [String, nil] This is the main body of the post in Markdown format. Hidden if paywalled and us
86
86
  #
@@ -100,32 +100,56 @@ module WhopSDK
100
100
  #
101
101
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
102
102
 
103
- class Attachment < WhopSDK::Internal::Type::BaseModel
104
- # @!attribute id
105
- # The ID of an existing attachment object. Use this when updating a resource and
106
- # keeping a subset of the attachments. Don't use this unless you know what you're
107
- # doing.
108
- #
109
- # @return [String, nil]
110
- optional :id, String, nil?: true
103
+ # Input for an attachment
104
+ module Attachment
105
+ extend WhopSDK::Internal::Type::Union
111
106
 
112
- # @!attribute direct_upload_id
113
- # This ID should be used the first time you upload an attachment. It is the ID of
114
- # the direct upload that was created when uploading the file to S3 via the
115
- # mediaDirectUpload mutation.
116
- #
117
- # @return [String, nil]
118
- optional :direct_upload_id, String, nil?: true
107
+ # Input for an attachment
108
+ variant -> { WhopSDK::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID }
119
109
 
120
- # @!method initialize(id: nil, direct_upload_id: nil)
121
- # Some parameter documentations has been truncated, see
122
- # {WhopSDK::Models::ForumPostCreateParams::Attachment} for more details.
123
- #
124
- # Input for an attachment
125
- #
126
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
127
- #
128
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
110
+ # Input for an attachment
111
+ variant -> { WhopSDK::ForumPostCreateParams::Attachment::AttachmentInputWithID }
112
+
113
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
114
+ # @!attribute direct_upload_id
115
+ # This ID should be used the first time you upload an attachment. It is the ID of
116
+ # the direct upload that was created when uploading the file to S3 via the
117
+ # mediaDirectUpload mutation.
118
+ #
119
+ # @return [String]
120
+ required :direct_upload_id, String
121
+
122
+ # @!method initialize(direct_upload_id:)
123
+ # Some parameter documentations has been truncated, see
124
+ # {WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID}
125
+ # for more details.
126
+ #
127
+ # Input for an attachment
128
+ #
129
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
130
+ end
131
+
132
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
133
+ # @!attribute id
134
+ # The ID of an existing attachment object. Use this when updating a resource and
135
+ # keeping a subset of the attachments. Don't use this unless you know what you're
136
+ # doing.
137
+ #
138
+ # @return [String]
139
+ required :id, String
140
+
141
+ # @!method initialize(id:)
142
+ # Some parameter documentations has been truncated, see
143
+ # {WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID} for
144
+ # more details.
145
+ #
146
+ # Input for an attachment
147
+ #
148
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
149
+ end
150
+
151
+ # @!method self.variants
152
+ # @return [Array(WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostCreateParams::Attachment::AttachmentInputWithID)]
129
153
  end
130
154
 
131
155
  class Poll < WhopSDK::Internal::Type::BaseModel
@@ -10,9 +10,9 @@ module WhopSDK
10
10
  # @!attribute attachments
11
11
  # The attachments for this post
12
12
  #
13
- # @return [Array<WhopSDK::Models::ForumPostUpdateParams::Attachment>, nil]
13
+ # @return [Array<WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithID>, nil]
14
14
  optional :attachments,
15
- -> { WhopSDK::Internal::Type::ArrayOf[WhopSDK::ForumPostUpdateParams::Attachment] },
15
+ -> { WhopSDK::Internal::Type::ArrayOf[union: WhopSDK::ForumPostUpdateParams::Attachment] },
16
16
  nil?: true
17
17
 
18
18
  # @!attribute content
@@ -38,7 +38,7 @@ module WhopSDK
38
38
  # Some parameter documentations has been truncated, see
39
39
  # {WhopSDK::Models::ForumPostUpdateParams} for more details.
40
40
  #
41
- # @param attachments [Array<WhopSDK::Models::ForumPostUpdateParams::Attachment>, nil] The attachments for this post
41
+ # @param attachments [Array<WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithID>, nil] The attachments for this post
42
42
  #
43
43
  # @param content [String, nil] This is the main body of the post in Markdown format. Hidden if paywalled and us
44
44
  #
@@ -48,32 +48,56 @@ module WhopSDK
48
48
  #
49
49
  # @param request_options [WhopSDK::RequestOptions, Hash{Symbol=>Object}]
50
50
 
51
- class Attachment < WhopSDK::Internal::Type::BaseModel
52
- # @!attribute id
53
- # The ID of an existing attachment object. Use this when updating a resource and
54
- # keeping a subset of the attachments. Don't use this unless you know what you're
55
- # doing.
56
- #
57
- # @return [String, nil]
58
- optional :id, String, nil?: true
51
+ # Input for an attachment
52
+ module Attachment
53
+ extend WhopSDK::Internal::Type::Union
59
54
 
60
- # @!attribute direct_upload_id
61
- # This ID should be used the first time you upload an attachment. It is the ID of
62
- # the direct upload that was created when uploading the file to S3 via the
63
- # mediaDirectUpload mutation.
64
- #
65
- # @return [String, nil]
66
- optional :direct_upload_id, String, nil?: true
55
+ # Input for an attachment
56
+ variant -> { WhopSDK::ForumPostUpdateParams::Attachment::AttachmentInputWithDirectUploadID }
67
57
 
68
- # @!method initialize(id: nil, direct_upload_id: nil)
69
- # Some parameter documentations has been truncated, see
70
- # {WhopSDK::Models::ForumPostUpdateParams::Attachment} for more details.
71
- #
72
- # Input for an attachment
73
- #
74
- # @param id [String, nil] The ID of an existing attachment object. Use this when updating a resource and k
75
- #
76
- # @param direct_upload_id [String, nil] This ID should be used the first time you upload an attachment. It is the ID of
58
+ # Input for an attachment
59
+ variant -> { WhopSDK::ForumPostUpdateParams::Attachment::AttachmentInputWithID }
60
+
61
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
62
+ # @!attribute direct_upload_id
63
+ # This ID should be used the first time you upload an attachment. It is the ID of
64
+ # the direct upload that was created when uploading the file to S3 via the
65
+ # mediaDirectUpload mutation.
66
+ #
67
+ # @return [String]
68
+ required :direct_upload_id, String
69
+
70
+ # @!method initialize(direct_upload_id:)
71
+ # Some parameter documentations has been truncated, see
72
+ # {WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithDirectUploadID}
73
+ # for more details.
74
+ #
75
+ # Input for an attachment
76
+ #
77
+ # @param direct_upload_id [String] This ID should be used the first time you upload an attachment. It is the ID of
78
+ end
79
+
80
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
81
+ # @!attribute id
82
+ # The ID of an existing attachment object. Use this when updating a resource and
83
+ # keeping a subset of the attachments. Don't use this unless you know what you're
84
+ # doing.
85
+ #
86
+ # @return [String]
87
+ required :id, String
88
+
89
+ # @!method initialize(id:)
90
+ # Some parameter documentations has been truncated, see
91
+ # {WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithID} for
92
+ # more details.
93
+ #
94
+ # Input for an attachment
95
+ #
96
+ # @param id [String] The ID of an existing attachment object. Use this when updating a resource and k
97
+ end
98
+
99
+ # @!method self.variants
100
+ # @return [Array(WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithDirectUploadID, WhopSDK::Models::ForumPostUpdateParams::Attachment::AttachmentInputWithID)]
77
101
  end
78
102
  end
79
103
  end