whop_sdk 0.0.5 → 0.0.6

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +4 -7
  4. data/lib/whop_sdk/client.rb +17 -6
  5. data/lib/whop_sdk/models/company.rb +1 -0
  6. data/lib/whop_sdk/models/dispute.rb +672 -0
  7. data/lib/whop_sdk/models/dispute_created_webhook_event.rb +48 -0
  8. data/lib/whop_sdk/models/dispute_list_params.rb +62 -0
  9. data/lib/whop_sdk/models/dispute_list_response.rb +187 -0
  10. data/lib/whop_sdk/models/dispute_retrieve_params.rb +14 -0
  11. data/lib/whop_sdk/models/dispute_statuses.rb +23 -0
  12. data/lib/whop_sdk/models/dispute_submit_evidence_params.rb +14 -0
  13. data/lib/whop_sdk/models/dispute_update_evidence_params.rb +342 -0
  14. data/lib/whop_sdk/models/dispute_updated_webhook_event.rb +48 -0
  15. data/lib/whop_sdk/models/notification_create_params.rb +88 -0
  16. data/lib/whop_sdk/models/notification_create_response.rb +19 -0
  17. data/lib/whop_sdk/models/unwrap_webhook_event.rb +5 -1
  18. data/lib/whop_sdk/models.rb +18 -0
  19. data/lib/whop_sdk/resources/disputes.rb +182 -0
  20. data/lib/whop_sdk/resources/notifications.rb +53 -0
  21. data/lib/whop_sdk/resources/webhooks.rb +1 -1
  22. data/lib/whop_sdk/version.rb +1 -1
  23. data/lib/whop_sdk.rb +13 -0
  24. data/rbi/whop_sdk/client.rbi +11 -2
  25. data/rbi/whop_sdk/models/company.rbi +2 -0
  26. data/rbi/whop_sdk/models/dispute.rbi +938 -0
  27. data/rbi/whop_sdk/models/dispute_created_webhook_event.rbi +72 -0
  28. data/rbi/whop_sdk/models/dispute_list_params.rbi +83 -0
  29. data/rbi/whop_sdk/models/dispute_list_response.rbi +287 -0
  30. data/rbi/whop_sdk/models/dispute_retrieve_params.rbi +27 -0
  31. data/rbi/whop_sdk/models/dispute_statuses.rbi +32 -0
  32. data/rbi/whop_sdk/models/dispute_submit_evidence_params.rbi +30 -0
  33. data/rbi/whop_sdk/models/dispute_update_evidence_params.rbi +566 -0
  34. data/rbi/whop_sdk/models/dispute_updated_webhook_event.rbi +72 -0
  35. data/rbi/whop_sdk/models/notification_create_params.rbi +113 -0
  36. data/rbi/whop_sdk/models/notification_create_response.rbi +31 -0
  37. data/rbi/whop_sdk/models/unwrap_webhook_event.rbi +3 -1
  38. data/rbi/whop_sdk/models.rbi +18 -0
  39. data/rbi/whop_sdk/resources/disputes.rbi +194 -0
  40. data/rbi/whop_sdk/resources/notifications.rbi +54 -0
  41. data/rbi/whop_sdk/resources/webhooks.rbi +3 -1
  42. data/sig/whop_sdk/client.rbs +5 -1
  43. data/sig/whop_sdk/models/company.rbs +2 -0
  44. data/sig/whop_sdk/models/dispute.rbs +437 -0
  45. data/sig/whop_sdk/models/dispute_created_webhook_event.rbs +40 -0
  46. data/sig/whop_sdk/models/dispute_list_params.rbs +51 -0
  47. data/sig/whop_sdk/models/dispute_list_response.rbs +124 -0
  48. data/sig/whop_sdk/models/dispute_retrieve_params.rbs +15 -0
  49. data/sig/whop_sdk/models/dispute_statuses.rbs +30 -0
  50. data/sig/whop_sdk/models/dispute_submit_evidence_params.rbs +15 -0
  51. data/sig/whop_sdk/models/dispute_update_evidence_params.rbs +215 -0
  52. data/sig/whop_sdk/models/dispute_updated_webhook_event.rbs +40 -0
  53. data/sig/whop_sdk/models/notification_create_params.rbs +61 -0
  54. data/sig/whop_sdk/models/notification_create_response.rbs +13 -0
  55. data/sig/whop_sdk/models/unwrap_webhook_event.rbs +2 -0
  56. data/sig/whop_sdk/models.rbs +18 -0
  57. data/sig/whop_sdk/resources/disputes.rbs +46 -0
  58. data/sig/whop_sdk/resources/notifications.rbs +19 -0
  59. data/sig/whop_sdk/resources/webhooks.rbs +3 -1
  60. 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