whop_sdk 0.0.5 → 0.0.7

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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/README.md +4 -7
  4. data/lib/whop_sdk/client.rb +17 -6
  5. data/lib/whop_sdk/models/access_token_create_params.rb +26 -36
  6. data/lib/whop_sdk/models/card_brands.rb +1 -0
  7. data/lib/whop_sdk/models/checkout_configuration_create_params.rb +9 -9
  8. data/lib/whop_sdk/models/company.rb +1 -0
  9. data/lib/whop_sdk/models/currency.rb +1 -0
  10. data/lib/whop_sdk/models/dispute.rb +672 -0
  11. data/lib/whop_sdk/models/dispute_created_webhook_event.rb +48 -0
  12. data/lib/whop_sdk/models/dispute_list_params.rb +62 -0
  13. data/lib/whop_sdk/models/dispute_list_response.rb +187 -0
  14. data/lib/whop_sdk/models/dispute_retrieve_params.rb +14 -0
  15. data/lib/whop_sdk/models/dispute_statuses.rb +23 -0
  16. data/lib/whop_sdk/models/dispute_submit_evidence_params.rb +14 -0
  17. data/lib/whop_sdk/models/dispute_update_evidence_params.rb +342 -0
  18. data/lib/whop_sdk/models/dispute_updated_webhook_event.rb +48 -0
  19. data/lib/whop_sdk/models/forum_post_create_params.rb +20 -1
  20. data/lib/whop_sdk/models/forum_post_update_params.rb +20 -1
  21. data/lib/whop_sdk/models/ledger_account_retrieve_response.rb +1 -0
  22. data/lib/whop_sdk/models/notification_create_params.rb +88 -0
  23. data/lib/whop_sdk/models/notification_create_response.rb +19 -0
  24. data/lib/whop_sdk/models/shipment.rb +3 -3
  25. data/lib/whop_sdk/models/shipment_list_response.rb +3 -3
  26. data/lib/whop_sdk/models/unwrap_webhook_event.rb +5 -1
  27. data/lib/whop_sdk/models.rb +18 -0
  28. data/lib/whop_sdk/resources/access_tokens.rb +9 -7
  29. data/lib/whop_sdk/resources/disputes.rb +182 -0
  30. data/lib/whop_sdk/resources/forum_posts.rb +6 -2
  31. data/lib/whop_sdk/resources/notifications.rb +53 -0
  32. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  33. data/lib/whop_sdk/version.rb +1 -1
  34. data/lib/whop_sdk.rb +13 -0
  35. data/rbi/whop_sdk/client.rbi +11 -2
  36. data/rbi/whop_sdk/models/access_token_create_params.rbi +34 -77
  37. data/rbi/whop_sdk/models/card_brands.rbi +1 -0
  38. data/rbi/whop_sdk/models/checkout_configuration_create_params.rbi +8 -8
  39. data/rbi/whop_sdk/models/company.rbi +2 -0
  40. data/rbi/whop_sdk/models/currency.rbi +1 -0
  41. data/rbi/whop_sdk/models/dispute.rbi +938 -0
  42. data/rbi/whop_sdk/models/dispute_created_webhook_event.rbi +72 -0
  43. data/rbi/whop_sdk/models/dispute_list_params.rbi +83 -0
  44. data/rbi/whop_sdk/models/dispute_list_response.rbi +287 -0
  45. data/rbi/whop_sdk/models/dispute_retrieve_params.rbi +27 -0
  46. data/rbi/whop_sdk/models/dispute_statuses.rbi +32 -0
  47. data/rbi/whop_sdk/models/dispute_submit_evidence_params.rbi +30 -0
  48. data/rbi/whop_sdk/models/dispute_update_evidence_params.rbi +566 -0
  49. data/rbi/whop_sdk/models/dispute_updated_webhook_event.rbi +72 -0
  50. data/rbi/whop_sdk/models/forum_post_create_params.rbi +42 -0
  51. data/rbi/whop_sdk/models/forum_post_update_params.rbi +42 -0
  52. data/rbi/whop_sdk/models/ledger_account_retrieve_response.rbi +5 -0
  53. data/rbi/whop_sdk/models/notification_create_params.rbi +113 -0
  54. data/rbi/whop_sdk/models/notification_create_response.rbi +31 -0
  55. data/rbi/whop_sdk/models/shipment.rbi +6 -4
  56. data/rbi/whop_sdk/models/shipment_list_response.rbi +6 -4
  57. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +3 -1
  58. data/rbi/whop_sdk/models.rbi +18 -0
  59. data/rbi/whop_sdk/resources/access_tokens.rbi +19 -14
  60. data/rbi/whop_sdk/resources/disputes.rbi +194 -0
  61. data/rbi/whop_sdk/resources/forum_posts.rbi +8 -0
  62. data/rbi/whop_sdk/resources/notifications.rbi +54 -0
  63. data/rbi/whop_sdk/resources/webhooks.rbi +3 -1
  64. data/sig/whop_sdk/client.rbs +5 -1
  65. data/sig/whop_sdk/models/access_token_create_params.rbs +14 -29
  66. data/sig/whop_sdk/models/card_brands.rbs +2 -0
  67. data/sig/whop_sdk/models/checkout_configuration_create_params.rbs +5 -5
  68. data/sig/whop_sdk/models/company.rbs +2 -0
  69. data/sig/whop_sdk/models/currency.rbs +2 -0
  70. data/sig/whop_sdk/models/dispute.rbs +437 -0
  71. data/sig/whop_sdk/models/dispute_created_webhook_event.rbs +40 -0
  72. data/sig/whop_sdk/models/dispute_list_params.rbs +51 -0
  73. data/sig/whop_sdk/models/dispute_list_response.rbs +124 -0
  74. data/sig/whop_sdk/models/dispute_retrieve_params.rbs +15 -0
  75. data/sig/whop_sdk/models/dispute_statuses.rbs +30 -0
  76. data/sig/whop_sdk/models/dispute_submit_evidence_params.rbs +15 -0
  77. data/sig/whop_sdk/models/dispute_update_evidence_params.rbs +215 -0
  78. data/sig/whop_sdk/models/dispute_updated_webhook_event.rbs +40 -0
  79. data/sig/whop_sdk/models/forum_post_create_params.rbs +17 -1
  80. data/sig/whop_sdk/models/forum_post_update_params.rbs +17 -1
  81. data/sig/whop_sdk/models/ledger_account_retrieve_response.rbs +2 -0
  82. data/sig/whop_sdk/models/notification_create_params.rbs +61 -0
  83. data/sig/whop_sdk/models/notification_create_response.rbs +13 -0
  84. data/sig/whop_sdk/models/shipment.rbs +4 -4
  85. data/sig/whop_sdk/models/shipment_list_response.rbs +4 -4
  86. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +2 -0
  87. data/sig/whop_sdk/models.rbs +18 -0
  88. data/sig/whop_sdk/resources/access_tokens.rbs +3 -3
  89. data/sig/whop_sdk/resources/disputes.rbs +46 -0
  90. data/sig/whop_sdk/resources/forum_posts.rbs +2 -0
  91. data/sig/whop_sdk/resources/notifications.rbs +19 -0
  92. data/sig/whop_sdk/resources/webhooks.rbs +3 -1
  93. metadata +41 -2
@@ -0,0 +1,566 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class DisputeUpdateEvidenceParams < 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::DisputeUpdateEvidenceParams,
13
+ WhopSDK::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # An IP access log for the user from Whop.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :access_activity_log
20
+
21
+ # The billing address of the user from their payment details.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :billing_address
24
+
25
+ # A file containing the cancellation policy from the company.
26
+ sig do
27
+ returns(
28
+ T.nilable(
29
+ T.any(
30
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID,
31
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID
32
+ )
33
+ )
34
+ )
35
+ end
36
+ attr_accessor :cancellation_policy_attachment
37
+
38
+ # A cancellation policy disclosure from the company.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :cancellation_policy_disclosure
41
+
42
+ # A file containing the customer communication from the company (An image).
43
+ sig do
44
+ returns(
45
+ T.nilable(
46
+ T.any(
47
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID,
48
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID
49
+ )
50
+ )
51
+ )
52
+ end
53
+ attr_accessor :customer_communication_attachment
54
+
55
+ # The email of the customer from their payment details.
56
+ sig { returns(T.nilable(String)) }
57
+ attr_accessor :customer_email_address
58
+
59
+ # The name of the customer from their payment details.
60
+ sig { returns(T.nilable(String)) }
61
+ attr_accessor :customer_name
62
+
63
+ # Additional notes the company chooses to submit regarding the dispute.
64
+ sig { returns(T.nilable(String)) }
65
+ attr_accessor :notes
66
+
67
+ # The description of the product from the company.
68
+ sig { returns(T.nilable(String)) }
69
+ attr_accessor :product_description
70
+
71
+ # A file containing the refund policy from the company.
72
+ sig do
73
+ returns(
74
+ T.nilable(
75
+ T.any(
76
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID,
77
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID
78
+ )
79
+ )
80
+ )
81
+ end
82
+ attr_accessor :refund_policy_attachment
83
+
84
+ # A refund policy disclosure from the company.
85
+ sig { returns(T.nilable(String)) }
86
+ attr_accessor :refund_policy_disclosure
87
+
88
+ # A description on why the refund is being refused by the company.
89
+ sig { returns(T.nilable(String)) }
90
+ attr_accessor :refund_refusal_explanation
91
+
92
+ # When the product was delivered by the company.
93
+ sig { returns(T.nilable(String)) }
94
+ attr_accessor :service_date
95
+
96
+ # A file that does not fit in the other categories.
97
+ sig do
98
+ returns(
99
+ T.nilable(
100
+ T.any(
101
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID,
102
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID
103
+ )
104
+ )
105
+ )
106
+ end
107
+ attr_accessor :uncategorized_attachment
108
+
109
+ sig do
110
+ params(
111
+ access_activity_log: T.nilable(String),
112
+ billing_address: T.nilable(String),
113
+ cancellation_policy_attachment:
114
+ T.nilable(
115
+ T.any(
116
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID::OrHash,
117
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID::OrHash
118
+ )
119
+ ),
120
+ cancellation_policy_disclosure: T.nilable(String),
121
+ customer_communication_attachment:
122
+ T.nilable(
123
+ T.any(
124
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID::OrHash,
125
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID::OrHash
126
+ )
127
+ ),
128
+ customer_email_address: T.nilable(String),
129
+ customer_name: T.nilable(String),
130
+ notes: T.nilable(String),
131
+ product_description: T.nilable(String),
132
+ refund_policy_attachment:
133
+ T.nilable(
134
+ T.any(
135
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID::OrHash,
136
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID::OrHash
137
+ )
138
+ ),
139
+ refund_policy_disclosure: T.nilable(String),
140
+ refund_refusal_explanation: T.nilable(String),
141
+ service_date: T.nilable(String),
142
+ uncategorized_attachment:
143
+ T.nilable(
144
+ T.any(
145
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID::OrHash,
146
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID::OrHash
147
+ )
148
+ ),
149
+ request_options: WhopSDK::RequestOptions::OrHash
150
+ ).returns(T.attached_class)
151
+ end
152
+ def self.new(
153
+ # An IP access log for the user from Whop.
154
+ access_activity_log: nil,
155
+ # The billing address of the user from their payment details.
156
+ billing_address: nil,
157
+ # A file containing the cancellation policy from the company.
158
+ cancellation_policy_attachment: nil,
159
+ # A cancellation policy disclosure from the company.
160
+ cancellation_policy_disclosure: nil,
161
+ # A file containing the customer communication from the company (An image).
162
+ customer_communication_attachment: nil,
163
+ # The email of the customer from their payment details.
164
+ customer_email_address: nil,
165
+ # The name of the customer from their payment details.
166
+ customer_name: nil,
167
+ # Additional notes the company chooses to submit regarding the dispute.
168
+ notes: nil,
169
+ # The description of the product from the company.
170
+ product_description: nil,
171
+ # A file containing the refund policy from the company.
172
+ refund_policy_attachment: nil,
173
+ # A refund policy disclosure from the company.
174
+ refund_policy_disclosure: nil,
175
+ # A description on why the refund is being refused by the company.
176
+ refund_refusal_explanation: nil,
177
+ # When the product was delivered by the company.
178
+ service_date: nil,
179
+ # A file that does not fit in the other categories.
180
+ uncategorized_attachment: nil,
181
+ request_options: {}
182
+ )
183
+ end
184
+
185
+ sig do
186
+ override.returns(
187
+ {
188
+ access_activity_log: T.nilable(String),
189
+ billing_address: T.nilable(String),
190
+ cancellation_policy_attachment:
191
+ T.nilable(
192
+ T.any(
193
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID,
194
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID
195
+ )
196
+ ),
197
+ cancellation_policy_disclosure: T.nilable(String),
198
+ customer_communication_attachment:
199
+ T.nilable(
200
+ T.any(
201
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID,
202
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID
203
+ )
204
+ ),
205
+ customer_email_address: T.nilable(String),
206
+ customer_name: T.nilable(String),
207
+ notes: T.nilable(String),
208
+ product_description: T.nilable(String),
209
+ refund_policy_attachment:
210
+ T.nilable(
211
+ T.any(
212
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID,
213
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID
214
+ )
215
+ ),
216
+ refund_policy_disclosure: T.nilable(String),
217
+ refund_refusal_explanation: T.nilable(String),
218
+ service_date: T.nilable(String),
219
+ uncategorized_attachment:
220
+ T.nilable(
221
+ T.any(
222
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID,
223
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID
224
+ )
225
+ ),
226
+ request_options: WhopSDK::RequestOptions
227
+ }
228
+ )
229
+ end
230
+ def to_hash
231
+ end
232
+
233
+ # A file containing the cancellation policy from the company.
234
+ module CancellationPolicyAttachment
235
+ extend WhopSDK::Internal::Type::Union
236
+
237
+ Variants =
238
+ T.type_alias do
239
+ T.any(
240
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID,
241
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID
242
+ )
243
+ end
244
+
245
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
246
+ OrHash =
247
+ T.type_alias do
248
+ T.any(
249
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithDirectUploadID,
250
+ WhopSDK::Internal::AnyHash
251
+ )
252
+ end
253
+
254
+ # This ID should be used the first time you upload an attachment. It is the ID of
255
+ # the direct upload that was created when uploading the file to S3 via the
256
+ # mediaDirectUpload mutation.
257
+ sig { returns(String) }
258
+ attr_accessor :direct_upload_id
259
+
260
+ # Input for an attachment
261
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
262
+ def self.new(
263
+ # This ID should be used the first time you upload an attachment. It is the ID of
264
+ # the direct upload that was created when uploading the file to S3 via the
265
+ # mediaDirectUpload mutation.
266
+ direct_upload_id:
267
+ )
268
+ end
269
+
270
+ sig { override.returns({ direct_upload_id: String }) }
271
+ def to_hash
272
+ end
273
+ end
274
+
275
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
276
+ OrHash =
277
+ T.type_alias do
278
+ T.any(
279
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::AttachmentInputWithID,
280
+ WhopSDK::Internal::AnyHash
281
+ )
282
+ end
283
+
284
+ # The ID of an existing attachment object. Use this when updating a resource and
285
+ # keeping a subset of the attachments. Don't use this unless you know what you're
286
+ # doing.
287
+ sig { returns(String) }
288
+ attr_accessor :id
289
+
290
+ # Input for an attachment
291
+ sig { params(id: String).returns(T.attached_class) }
292
+ def self.new(
293
+ # The ID of an existing attachment object. Use this when updating a resource and
294
+ # keeping a subset of the attachments. Don't use this unless you know what you're
295
+ # doing.
296
+ id:
297
+ )
298
+ end
299
+
300
+ sig { override.returns({ id: String }) }
301
+ def to_hash
302
+ end
303
+ end
304
+
305
+ sig do
306
+ override.returns(
307
+ T::Array[
308
+ WhopSDK::DisputeUpdateEvidenceParams::CancellationPolicyAttachment::Variants
309
+ ]
310
+ )
311
+ end
312
+ def self.variants
313
+ end
314
+ end
315
+
316
+ # A file containing the customer communication from the company (An image).
317
+ module CustomerCommunicationAttachment
318
+ extend WhopSDK::Internal::Type::Union
319
+
320
+ Variants =
321
+ T.type_alias do
322
+ T.any(
323
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID,
324
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID
325
+ )
326
+ end
327
+
328
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
329
+ OrHash =
330
+ T.type_alias do
331
+ T.any(
332
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithDirectUploadID,
333
+ WhopSDK::Internal::AnyHash
334
+ )
335
+ end
336
+
337
+ # This ID should be used the first time you upload an attachment. It is the ID of
338
+ # the direct upload that was created when uploading the file to S3 via the
339
+ # mediaDirectUpload mutation.
340
+ sig { returns(String) }
341
+ attr_accessor :direct_upload_id
342
+
343
+ # Input for an attachment
344
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
345
+ def self.new(
346
+ # This ID should be used the first time you upload an attachment. It is the ID of
347
+ # the direct upload that was created when uploading the file to S3 via the
348
+ # mediaDirectUpload mutation.
349
+ direct_upload_id:
350
+ )
351
+ end
352
+
353
+ sig { override.returns({ direct_upload_id: String }) }
354
+ def to_hash
355
+ end
356
+ end
357
+
358
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
359
+ OrHash =
360
+ T.type_alias do
361
+ T.any(
362
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::AttachmentInputWithID,
363
+ WhopSDK::Internal::AnyHash
364
+ )
365
+ end
366
+
367
+ # The ID of an existing attachment object. Use this when updating a resource and
368
+ # keeping a subset of the attachments. Don't use this unless you know what you're
369
+ # doing.
370
+ sig { returns(String) }
371
+ attr_accessor :id
372
+
373
+ # Input for an attachment
374
+ sig { params(id: String).returns(T.attached_class) }
375
+ def self.new(
376
+ # The ID of an existing attachment object. Use this when updating a resource and
377
+ # keeping a subset of the attachments. Don't use this unless you know what you're
378
+ # doing.
379
+ id:
380
+ )
381
+ end
382
+
383
+ sig { override.returns({ id: String }) }
384
+ def to_hash
385
+ end
386
+ end
387
+
388
+ sig do
389
+ override.returns(
390
+ T::Array[
391
+ WhopSDK::DisputeUpdateEvidenceParams::CustomerCommunicationAttachment::Variants
392
+ ]
393
+ )
394
+ end
395
+ def self.variants
396
+ end
397
+ end
398
+
399
+ # A file containing the refund policy from the company.
400
+ module RefundPolicyAttachment
401
+ extend WhopSDK::Internal::Type::Union
402
+
403
+ Variants =
404
+ T.type_alias do
405
+ T.any(
406
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID,
407
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID
408
+ )
409
+ end
410
+
411
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
412
+ OrHash =
413
+ T.type_alias do
414
+ T.any(
415
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithDirectUploadID,
416
+ WhopSDK::Internal::AnyHash
417
+ )
418
+ end
419
+
420
+ # This ID should be used the first time you upload an attachment. It is the ID of
421
+ # the direct upload that was created when uploading the file to S3 via the
422
+ # mediaDirectUpload mutation.
423
+ sig { returns(String) }
424
+ attr_accessor :direct_upload_id
425
+
426
+ # Input for an attachment
427
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
428
+ def self.new(
429
+ # This ID should be used the first time you upload an attachment. It is the ID of
430
+ # the direct upload that was created when uploading the file to S3 via the
431
+ # mediaDirectUpload mutation.
432
+ direct_upload_id:
433
+ )
434
+ end
435
+
436
+ sig { override.returns({ direct_upload_id: String }) }
437
+ def to_hash
438
+ end
439
+ end
440
+
441
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
442
+ OrHash =
443
+ T.type_alias do
444
+ T.any(
445
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::AttachmentInputWithID,
446
+ WhopSDK::Internal::AnyHash
447
+ )
448
+ end
449
+
450
+ # The ID of an existing attachment object. Use this when updating a resource and
451
+ # keeping a subset of the attachments. Don't use this unless you know what you're
452
+ # doing.
453
+ sig { returns(String) }
454
+ attr_accessor :id
455
+
456
+ # Input for an attachment
457
+ sig { params(id: String).returns(T.attached_class) }
458
+ def self.new(
459
+ # The ID of an existing attachment object. Use this when updating a resource and
460
+ # keeping a subset of the attachments. Don't use this unless you know what you're
461
+ # doing.
462
+ id:
463
+ )
464
+ end
465
+
466
+ sig { override.returns({ id: String }) }
467
+ def to_hash
468
+ end
469
+ end
470
+
471
+ sig do
472
+ override.returns(
473
+ T::Array[
474
+ WhopSDK::DisputeUpdateEvidenceParams::RefundPolicyAttachment::Variants
475
+ ]
476
+ )
477
+ end
478
+ def self.variants
479
+ end
480
+ end
481
+
482
+ # A file that does not fit in the other categories.
483
+ module UncategorizedAttachment
484
+ extend WhopSDK::Internal::Type::Union
485
+
486
+ Variants =
487
+ T.type_alias do
488
+ T.any(
489
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID,
490
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID
491
+ )
492
+ end
493
+
494
+ class AttachmentInputWithDirectUploadID < WhopSDK::Internal::Type::BaseModel
495
+ OrHash =
496
+ T.type_alias do
497
+ T.any(
498
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithDirectUploadID,
499
+ WhopSDK::Internal::AnyHash
500
+ )
501
+ end
502
+
503
+ # This ID should be used the first time you upload an attachment. It is the ID of
504
+ # the direct upload that was created when uploading the file to S3 via the
505
+ # mediaDirectUpload mutation.
506
+ sig { returns(String) }
507
+ attr_accessor :direct_upload_id
508
+
509
+ # Input for an attachment
510
+ sig { params(direct_upload_id: String).returns(T.attached_class) }
511
+ def self.new(
512
+ # This ID should be used the first time you upload an attachment. It is the ID of
513
+ # the direct upload that was created when uploading the file to S3 via the
514
+ # mediaDirectUpload mutation.
515
+ direct_upload_id:
516
+ )
517
+ end
518
+
519
+ sig { override.returns({ direct_upload_id: String }) }
520
+ def to_hash
521
+ end
522
+ end
523
+
524
+ class AttachmentInputWithID < WhopSDK::Internal::Type::BaseModel
525
+ OrHash =
526
+ T.type_alias do
527
+ T.any(
528
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::AttachmentInputWithID,
529
+ WhopSDK::Internal::AnyHash
530
+ )
531
+ end
532
+
533
+ # The ID of an existing attachment object. Use this when updating a resource and
534
+ # keeping a subset of the attachments. Don't use this unless you know what you're
535
+ # doing.
536
+ sig { returns(String) }
537
+ attr_accessor :id
538
+
539
+ # Input for an attachment
540
+ sig { params(id: String).returns(T.attached_class) }
541
+ def self.new(
542
+ # The ID of an existing attachment object. Use this when updating a resource and
543
+ # keeping a subset of the attachments. Don't use this unless you know what you're
544
+ # doing.
545
+ id:
546
+ )
547
+ end
548
+
549
+ sig { override.returns({ id: String }) }
550
+ def to_hash
551
+ end
552
+ end
553
+
554
+ sig do
555
+ override.returns(
556
+ T::Array[
557
+ WhopSDK::DisputeUpdateEvidenceParams::UncategorizedAttachment::Variants
558
+ ]
559
+ )
560
+ end
561
+ def self.variants
562
+ end
563
+ end
564
+ end
565
+ end
566
+ end
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module WhopSDK
4
+ module Models
5
+ class DisputeUpdatedWebhookEvent < WhopSDK::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(WhopSDK::DisputeUpdatedWebhookEvent, WhopSDK::Internal::AnyHash)
9
+ end
10
+
11
+ # A unique ID for every single webhook request
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # The API version for this webhook
16
+ sig { returns(Symbol) }
17
+ attr_accessor :api_version
18
+
19
+ # An object representing a dispute against a company.
20
+ sig { returns(WhopSDK::Dispute) }
21
+ attr_reader :data
22
+
23
+ sig { params(data: WhopSDK::Dispute::OrHash).void }
24
+ attr_writer :data
25
+
26
+ # The timestamp in ISO 8601 format that the webhook was sent at on the server
27
+ sig { returns(Time) }
28
+ attr_accessor :timestamp
29
+
30
+ # The webhook event type
31
+ sig { returns(Symbol) }
32
+ attr_accessor :type
33
+
34
+ sig do
35
+ params(
36
+ id: String,
37
+ data: WhopSDK::Dispute::OrHash,
38
+ timestamp: Time,
39
+ api_version: Symbol,
40
+ type: Symbol
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # A unique ID for every single webhook request
45
+ id:,
46
+ # An object representing a dispute against a company.
47
+ data:,
48
+ # The timestamp in ISO 8601 format that the webhook was sent at on the server
49
+ timestamp:,
50
+ # The API version for this webhook
51
+ api_version: :v1,
52
+ # The webhook event type
53
+ type: :"dispute.updated"
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ id: String,
61
+ api_version: Symbol,
62
+ data: WhopSDK::Dispute,
63
+ timestamp: Time,
64
+ type: Symbol
65
+ }
66
+ )
67
+ end
68
+ def to_hash
69
+ end
70
+ end
71
+ end
72
+ end
@@ -74,6 +74,12 @@ module WhopSDK
74
74
  sig { returns(T.nilable(String)) }
75
75
  attr_accessor :title
76
76
 
77
+ # The visibility types for forum posts
78
+ sig do
79
+ returns(T.nilable(WhopSDK::ForumPostCreateParams::Visibility::OrSymbol))
80
+ end
81
+ attr_accessor :visibility
82
+
77
83
  sig do
78
84
  params(
79
85
  experience_id: String,
@@ -94,6 +100,8 @@ module WhopSDK
94
100
  pinned: T.nilable(T::Boolean),
95
101
  poll: T.nilable(WhopSDK::ForumPostCreateParams::Poll::OrHash),
96
102
  title: T.nilable(String),
103
+ visibility:
104
+ T.nilable(WhopSDK::ForumPostCreateParams::Visibility::OrSymbol),
97
105
  request_options: WhopSDK::RequestOptions::OrHash
98
106
  ).returns(T.attached_class)
99
107
  end
@@ -123,6 +131,8 @@ module WhopSDK
123
131
  poll: nil,
124
132
  # The title of the post. Only visible if paywalled.
125
133
  title: nil,
134
+ # The visibility types for forum posts
135
+ visibility: nil,
126
136
  request_options: {}
127
137
  )
128
138
  end
@@ -148,6 +158,8 @@ module WhopSDK
148
158
  pinned: T.nilable(T::Boolean),
149
159
  poll: T.nilable(WhopSDK::ForumPostCreateParams::Poll),
150
160
  title: T.nilable(String),
161
+ visibility:
162
+ T.nilable(WhopSDK::ForumPostCreateParams::Visibility::OrSymbol),
151
163
  request_options: WhopSDK::RequestOptions
152
164
  }
153
165
  )
@@ -302,6 +314,36 @@ module WhopSDK
302
314
  end
303
315
  end
304
316
  end
317
+
318
+ # The visibility types for forum posts
319
+ module Visibility
320
+ extend WhopSDK::Internal::Type::Enum
321
+
322
+ TaggedSymbol =
323
+ T.type_alias do
324
+ T.all(Symbol, WhopSDK::ForumPostCreateParams::Visibility)
325
+ end
326
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
327
+
328
+ MEMBERS_ONLY =
329
+ T.let(
330
+ :members_only,
331
+ WhopSDK::ForumPostCreateParams::Visibility::TaggedSymbol
332
+ )
333
+ GLOBALLY_VISIBLE =
334
+ T.let(
335
+ :globally_visible,
336
+ WhopSDK::ForumPostCreateParams::Visibility::TaggedSymbol
337
+ )
338
+
339
+ sig do
340
+ override.returns(
341
+ T::Array[WhopSDK::ForumPostCreateParams::Visibility::TaggedSymbol]
342
+ )
343
+ end
344
+ def self.values
345
+ end
346
+ end
305
347
  end
306
348
  end
307
349
  end