safetykit 0.30.0 → 0.31.0

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 (30) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/safety_kit/client.rb +6 -0
  5. data/lib/safety_kit/models/async_create_async_params.rb +4968 -0
  6. data/lib/safety_kit/models/async_create_async_response.rb +39 -0
  7. data/lib/safety_kit/models.rb +2 -0
  8. data/lib/safety_kit/resources/async.rb +44 -0
  9. data/lib/safety_kit/resources/beta/events.rb +0 -28
  10. data/lib/safety_kit/version.rb +1 -1
  11. data/lib/safety_kit.rb +3 -2
  12. data/rbi/safety_kit/client.rbi +5 -0
  13. data/rbi/safety_kit/models/async_create_async_params.rbi +10349 -0
  14. data/rbi/safety_kit/models/async_create_async_response.rbi +81 -0
  15. data/rbi/safety_kit/models.rbi +2 -0
  16. data/rbi/safety_kit/resources/async.rbi +53 -0
  17. data/rbi/safety_kit/resources/beta/events.rbi +0 -39
  18. data/sig/safety_kit/client.rbs +2 -0
  19. data/sig/safety_kit/models/async_create_async_params.rbs +3892 -0
  20. data/sig/safety_kit/models/async_create_async_response.rbs +35 -0
  21. data/sig/safety_kit/models.rbs +2 -0
  22. data/sig/safety_kit/resources/async.rbs +12 -0
  23. data/sig/safety_kit/resources/beta/events.rbs +0 -5
  24. metadata +11 -8
  25. data/lib/safety_kit/models/beta/event_create_async_params.rb +0 -4981
  26. data/lib/safety_kit/models/beta/event_create_async_response.rb +0 -41
  27. data/rbi/safety_kit/models/beta/event_create_async_params.rbi +0 -10356
  28. data/rbi/safety_kit/models/beta/event_create_async_response.rbi +0 -87
  29. data/sig/safety_kit/models/beta/event_create_async_params.rbs +0 -3897
  30. data/sig/safety_kit/models/beta/event_create_async_response.rbs +0 -37
@@ -0,0 +1,3892 @@
1
+ module SafetyKit
2
+ module Models
3
+ type async_create_async_params =
4
+ { body: SafetyKit::Models::AsyncCreateAsyncParams::body }
5
+ & SafetyKit::Internal::Type::request_parameters
6
+
7
+ class AsyncCreateAsyncParams < SafetyKit::Internal::Type::BaseModel
8
+ extend SafetyKit::Internal::Type::RequestParameters::Converter
9
+ include SafetyKit::Internal::Type::RequestParameters
10
+
11
+ attr_accessor body: SafetyKit::Models::AsyncCreateAsyncParams::body
12
+
13
+ def initialize: (
14
+ body: SafetyKit::Models::AsyncCreateAsyncParams::body,
15
+ ?request_options: SafetyKit::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ body: SafetyKit::Models::AsyncCreateAsyncParams::body,
20
+ request_options: SafetyKit::RequestOptions
21
+ }
22
+
23
+ type body =
24
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest
25
+ | SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest
26
+ | SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest
27
+ | SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest
28
+ | SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest
29
+ | SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest
30
+ | SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest
31
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::union_member7]
32
+
33
+ module Body
34
+ extend SafetyKit::Internal::Type::Union
35
+
36
+ type user_contact_event_request =
37
+ {
38
+ event_name: String,
39
+ target_user_id: String,
40
+ timestamp: Time,
41
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::type_,
42
+ user_id: String,
43
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo,
44
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content],
45
+ content_id: String,
46
+ idempotency_key: String,
47
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata],
48
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]
49
+ }
50
+
51
+ class UserContactEventRequest < SafetyKit::Internal::Type::BaseModel
52
+ attr_accessor event_name: String
53
+
54
+ attr_accessor target_user_id: String
55
+
56
+ attr_accessor timestamp: Time
57
+
58
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::type_
59
+
60
+ attr_accessor user_id: String
61
+
62
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo?
63
+
64
+ def client_info=: (
65
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo
66
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo
67
+
68
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content]?
69
+
70
+ def content=: (
71
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content]
72
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content]
73
+
74
+ attr_reader content_id: String?
75
+
76
+ def content_id=: (String) -> String
77
+
78
+ attr_reader idempotency_key: String?
79
+
80
+ def idempotency_key=: (String) -> String
81
+
82
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata]?
83
+
84
+ def metadata=: (
85
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata]
86
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata]
87
+
88
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]?
89
+
90
+ def resources_used=: (
91
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]
92
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]
93
+
94
+ def initialize: (
95
+ event_name: String,
96
+ target_user_id: String,
97
+ timestamp: Time,
98
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::type_,
99
+ user_id: String,
100
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo,
101
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content],
102
+ ?content_id: String,
103
+ ?idempotency_key: String,
104
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata],
105
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]
106
+ ) -> void
107
+
108
+ def to_hash: -> {
109
+ event_name: String,
110
+ target_user_id: String,
111
+ timestamp: Time,
112
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::type_,
113
+ user_id: String,
114
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ClientInfo,
115
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content],
116
+ content_id: String,
117
+ idempotency_key: String,
118
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata],
119
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::ResourcesUsed]
120
+ }
121
+
122
+ type type_ = :user_contact
123
+
124
+ module Type
125
+ extend SafetyKit::Internal::Type::Enum
126
+
127
+ USER_CONTACT: :user_contact
128
+
129
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::type_]
130
+ end
131
+
132
+ type client_info = { ip: String }
133
+
134
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
135
+ attr_reader ip: String?
136
+
137
+ def ip=: (String) -> String
138
+
139
+ def initialize: (?ip: String) -> void
140
+
141
+ def to_hash: -> { ip: String }
142
+ end
143
+
144
+ type content =
145
+ SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent
146
+ | SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent
147
+
148
+ module Content
149
+ extend SafetyKit::Internal::Type::Union
150
+
151
+ type event_text_content =
152
+ {
153
+ text: String,
154
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent::type_,
155
+ key: String
156
+ }
157
+
158
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
159
+ attr_accessor text: String
160
+
161
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent::type_
162
+
163
+ attr_reader key: String?
164
+
165
+ def key=: (String) -> String
166
+
167
+ def initialize: (
168
+ text: String,
169
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent::type_,
170
+ ?key: String
171
+ ) -> void
172
+
173
+ def to_hash: -> {
174
+ text: String,
175
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent::type_,
176
+ key: String
177
+ }
178
+
179
+ type type_ = :text
180
+
181
+ module Type
182
+ extend SafetyKit::Internal::Type::Enum
183
+
184
+ TEXT: :text
185
+
186
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventTextContent::type_]
187
+ end
188
+ end
189
+
190
+ type event_image_content =
191
+ {
192
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source,
193
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::type_,
194
+ key: String
195
+ }
196
+
197
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
198
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source
199
+
200
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::type_
201
+
202
+ attr_reader key: String?
203
+
204
+ def key=: (String) -> String
205
+
206
+ def initialize: (
207
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source,
208
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::type_,
209
+ ?key: String
210
+ ) -> void
211
+
212
+ def to_hash: -> {
213
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source,
214
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::type_,
215
+ key: String
216
+ }
217
+
218
+ type source =
219
+ {
220
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source::type_,
221
+ url: String
222
+ }
223
+
224
+ class Source < SafetyKit::Internal::Type::BaseModel
225
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source::type_
226
+
227
+ attr_accessor url: String
228
+
229
+ def initialize: (
230
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source::type_,
231
+ url: String
232
+ ) -> void
233
+
234
+ def to_hash: -> {
235
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source::type_,
236
+ url: String
237
+ }
238
+
239
+ type type_ = :url
240
+
241
+ module Type
242
+ extend SafetyKit::Internal::Type::Enum
243
+
244
+ URL: :url
245
+
246
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::Source::type_]
247
+ end
248
+ end
249
+
250
+ type type_ = :image
251
+
252
+ module Type
253
+ extend SafetyKit::Internal::Type::Enum
254
+
255
+ IMAGE: :image
256
+
257
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Content::EventImageContent::type_]
258
+ end
259
+ end
260
+
261
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::content]
262
+ end
263
+
264
+ type metadata =
265
+ String
266
+ | Float
267
+ | bool
268
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Metadata::union_member3]
269
+
270
+ module Metadata
271
+ extend SafetyKit::Internal::Type::Union
272
+
273
+ type union_member3 = String | Float | bool
274
+
275
+ module UnionMember3
276
+ extend SafetyKit::Internal::Type::Union
277
+
278
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::Metadata::union_member3]
279
+ end
280
+
281
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserContactEventRequest::metadata]
282
+
283
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
284
+ end
285
+
286
+ type resources_used = { type: String, value: String }
287
+
288
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
289
+ attr_accessor type: String
290
+
291
+ attr_accessor value: String
292
+
293
+ def initialize: (type: String, value: String) -> void
294
+
295
+ def to_hash: -> { type: String, value: String }
296
+ end
297
+ end
298
+
299
+ type content_uploaded_event_request =
300
+ {
301
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::content],
302
+ event_name: String,
303
+ timestamp: Time,
304
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::type_,
305
+ user_id: String,
306
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo,
307
+ content_id: String,
308
+ idempotency_key: String,
309
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata],
310
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]
311
+ }
312
+
313
+ class ContentUploadedEventRequest < SafetyKit::Internal::Type::BaseModel
314
+ attr_accessor content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::content]
315
+
316
+ attr_accessor event_name: String
317
+
318
+ attr_accessor timestamp: Time
319
+
320
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::type_
321
+
322
+ attr_accessor user_id: String
323
+
324
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo?
325
+
326
+ def client_info=: (
327
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo
328
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo
329
+
330
+ attr_reader content_id: String?
331
+
332
+ def content_id=: (String) -> String
333
+
334
+ attr_reader idempotency_key: String?
335
+
336
+ def idempotency_key=: (String) -> String
337
+
338
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata]?
339
+
340
+ def metadata=: (
341
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata]
342
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata]
343
+
344
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]?
345
+
346
+ def resources_used=: (
347
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]
348
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]
349
+
350
+ def initialize: (
351
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::content],
352
+ event_name: String,
353
+ timestamp: Time,
354
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::type_,
355
+ user_id: String,
356
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo,
357
+ ?content_id: String,
358
+ ?idempotency_key: String,
359
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata],
360
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]
361
+ ) -> void
362
+
363
+ def to_hash: -> {
364
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::content],
365
+ event_name: String,
366
+ timestamp: Time,
367
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::type_,
368
+ user_id: String,
369
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ClientInfo,
370
+ content_id: String,
371
+ idempotency_key: String,
372
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata],
373
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::ResourcesUsed]
374
+ }
375
+
376
+ type content =
377
+ SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent
378
+ | SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent
379
+
380
+ module Content
381
+ extend SafetyKit::Internal::Type::Union
382
+
383
+ type event_text_content =
384
+ {
385
+ text: String,
386
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent::type_,
387
+ key: String
388
+ }
389
+
390
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
391
+ attr_accessor text: String
392
+
393
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent::type_
394
+
395
+ attr_reader key: String?
396
+
397
+ def key=: (String) -> String
398
+
399
+ def initialize: (
400
+ text: String,
401
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent::type_,
402
+ ?key: String
403
+ ) -> void
404
+
405
+ def to_hash: -> {
406
+ text: String,
407
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent::type_,
408
+ key: String
409
+ }
410
+
411
+ type type_ = :text
412
+
413
+ module Type
414
+ extend SafetyKit::Internal::Type::Enum
415
+
416
+ TEXT: :text
417
+
418
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventTextContent::type_]
419
+ end
420
+ end
421
+
422
+ type event_image_content =
423
+ {
424
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source,
425
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::type_,
426
+ key: String
427
+ }
428
+
429
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
430
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source
431
+
432
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::type_
433
+
434
+ attr_reader key: String?
435
+
436
+ def key=: (String) -> String
437
+
438
+ def initialize: (
439
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source,
440
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::type_,
441
+ ?key: String
442
+ ) -> void
443
+
444
+ def to_hash: -> {
445
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source,
446
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::type_,
447
+ key: String
448
+ }
449
+
450
+ type source =
451
+ {
452
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::type_,
453
+ url: String
454
+ }
455
+
456
+ class Source < SafetyKit::Internal::Type::BaseModel
457
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::type_
458
+
459
+ attr_accessor url: String
460
+
461
+ def initialize: (
462
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::type_,
463
+ url: String
464
+ ) -> void
465
+
466
+ def to_hash: -> {
467
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::type_,
468
+ url: String
469
+ }
470
+
471
+ type type_ = :url
472
+
473
+ module Type
474
+ extend SafetyKit::Internal::Type::Enum
475
+
476
+ URL: :url
477
+
478
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::Source::type_]
479
+ end
480
+ end
481
+
482
+ type type_ = :image
483
+
484
+ module Type
485
+ extend SafetyKit::Internal::Type::Enum
486
+
487
+ IMAGE: :image
488
+
489
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Content::EventImageContent::type_]
490
+ end
491
+ end
492
+
493
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::content]
494
+ end
495
+
496
+ type type_ = :content_uploaded
497
+
498
+ module Type
499
+ extend SafetyKit::Internal::Type::Enum
500
+
501
+ CONTENT_UPLOADED: :content_uploaded
502
+
503
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::type_]
504
+ end
505
+
506
+ type client_info = { ip: String }
507
+
508
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
509
+ attr_reader ip: String?
510
+
511
+ def ip=: (String) -> String
512
+
513
+ def initialize: (?ip: String) -> void
514
+
515
+ def to_hash: -> { ip: String }
516
+ end
517
+
518
+ type metadata =
519
+ String
520
+ | Float
521
+ | bool
522
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Metadata::union_member3]
523
+
524
+ module Metadata
525
+ extend SafetyKit::Internal::Type::Union
526
+
527
+ type union_member3 = String | Float | bool
528
+
529
+ module UnionMember3
530
+ extend SafetyKit::Internal::Type::Union
531
+
532
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::Metadata::union_member3]
533
+ end
534
+
535
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ContentUploadedEventRequest::metadata]
536
+
537
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
538
+ end
539
+
540
+ type resources_used = { type: String, value: String }
541
+
542
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
543
+ attr_accessor type: String
544
+
545
+ attr_accessor value: String
546
+
547
+ def initialize: (type: String, value: String) -> void
548
+
549
+ def to_hash: -> { type: String, value: String }
550
+ end
551
+ end
552
+
553
+ type product_changed_event_request =
554
+ {
555
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::content],
556
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::event_name,
557
+ product: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product,
558
+ timestamp: Time,
559
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::type_,
560
+ user_id: String,
561
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo,
562
+ content_id: String,
563
+ idempotency_key: String,
564
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata],
565
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]
566
+ }
567
+
568
+ class ProductChangedEventRequest < SafetyKit::Internal::Type::BaseModel
569
+ attr_accessor content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::content]
570
+
571
+ attr_accessor event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::event_name
572
+
573
+ attr_accessor product: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product
574
+
575
+ attr_accessor timestamp: Time
576
+
577
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::type_
578
+
579
+ attr_accessor user_id: String
580
+
581
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo?
582
+
583
+ def client_info=: (
584
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo
585
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo
586
+
587
+ attr_reader content_id: String?
588
+
589
+ def content_id=: (String) -> String
590
+
591
+ attr_reader idempotency_key: String?
592
+
593
+ def idempotency_key=: (String) -> String
594
+
595
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata]?
596
+
597
+ def metadata=: (
598
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata]
599
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata]
600
+
601
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]?
602
+
603
+ def resources_used=: (
604
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]
605
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]
606
+
607
+ def initialize: (
608
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::content],
609
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::event_name,
610
+ product: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product,
611
+ timestamp: Time,
612
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::type_,
613
+ user_id: String,
614
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo,
615
+ ?content_id: String,
616
+ ?idempotency_key: String,
617
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata],
618
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]
619
+ ) -> void
620
+
621
+ def to_hash: -> {
622
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::content],
623
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::event_name,
624
+ product: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product,
625
+ timestamp: Time,
626
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::type_,
627
+ user_id: String,
628
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ClientInfo,
629
+ content_id: String,
630
+ idempotency_key: String,
631
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata],
632
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::ResourcesUsed]
633
+ }
634
+
635
+ type content =
636
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent
637
+ | SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent
638
+
639
+ module Content
640
+ extend SafetyKit::Internal::Type::Union
641
+
642
+ type event_text_content =
643
+ {
644
+ text: String,
645
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent::type_,
646
+ key: String
647
+ }
648
+
649
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
650
+ attr_accessor text: String
651
+
652
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent::type_
653
+
654
+ attr_reader key: String?
655
+
656
+ def key=: (String) -> String
657
+
658
+ def initialize: (
659
+ text: String,
660
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent::type_,
661
+ ?key: String
662
+ ) -> void
663
+
664
+ def to_hash: -> {
665
+ text: String,
666
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent::type_,
667
+ key: String
668
+ }
669
+
670
+ type type_ = :text
671
+
672
+ module Type
673
+ extend SafetyKit::Internal::Type::Enum
674
+
675
+ TEXT: :text
676
+
677
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventTextContent::type_]
678
+ end
679
+ end
680
+
681
+ type event_image_content =
682
+ {
683
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source,
684
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::type_,
685
+ key: String
686
+ }
687
+
688
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
689
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source
690
+
691
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::type_
692
+
693
+ attr_reader key: String?
694
+
695
+ def key=: (String) -> String
696
+
697
+ def initialize: (
698
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source,
699
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::type_,
700
+ ?key: String
701
+ ) -> void
702
+
703
+ def to_hash: -> {
704
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source,
705
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::type_,
706
+ key: String
707
+ }
708
+
709
+ type source =
710
+ {
711
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source::type_,
712
+ url: String
713
+ }
714
+
715
+ class Source < SafetyKit::Internal::Type::BaseModel
716
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source::type_
717
+
718
+ attr_accessor url: String
719
+
720
+ def initialize: (
721
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source::type_,
722
+ url: String
723
+ ) -> void
724
+
725
+ def to_hash: -> {
726
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source::type_,
727
+ url: String
728
+ }
729
+
730
+ type type_ = :url
731
+
732
+ module Type
733
+ extend SafetyKit::Internal::Type::Enum
734
+
735
+ URL: :url
736
+
737
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::Source::type_]
738
+ end
739
+ end
740
+
741
+ type type_ = :image
742
+
743
+ module Type
744
+ extend SafetyKit::Internal::Type::Enum
745
+
746
+ IMAGE: :image
747
+
748
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Content::EventImageContent::type_]
749
+ end
750
+ end
751
+
752
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::content]
753
+ end
754
+
755
+ type event_name = :product_created | :product_updated
756
+
757
+ module EventName
758
+ extend SafetyKit::Internal::Type::Enum
759
+
760
+ PRODUCT_CREATED: :product_created
761
+ PRODUCT_UPDATED: :product_updated
762
+
763
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::event_name]
764
+ end
765
+
766
+ type product =
767
+ {
768
+ price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::Price,
769
+ discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice,
770
+ shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo
771
+ }
772
+
773
+ class Product < SafetyKit::Internal::Type::BaseModel
774
+ attr_accessor price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::Price
775
+
776
+ attr_reader discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice?
777
+
778
+ def discounted_price=: (
779
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice
780
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice
781
+
782
+ attr_reader shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo?
783
+
784
+ def shipping_info=: (
785
+ SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo
786
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo
787
+
788
+ def initialize: (
789
+ price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::Price,
790
+ ?discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice,
791
+ ?shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo
792
+ ) -> void
793
+
794
+ def to_hash: -> {
795
+ price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::Price,
796
+ discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::DiscountedPrice,
797
+ shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Product::ShippingInfo
798
+ }
799
+
800
+ type price = { amount: String, currency: String }
801
+
802
+ class Price < SafetyKit::Internal::Type::BaseModel
803
+ attr_accessor amount: String
804
+
805
+ attr_accessor currency: String
806
+
807
+ def initialize: (amount: String, currency: String) -> void
808
+
809
+ def to_hash: -> { amount: String, currency: String }
810
+ end
811
+
812
+ type discounted_price = { amount: String, currency: String }
813
+
814
+ class DiscountedPrice < SafetyKit::Internal::Type::BaseModel
815
+ attr_accessor amount: String
816
+
817
+ attr_accessor currency: String
818
+
819
+ def initialize: (amount: String, currency: String) -> void
820
+
821
+ def to_hash: -> { amount: String, currency: String }
822
+ end
823
+
824
+ type shipping_info =
825
+ { ships_from: String, ships_to: ::Array[String] }
826
+
827
+ class ShippingInfo < SafetyKit::Internal::Type::BaseModel
828
+ attr_accessor ships_from: String
829
+
830
+ attr_accessor ships_to: ::Array[String]
831
+
832
+ def initialize: (
833
+ ships_from: String,
834
+ ships_to: ::Array[String]
835
+ ) -> void
836
+
837
+ def to_hash: -> { ships_from: String, ships_to: ::Array[String] }
838
+ end
839
+ end
840
+
841
+ type type_ = :product_changed
842
+
843
+ module Type
844
+ extend SafetyKit::Internal::Type::Enum
845
+
846
+ PRODUCT_CHANGED: :product_changed
847
+
848
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::type_]
849
+ end
850
+
851
+ type client_info = { ip: String }
852
+
853
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
854
+ attr_reader ip: String?
855
+
856
+ def ip=: (String) -> String
857
+
858
+ def initialize: (?ip: String) -> void
859
+
860
+ def to_hash: -> { ip: String }
861
+ end
862
+
863
+ type metadata =
864
+ String
865
+ | Float
866
+ | bool
867
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Metadata::union_member3]
868
+
869
+ module Metadata
870
+ extend SafetyKit::Internal::Type::Union
871
+
872
+ type union_member3 = String | Float | bool
873
+
874
+ module UnionMember3
875
+ extend SafetyKit::Internal::Type::Union
876
+
877
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::Metadata::union_member3]
878
+ end
879
+
880
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ProductChangedEventRequest::metadata]
881
+
882
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
883
+ end
884
+
885
+ type resources_used = { type: String, value: String }
886
+
887
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
888
+ attr_accessor type: String
889
+
890
+ attr_accessor value: String
891
+
892
+ def initialize: (type: String, value: String) -> void
893
+
894
+ def to_hash: -> { type: String, value: String }
895
+ end
896
+ end
897
+
898
+ type create_account_event_request =
899
+ {
900
+ event_name: String,
901
+ timestamp: Time,
902
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::type_,
903
+ user_id: String,
904
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo,
905
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content],
906
+ content_id: String,
907
+ idempotency_key: String,
908
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata],
909
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]
910
+ }
911
+
912
+ class CreateAccountEventRequest < SafetyKit::Internal::Type::BaseModel
913
+ attr_accessor event_name: String
914
+
915
+ attr_accessor timestamp: Time
916
+
917
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::type_
918
+
919
+ attr_accessor user_id: String
920
+
921
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo?
922
+
923
+ def client_info=: (
924
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo
925
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo
926
+
927
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content]?
928
+
929
+ def content=: (
930
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content]
931
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content]
932
+
933
+ attr_reader content_id: String?
934
+
935
+ def content_id=: (String) -> String
936
+
937
+ attr_reader idempotency_key: String?
938
+
939
+ def idempotency_key=: (String) -> String
940
+
941
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata]?
942
+
943
+ def metadata=: (
944
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata]
945
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata]
946
+
947
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]?
948
+
949
+ def resources_used=: (
950
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]
951
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]
952
+
953
+ def initialize: (
954
+ event_name: String,
955
+ timestamp: Time,
956
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::type_,
957
+ user_id: String,
958
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo,
959
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content],
960
+ ?content_id: String,
961
+ ?idempotency_key: String,
962
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata],
963
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]
964
+ ) -> void
965
+
966
+ def to_hash: -> {
967
+ event_name: String,
968
+ timestamp: Time,
969
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::type_,
970
+ user_id: String,
971
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ClientInfo,
972
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content],
973
+ content_id: String,
974
+ idempotency_key: String,
975
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata],
976
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::ResourcesUsed]
977
+ }
978
+
979
+ type type_ = :create_account
980
+
981
+ module Type
982
+ extend SafetyKit::Internal::Type::Enum
983
+
984
+ CREATE_ACCOUNT: :create_account
985
+
986
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::type_]
987
+ end
988
+
989
+ type client_info = { ip: String }
990
+
991
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
992
+ attr_reader ip: String?
993
+
994
+ def ip=: (String) -> String
995
+
996
+ def initialize: (?ip: String) -> void
997
+
998
+ def to_hash: -> { ip: String }
999
+ end
1000
+
1001
+ type content =
1002
+ SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent
1003
+ | SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent
1004
+
1005
+ module Content
1006
+ extend SafetyKit::Internal::Type::Union
1007
+
1008
+ type event_text_content =
1009
+ {
1010
+ text: String,
1011
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent::type_,
1012
+ key: String
1013
+ }
1014
+
1015
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1016
+ attr_accessor text: String
1017
+
1018
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent::type_
1019
+
1020
+ attr_reader key: String?
1021
+
1022
+ def key=: (String) -> String
1023
+
1024
+ def initialize: (
1025
+ text: String,
1026
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent::type_,
1027
+ ?key: String
1028
+ ) -> void
1029
+
1030
+ def to_hash: -> {
1031
+ text: String,
1032
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent::type_,
1033
+ key: String
1034
+ }
1035
+
1036
+ type type_ = :text
1037
+
1038
+ module Type
1039
+ extend SafetyKit::Internal::Type::Enum
1040
+
1041
+ TEXT: :text
1042
+
1043
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventTextContent::type_]
1044
+ end
1045
+ end
1046
+
1047
+ type event_image_content =
1048
+ {
1049
+ source: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source,
1050
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::type_,
1051
+ key: String
1052
+ }
1053
+
1054
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1055
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source
1056
+
1057
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::type_
1058
+
1059
+ attr_reader key: String?
1060
+
1061
+ def key=: (String) -> String
1062
+
1063
+ def initialize: (
1064
+ source: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source,
1065
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::type_,
1066
+ ?key: String
1067
+ ) -> void
1068
+
1069
+ def to_hash: -> {
1070
+ source: SafetyKit::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source,
1071
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::type_,
1072
+ key: String
1073
+ }
1074
+
1075
+ type source =
1076
+ {
1077
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::type_,
1078
+ url: String
1079
+ }
1080
+
1081
+ class Source < SafetyKit::Internal::Type::BaseModel
1082
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::type_
1083
+
1084
+ attr_accessor url: String
1085
+
1086
+ def initialize: (
1087
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::type_,
1088
+ url: String
1089
+ ) -> void
1090
+
1091
+ def to_hash: -> {
1092
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::type_,
1093
+ url: String
1094
+ }
1095
+
1096
+ type type_ = :url
1097
+
1098
+ module Type
1099
+ extend SafetyKit::Internal::Type::Enum
1100
+
1101
+ URL: :url
1102
+
1103
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::Source::type_]
1104
+ end
1105
+ end
1106
+
1107
+ type type_ = :image
1108
+
1109
+ module Type
1110
+ extend SafetyKit::Internal::Type::Enum
1111
+
1112
+ IMAGE: :image
1113
+
1114
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Content::EventImageContent::type_]
1115
+ end
1116
+ end
1117
+
1118
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::content]
1119
+ end
1120
+
1121
+ type metadata =
1122
+ String
1123
+ | Float
1124
+ | bool
1125
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Metadata::union_member3]
1126
+
1127
+ module Metadata
1128
+ extend SafetyKit::Internal::Type::Union
1129
+
1130
+ type union_member3 = String | Float | bool
1131
+
1132
+ module UnionMember3
1133
+ extend SafetyKit::Internal::Type::Union
1134
+
1135
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::Metadata::union_member3]
1136
+ end
1137
+
1138
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::CreateAccountEventRequest::metadata]
1139
+
1140
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
1141
+ end
1142
+
1143
+ type resources_used = { type: String, value: String }
1144
+
1145
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1146
+ attr_accessor type: String
1147
+
1148
+ attr_accessor value: String
1149
+
1150
+ def initialize: (type: String, value: String) -> void
1151
+
1152
+ def to_hash: -> { type: String, value: String }
1153
+ end
1154
+ end
1155
+
1156
+ type update_account_event_request =
1157
+ {
1158
+ event_name: String,
1159
+ timestamp: Time,
1160
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::type_,
1161
+ user_id: String,
1162
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo,
1163
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content],
1164
+ content_id: String,
1165
+ idempotency_key: String,
1166
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata],
1167
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]
1168
+ }
1169
+
1170
+ class UpdateAccountEventRequest < SafetyKit::Internal::Type::BaseModel
1171
+ attr_accessor event_name: String
1172
+
1173
+ attr_accessor timestamp: Time
1174
+
1175
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::type_
1176
+
1177
+ attr_accessor user_id: String
1178
+
1179
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo?
1180
+
1181
+ def client_info=: (
1182
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo
1183
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo
1184
+
1185
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content]?
1186
+
1187
+ def content=: (
1188
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content]
1189
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content]
1190
+
1191
+ attr_reader content_id: String?
1192
+
1193
+ def content_id=: (String) -> String
1194
+
1195
+ attr_reader idempotency_key: String?
1196
+
1197
+ def idempotency_key=: (String) -> String
1198
+
1199
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata]?
1200
+
1201
+ def metadata=: (
1202
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata]
1203
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata]
1204
+
1205
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]?
1206
+
1207
+ def resources_used=: (
1208
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]
1209
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]
1210
+
1211
+ def initialize: (
1212
+ event_name: String,
1213
+ timestamp: Time,
1214
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::type_,
1215
+ user_id: String,
1216
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo,
1217
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content],
1218
+ ?content_id: String,
1219
+ ?idempotency_key: String,
1220
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata],
1221
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]
1222
+ ) -> void
1223
+
1224
+ def to_hash: -> {
1225
+ event_name: String,
1226
+ timestamp: Time,
1227
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::type_,
1228
+ user_id: String,
1229
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ClientInfo,
1230
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content],
1231
+ content_id: String,
1232
+ idempotency_key: String,
1233
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata],
1234
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::ResourcesUsed]
1235
+ }
1236
+
1237
+ type type_ = :update_account
1238
+
1239
+ module Type
1240
+ extend SafetyKit::Internal::Type::Enum
1241
+
1242
+ UPDATE_ACCOUNT: :update_account
1243
+
1244
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::type_]
1245
+ end
1246
+
1247
+ type client_info = { ip: String }
1248
+
1249
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
1250
+ attr_reader ip: String?
1251
+
1252
+ def ip=: (String) -> String
1253
+
1254
+ def initialize: (?ip: String) -> void
1255
+
1256
+ def to_hash: -> { ip: String }
1257
+ end
1258
+
1259
+ type content =
1260
+ SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent
1261
+ | SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent
1262
+
1263
+ module Content
1264
+ extend SafetyKit::Internal::Type::Union
1265
+
1266
+ type event_text_content =
1267
+ {
1268
+ text: String,
1269
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent::type_,
1270
+ key: String
1271
+ }
1272
+
1273
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1274
+ attr_accessor text: String
1275
+
1276
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent::type_
1277
+
1278
+ attr_reader key: String?
1279
+
1280
+ def key=: (String) -> String
1281
+
1282
+ def initialize: (
1283
+ text: String,
1284
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent::type_,
1285
+ ?key: String
1286
+ ) -> void
1287
+
1288
+ def to_hash: -> {
1289
+ text: String,
1290
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent::type_,
1291
+ key: String
1292
+ }
1293
+
1294
+ type type_ = :text
1295
+
1296
+ module Type
1297
+ extend SafetyKit::Internal::Type::Enum
1298
+
1299
+ TEXT: :text
1300
+
1301
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventTextContent::type_]
1302
+ end
1303
+ end
1304
+
1305
+ type event_image_content =
1306
+ {
1307
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source,
1308
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::type_,
1309
+ key: String
1310
+ }
1311
+
1312
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1313
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source
1314
+
1315
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::type_
1316
+
1317
+ attr_reader key: String?
1318
+
1319
+ def key=: (String) -> String
1320
+
1321
+ def initialize: (
1322
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source,
1323
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::type_,
1324
+ ?key: String
1325
+ ) -> void
1326
+
1327
+ def to_hash: -> {
1328
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source,
1329
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::type_,
1330
+ key: String
1331
+ }
1332
+
1333
+ type source =
1334
+ {
1335
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::type_,
1336
+ url: String
1337
+ }
1338
+
1339
+ class Source < SafetyKit::Internal::Type::BaseModel
1340
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::type_
1341
+
1342
+ attr_accessor url: String
1343
+
1344
+ def initialize: (
1345
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::type_,
1346
+ url: String
1347
+ ) -> void
1348
+
1349
+ def to_hash: -> {
1350
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::type_,
1351
+ url: String
1352
+ }
1353
+
1354
+ type type_ = :url
1355
+
1356
+ module Type
1357
+ extend SafetyKit::Internal::Type::Enum
1358
+
1359
+ URL: :url
1360
+
1361
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::Source::type_]
1362
+ end
1363
+ end
1364
+
1365
+ type type_ = :image
1366
+
1367
+ module Type
1368
+ extend SafetyKit::Internal::Type::Enum
1369
+
1370
+ IMAGE: :image
1371
+
1372
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Content::EventImageContent::type_]
1373
+ end
1374
+ end
1375
+
1376
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::content]
1377
+ end
1378
+
1379
+ type metadata =
1380
+ String
1381
+ | Float
1382
+ | bool
1383
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Metadata::union_member3]
1384
+
1385
+ module Metadata
1386
+ extend SafetyKit::Internal::Type::Union
1387
+
1388
+ type union_member3 = String | Float | bool
1389
+
1390
+ module UnionMember3
1391
+ extend SafetyKit::Internal::Type::Union
1392
+
1393
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::Metadata::union_member3]
1394
+ end
1395
+
1396
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UpdateAccountEventRequest::metadata]
1397
+
1398
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
1399
+ end
1400
+
1401
+ type resources_used = { type: String, value: String }
1402
+
1403
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1404
+ attr_accessor type: String
1405
+
1406
+ attr_accessor value: String
1407
+
1408
+ def initialize: (type: String, value: String) -> void
1409
+
1410
+ def to_hash: -> { type: String, value: String }
1411
+ end
1412
+ end
1413
+
1414
+ type user_report_event_request =
1415
+ {
1416
+ event_name: String,
1417
+ labels: ::Array[String],
1418
+ timestamp: Time,
1419
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::type_,
1420
+ user_id: String,
1421
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo,
1422
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content],
1423
+ content_id: String,
1424
+ idempotency_key: String,
1425
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata],
1426
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed],
1427
+ target_content_id: String,
1428
+ target_user_id: String
1429
+ }
1430
+
1431
+ class UserReportEventRequest < SafetyKit::Internal::Type::BaseModel
1432
+ attr_accessor event_name: String
1433
+
1434
+ attr_accessor labels: ::Array[String]
1435
+
1436
+ attr_accessor timestamp: Time
1437
+
1438
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::type_
1439
+
1440
+ attr_accessor user_id: String
1441
+
1442
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo?
1443
+
1444
+ def client_info=: (
1445
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo
1446
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo
1447
+
1448
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content]?
1449
+
1450
+ def content=: (
1451
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content]
1452
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content]
1453
+
1454
+ attr_reader content_id: String?
1455
+
1456
+ def content_id=: (String) -> String
1457
+
1458
+ attr_reader idempotency_key: String?
1459
+
1460
+ def idempotency_key=: (String) -> String
1461
+
1462
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata]?
1463
+
1464
+ def metadata=: (
1465
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata]
1466
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata]
1467
+
1468
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed]?
1469
+
1470
+ def resources_used=: (
1471
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed]
1472
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed]
1473
+
1474
+ attr_reader target_content_id: String?
1475
+
1476
+ def target_content_id=: (String) -> String
1477
+
1478
+ attr_reader target_user_id: String?
1479
+
1480
+ def target_user_id=: (String) -> String
1481
+
1482
+ def initialize: (
1483
+ event_name: String,
1484
+ labels: ::Array[String],
1485
+ timestamp: Time,
1486
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::type_,
1487
+ user_id: String,
1488
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo,
1489
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content],
1490
+ ?content_id: String,
1491
+ ?idempotency_key: String,
1492
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata],
1493
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed],
1494
+ ?target_content_id: String,
1495
+ ?target_user_id: String
1496
+ ) -> void
1497
+
1498
+ def to_hash: -> {
1499
+ event_name: String,
1500
+ labels: ::Array[String],
1501
+ timestamp: Time,
1502
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::type_,
1503
+ user_id: String,
1504
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ClientInfo,
1505
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content],
1506
+ content_id: String,
1507
+ idempotency_key: String,
1508
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata],
1509
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::ResourcesUsed],
1510
+ target_content_id: String,
1511
+ target_user_id: String
1512
+ }
1513
+
1514
+ type type_ = :user_report
1515
+
1516
+ module Type
1517
+ extend SafetyKit::Internal::Type::Enum
1518
+
1519
+ USER_REPORT: :user_report
1520
+
1521
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::type_]
1522
+ end
1523
+
1524
+ type client_info = { ip: String }
1525
+
1526
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
1527
+ attr_reader ip: String?
1528
+
1529
+ def ip=: (String) -> String
1530
+
1531
+ def initialize: (?ip: String) -> void
1532
+
1533
+ def to_hash: -> { ip: String }
1534
+ end
1535
+
1536
+ type content =
1537
+ SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent
1538
+ | SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent
1539
+
1540
+ module Content
1541
+ extend SafetyKit::Internal::Type::Union
1542
+
1543
+ type event_text_content =
1544
+ {
1545
+ text: String,
1546
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent::type_,
1547
+ key: String
1548
+ }
1549
+
1550
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1551
+ attr_accessor text: String
1552
+
1553
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent::type_
1554
+
1555
+ attr_reader key: String?
1556
+
1557
+ def key=: (String) -> String
1558
+
1559
+ def initialize: (
1560
+ text: String,
1561
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent::type_,
1562
+ ?key: String
1563
+ ) -> void
1564
+
1565
+ def to_hash: -> {
1566
+ text: String,
1567
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent::type_,
1568
+ key: String
1569
+ }
1570
+
1571
+ type type_ = :text
1572
+
1573
+ module Type
1574
+ extend SafetyKit::Internal::Type::Enum
1575
+
1576
+ TEXT: :text
1577
+
1578
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventTextContent::type_]
1579
+ end
1580
+ end
1581
+
1582
+ type event_image_content =
1583
+ {
1584
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source,
1585
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::type_,
1586
+ key: String
1587
+ }
1588
+
1589
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1590
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source
1591
+
1592
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::type_
1593
+
1594
+ attr_reader key: String?
1595
+
1596
+ def key=: (String) -> String
1597
+
1598
+ def initialize: (
1599
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source,
1600
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::type_,
1601
+ ?key: String
1602
+ ) -> void
1603
+
1604
+ def to_hash: -> {
1605
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source,
1606
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::type_,
1607
+ key: String
1608
+ }
1609
+
1610
+ type source =
1611
+ {
1612
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source::type_,
1613
+ url: String
1614
+ }
1615
+
1616
+ class Source < SafetyKit::Internal::Type::BaseModel
1617
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source::type_
1618
+
1619
+ attr_accessor url: String
1620
+
1621
+ def initialize: (
1622
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source::type_,
1623
+ url: String
1624
+ ) -> void
1625
+
1626
+ def to_hash: -> {
1627
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source::type_,
1628
+ url: String
1629
+ }
1630
+
1631
+ type type_ = :url
1632
+
1633
+ module Type
1634
+ extend SafetyKit::Internal::Type::Enum
1635
+
1636
+ URL: :url
1637
+
1638
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::Source::type_]
1639
+ end
1640
+ end
1641
+
1642
+ type type_ = :image
1643
+
1644
+ module Type
1645
+ extend SafetyKit::Internal::Type::Enum
1646
+
1647
+ IMAGE: :image
1648
+
1649
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Content::EventImageContent::type_]
1650
+ end
1651
+ end
1652
+
1653
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::content]
1654
+ end
1655
+
1656
+ type metadata =
1657
+ String
1658
+ | Float
1659
+ | bool
1660
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Metadata::union_member3]
1661
+
1662
+ module Metadata
1663
+ extend SafetyKit::Internal::Type::Union
1664
+
1665
+ type union_member3 = String | Float | bool
1666
+
1667
+ module UnionMember3
1668
+ extend SafetyKit::Internal::Type::Union
1669
+
1670
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::Metadata::union_member3]
1671
+ end
1672
+
1673
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UserReportEventRequest::metadata]
1674
+
1675
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
1676
+ end
1677
+
1678
+ type resources_used = { type: String, value: String }
1679
+
1680
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1681
+ attr_accessor type: String
1682
+
1683
+ attr_accessor value: String
1684
+
1685
+ def initialize: (type: String, value: String) -> void
1686
+
1687
+ def to_hash: -> { type: String, value: String }
1688
+ end
1689
+ end
1690
+
1691
+ type moderation_decision_event_request =
1692
+ {
1693
+ event_name: String,
1694
+ labels: ::Array[String],
1695
+ source_id: String,
1696
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::source_type,
1697
+ timestamp: Time,
1698
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::type_,
1699
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo,
1700
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content],
1701
+ content_id: String,
1702
+ idempotency_key: String,
1703
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata],
1704
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed],
1705
+ target_content_id: String,
1706
+ target_user_id: String
1707
+ }
1708
+
1709
+ class ModerationDecisionEventRequest < SafetyKit::Internal::Type::BaseModel
1710
+ attr_accessor event_name: String
1711
+
1712
+ attr_accessor labels: ::Array[String]
1713
+
1714
+ attr_accessor source_id: String
1715
+
1716
+ attr_accessor source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::source_type
1717
+
1718
+ attr_accessor timestamp: Time
1719
+
1720
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::type_
1721
+
1722
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo?
1723
+
1724
+ def client_info=: (
1725
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo
1726
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo
1727
+
1728
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content]?
1729
+
1730
+ def content=: (
1731
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content]
1732
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content]
1733
+
1734
+ attr_reader content_id: String?
1735
+
1736
+ def content_id=: (String) -> String
1737
+
1738
+ attr_reader idempotency_key: String?
1739
+
1740
+ def idempotency_key=: (String) -> String
1741
+
1742
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata]?
1743
+
1744
+ def metadata=: (
1745
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata]
1746
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata]
1747
+
1748
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed]?
1749
+
1750
+ def resources_used=: (
1751
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed]
1752
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed]
1753
+
1754
+ attr_reader target_content_id: String?
1755
+
1756
+ def target_content_id=: (String) -> String
1757
+
1758
+ attr_reader target_user_id: String?
1759
+
1760
+ def target_user_id=: (String) -> String
1761
+
1762
+ def initialize: (
1763
+ event_name: String,
1764
+ labels: ::Array[String],
1765
+ source_id: String,
1766
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::source_type,
1767
+ timestamp: Time,
1768
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::type_,
1769
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo,
1770
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content],
1771
+ ?content_id: String,
1772
+ ?idempotency_key: String,
1773
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata],
1774
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed],
1775
+ ?target_content_id: String,
1776
+ ?target_user_id: String
1777
+ ) -> void
1778
+
1779
+ def to_hash: -> {
1780
+ event_name: String,
1781
+ labels: ::Array[String],
1782
+ source_id: String,
1783
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::source_type,
1784
+ timestamp: Time,
1785
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::type_,
1786
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ClientInfo,
1787
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content],
1788
+ content_id: String,
1789
+ idempotency_key: String,
1790
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata],
1791
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::ResourcesUsed],
1792
+ target_content_id: String,
1793
+ target_user_id: String
1794
+ }
1795
+
1796
+ type source_type =
1797
+ :human_moderator | :expert_labeler | :automation | :vendor
1798
+
1799
+ module SourceType
1800
+ extend SafetyKit::Internal::Type::Enum
1801
+
1802
+ HUMAN_MODERATOR: :human_moderator
1803
+ EXPERT_LABELER: :expert_labeler
1804
+ AUTOMATION: :automation
1805
+ VENDOR: :vendor
1806
+
1807
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::source_type]
1808
+ end
1809
+
1810
+ type type_ = :moderation_decision
1811
+
1812
+ module Type
1813
+ extend SafetyKit::Internal::Type::Enum
1814
+
1815
+ MODERATION_DECISION: :moderation_decision
1816
+
1817
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::type_]
1818
+ end
1819
+
1820
+ type client_info = { ip: String }
1821
+
1822
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
1823
+ attr_reader ip: String?
1824
+
1825
+ def ip=: (String) -> String
1826
+
1827
+ def initialize: (?ip: String) -> void
1828
+
1829
+ def to_hash: -> { ip: String }
1830
+ end
1831
+
1832
+ type content =
1833
+ SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent
1834
+ | SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent
1835
+
1836
+ module Content
1837
+ extend SafetyKit::Internal::Type::Union
1838
+
1839
+ type event_text_content =
1840
+ {
1841
+ text: String,
1842
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::type_,
1843
+ key: String
1844
+ }
1845
+
1846
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
1847
+ attr_accessor text: String
1848
+
1849
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::type_
1850
+
1851
+ attr_reader key: String?
1852
+
1853
+ def key=: (String) -> String
1854
+
1855
+ def initialize: (
1856
+ text: String,
1857
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::type_,
1858
+ ?key: String
1859
+ ) -> void
1860
+
1861
+ def to_hash: -> {
1862
+ text: String,
1863
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::type_,
1864
+ key: String
1865
+ }
1866
+
1867
+ type type_ = :text
1868
+
1869
+ module Type
1870
+ extend SafetyKit::Internal::Type::Enum
1871
+
1872
+ TEXT: :text
1873
+
1874
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventTextContent::type_]
1875
+ end
1876
+ end
1877
+
1878
+ type event_image_content =
1879
+ {
1880
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source,
1881
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::type_,
1882
+ key: String
1883
+ }
1884
+
1885
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
1886
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source
1887
+
1888
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::type_
1889
+
1890
+ attr_reader key: String?
1891
+
1892
+ def key=: (String) -> String
1893
+
1894
+ def initialize: (
1895
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source,
1896
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::type_,
1897
+ ?key: String
1898
+ ) -> void
1899
+
1900
+ def to_hash: -> {
1901
+ source: SafetyKit::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source,
1902
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::type_,
1903
+ key: String
1904
+ }
1905
+
1906
+ type source =
1907
+ {
1908
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::type_,
1909
+ url: String
1910
+ }
1911
+
1912
+ class Source < SafetyKit::Internal::Type::BaseModel
1913
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::type_
1914
+
1915
+ attr_accessor url: String
1916
+
1917
+ def initialize: (
1918
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::type_,
1919
+ url: String
1920
+ ) -> void
1921
+
1922
+ def to_hash: -> {
1923
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::type_,
1924
+ url: String
1925
+ }
1926
+
1927
+ type type_ = :url
1928
+
1929
+ module Type
1930
+ extend SafetyKit::Internal::Type::Enum
1931
+
1932
+ URL: :url
1933
+
1934
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::Source::type_]
1935
+ end
1936
+ end
1937
+
1938
+ type type_ = :image
1939
+
1940
+ module Type
1941
+ extend SafetyKit::Internal::Type::Enum
1942
+
1943
+ IMAGE: :image
1944
+
1945
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Content::EventImageContent::type_]
1946
+ end
1947
+ end
1948
+
1949
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::content]
1950
+ end
1951
+
1952
+ type metadata =
1953
+ String
1954
+ | Float
1955
+ | bool
1956
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::union_member3]
1957
+
1958
+ module Metadata
1959
+ extend SafetyKit::Internal::Type::Union
1960
+
1961
+ type union_member3 = String | Float | bool
1962
+
1963
+ module UnionMember3
1964
+ extend SafetyKit::Internal::Type::Union
1965
+
1966
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::Metadata::union_member3]
1967
+ end
1968
+
1969
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::ModerationDecisionEventRequest::metadata]
1970
+
1971
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
1972
+ end
1973
+
1974
+ type resources_used = { type: String, value: String }
1975
+
1976
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
1977
+ attr_accessor type: String
1978
+
1979
+ attr_accessor value: String
1980
+
1981
+ def initialize: (type: String, value: String) -> void
1982
+
1983
+ def to_hash: -> { type: String, value: String }
1984
+ end
1985
+ end
1986
+
1987
+ type union_member7 =
1988
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact
1989
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded
1990
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged
1991
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount
1992
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount
1993
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport
1994
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision
1995
+
1996
+ module UnionMember7
1997
+ extend SafetyKit::Internal::Type::Union
1998
+
1999
+ type user_contact =
2000
+ {
2001
+ event_name: String,
2002
+ target_user_id: String,
2003
+ timestamp: Time,
2004
+ type: :user_contact,
2005
+ user_id: String,
2006
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo,
2007
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content],
2008
+ content_id: String,
2009
+ idempotency_key: String,
2010
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata],
2011
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed]
2012
+ }
2013
+
2014
+ class UserContact < SafetyKit::Internal::Type::BaseModel
2015
+ attr_accessor event_name: String
2016
+
2017
+ attr_accessor target_user_id: String
2018
+
2019
+ attr_accessor timestamp: Time
2020
+
2021
+ attr_accessor type: :user_contact
2022
+
2023
+ attr_accessor user_id: String
2024
+
2025
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo?
2026
+
2027
+ def client_info=: (
2028
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo
2029
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo
2030
+
2031
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content]?
2032
+
2033
+ def content=: (
2034
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content]
2035
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content]
2036
+
2037
+ attr_reader content_id: String?
2038
+
2039
+ def content_id=: (String) -> String
2040
+
2041
+ attr_reader idempotency_key: String?
2042
+
2043
+ def idempotency_key=: (String) -> String
2044
+
2045
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata]?
2046
+
2047
+ def metadata=: (
2048
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata]
2049
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata]
2050
+
2051
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed]?
2052
+
2053
+ def resources_used=: (
2054
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed]
2055
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed]
2056
+
2057
+ def initialize: (
2058
+ event_name: String,
2059
+ target_user_id: String,
2060
+ timestamp: Time,
2061
+ user_id: String,
2062
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo,
2063
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content],
2064
+ ?content_id: String,
2065
+ ?idempotency_key: String,
2066
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata],
2067
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed],
2068
+ ?type: :user_contact
2069
+ ) -> void
2070
+
2071
+ def to_hash: -> {
2072
+ event_name: String,
2073
+ target_user_id: String,
2074
+ timestamp: Time,
2075
+ type: :user_contact,
2076
+ user_id: String,
2077
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ClientInfo,
2078
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content],
2079
+ content_id: String,
2080
+ idempotency_key: String,
2081
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata],
2082
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::ResourcesUsed]
2083
+ }
2084
+
2085
+ type client_info = { ip: String }
2086
+
2087
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2088
+ attr_reader ip: String?
2089
+
2090
+ def ip=: (String) -> String
2091
+
2092
+ def initialize: (?ip: String) -> void
2093
+
2094
+ def to_hash: -> { ip: String }
2095
+ end
2096
+
2097
+ type content =
2098
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent
2099
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent
2100
+
2101
+ module Content
2102
+ extend SafetyKit::Internal::Type::Union
2103
+
2104
+ type event_text_content =
2105
+ {
2106
+ text: String,
2107
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::type_,
2108
+ key: String
2109
+ }
2110
+
2111
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2112
+ attr_accessor text: String
2113
+
2114
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::type_
2115
+
2116
+ attr_reader key: String?
2117
+
2118
+ def key=: (String) -> String
2119
+
2120
+ def initialize: (
2121
+ text: String,
2122
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::type_,
2123
+ ?key: String
2124
+ ) -> void
2125
+
2126
+ def to_hash: -> {
2127
+ text: String,
2128
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::type_,
2129
+ key: String
2130
+ }
2131
+
2132
+ type type_ = :text
2133
+
2134
+ module Type
2135
+ extend SafetyKit::Internal::Type::Enum
2136
+
2137
+ TEXT: :text
2138
+
2139
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventTextContent::type_]
2140
+ end
2141
+ end
2142
+
2143
+ type event_image_content =
2144
+ {
2145
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source,
2146
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::type_,
2147
+ key: String
2148
+ }
2149
+
2150
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2151
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source
2152
+
2153
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::type_
2154
+
2155
+ attr_reader key: String?
2156
+
2157
+ def key=: (String) -> String
2158
+
2159
+ def initialize: (
2160
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source,
2161
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::type_,
2162
+ ?key: String
2163
+ ) -> void
2164
+
2165
+ def to_hash: -> {
2166
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source,
2167
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::type_,
2168
+ key: String
2169
+ }
2170
+
2171
+ type source =
2172
+ {
2173
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::type_,
2174
+ url: String
2175
+ }
2176
+
2177
+ class Source < SafetyKit::Internal::Type::BaseModel
2178
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::type_
2179
+
2180
+ attr_accessor url: String
2181
+
2182
+ def initialize: (
2183
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::type_,
2184
+ url: String
2185
+ ) -> void
2186
+
2187
+ def to_hash: -> {
2188
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::type_,
2189
+ url: String
2190
+ }
2191
+
2192
+ type type_ = :url
2193
+
2194
+ module Type
2195
+ extend SafetyKit::Internal::Type::Enum
2196
+
2197
+ URL: :url
2198
+
2199
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::Source::type_]
2200
+ end
2201
+ end
2202
+
2203
+ type type_ = :image
2204
+
2205
+ module Type
2206
+ extend SafetyKit::Internal::Type::Enum
2207
+
2208
+ IMAGE: :image
2209
+
2210
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Content::EventImageContent::type_]
2211
+ end
2212
+ end
2213
+
2214
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::content]
2215
+ end
2216
+
2217
+ type metadata =
2218
+ String
2219
+ | Float
2220
+ | bool
2221
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Metadata::union_member3]
2222
+
2223
+ module Metadata
2224
+ extend SafetyKit::Internal::Type::Union
2225
+
2226
+ type union_member3 = String | Float | bool
2227
+
2228
+ module UnionMember3
2229
+ extend SafetyKit::Internal::Type::Union
2230
+
2231
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::Metadata::union_member3]
2232
+ end
2233
+
2234
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserContact::metadata]
2235
+
2236
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
2237
+ end
2238
+
2239
+ type resources_used = { type: String, value: String }
2240
+
2241
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2242
+ attr_accessor type: String
2243
+
2244
+ attr_accessor value: String
2245
+
2246
+ def initialize: (type: String, value: String) -> void
2247
+
2248
+ def to_hash: -> { type: String, value: String }
2249
+ end
2250
+ end
2251
+
2252
+ type content_uploaded =
2253
+ {
2254
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::content],
2255
+ event_name: String,
2256
+ timestamp: Time,
2257
+ type: :content_uploaded,
2258
+ user_id: String,
2259
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo,
2260
+ content_id: String,
2261
+ idempotency_key: String,
2262
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata],
2263
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed]
2264
+ }
2265
+
2266
+ class ContentUploaded < SafetyKit::Internal::Type::BaseModel
2267
+ attr_accessor content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::content]
2268
+
2269
+ attr_accessor event_name: String
2270
+
2271
+ attr_accessor timestamp: Time
2272
+
2273
+ attr_accessor type: :content_uploaded
2274
+
2275
+ attr_accessor user_id: String
2276
+
2277
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo?
2278
+
2279
+ def client_info=: (
2280
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo
2281
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo
2282
+
2283
+ attr_reader content_id: String?
2284
+
2285
+ def content_id=: (String) -> String
2286
+
2287
+ attr_reader idempotency_key: String?
2288
+
2289
+ def idempotency_key=: (String) -> String
2290
+
2291
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata]?
2292
+
2293
+ def metadata=: (
2294
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata]
2295
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata]
2296
+
2297
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed]?
2298
+
2299
+ def resources_used=: (
2300
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed]
2301
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed]
2302
+
2303
+ def initialize: (
2304
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::content],
2305
+ event_name: String,
2306
+ timestamp: Time,
2307
+ user_id: String,
2308
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo,
2309
+ ?content_id: String,
2310
+ ?idempotency_key: String,
2311
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata],
2312
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed],
2313
+ ?type: :content_uploaded
2314
+ ) -> void
2315
+
2316
+ def to_hash: -> {
2317
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::content],
2318
+ event_name: String,
2319
+ timestamp: Time,
2320
+ type: :content_uploaded,
2321
+ user_id: String,
2322
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ClientInfo,
2323
+ content_id: String,
2324
+ idempotency_key: String,
2325
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata],
2326
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::ResourcesUsed]
2327
+ }
2328
+
2329
+ type content =
2330
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent
2331
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent
2332
+
2333
+ module Content
2334
+ extend SafetyKit::Internal::Type::Union
2335
+
2336
+ type event_text_content =
2337
+ {
2338
+ text: String,
2339
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::type_,
2340
+ key: String
2341
+ }
2342
+
2343
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2344
+ attr_accessor text: String
2345
+
2346
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::type_
2347
+
2348
+ attr_reader key: String?
2349
+
2350
+ def key=: (String) -> String
2351
+
2352
+ def initialize: (
2353
+ text: String,
2354
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::type_,
2355
+ ?key: String
2356
+ ) -> void
2357
+
2358
+ def to_hash: -> {
2359
+ text: String,
2360
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::type_,
2361
+ key: String
2362
+ }
2363
+
2364
+ type type_ = :text
2365
+
2366
+ module Type
2367
+ extend SafetyKit::Internal::Type::Enum
2368
+
2369
+ TEXT: :text
2370
+
2371
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventTextContent::type_]
2372
+ end
2373
+ end
2374
+
2375
+ type event_image_content =
2376
+ {
2377
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source,
2378
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::type_,
2379
+ key: String
2380
+ }
2381
+
2382
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2383
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source
2384
+
2385
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::type_
2386
+
2387
+ attr_reader key: String?
2388
+
2389
+ def key=: (String) -> String
2390
+
2391
+ def initialize: (
2392
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source,
2393
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::type_,
2394
+ ?key: String
2395
+ ) -> void
2396
+
2397
+ def to_hash: -> {
2398
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source,
2399
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::type_,
2400
+ key: String
2401
+ }
2402
+
2403
+ type source =
2404
+ {
2405
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::type_,
2406
+ url: String
2407
+ }
2408
+
2409
+ class Source < SafetyKit::Internal::Type::BaseModel
2410
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::type_
2411
+
2412
+ attr_accessor url: String
2413
+
2414
+ def initialize: (
2415
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::type_,
2416
+ url: String
2417
+ ) -> void
2418
+
2419
+ def to_hash: -> {
2420
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::type_,
2421
+ url: String
2422
+ }
2423
+
2424
+ type type_ = :url
2425
+
2426
+ module Type
2427
+ extend SafetyKit::Internal::Type::Enum
2428
+
2429
+ URL: :url
2430
+
2431
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::Source::type_]
2432
+ end
2433
+ end
2434
+
2435
+ type type_ = :image
2436
+
2437
+ module Type
2438
+ extend SafetyKit::Internal::Type::Enum
2439
+
2440
+ IMAGE: :image
2441
+
2442
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Content::EventImageContent::type_]
2443
+ end
2444
+ end
2445
+
2446
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::content]
2447
+ end
2448
+
2449
+ type client_info = { ip: String }
2450
+
2451
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2452
+ attr_reader ip: String?
2453
+
2454
+ def ip=: (String) -> String
2455
+
2456
+ def initialize: (?ip: String) -> void
2457
+
2458
+ def to_hash: -> { ip: String }
2459
+ end
2460
+
2461
+ type metadata =
2462
+ String
2463
+ | Float
2464
+ | bool
2465
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Metadata::union_member3]
2466
+
2467
+ module Metadata
2468
+ extend SafetyKit::Internal::Type::Union
2469
+
2470
+ type union_member3 = String | Float | bool
2471
+
2472
+ module UnionMember3
2473
+ extend SafetyKit::Internal::Type::Union
2474
+
2475
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::Metadata::union_member3]
2476
+ end
2477
+
2478
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ContentUploaded::metadata]
2479
+
2480
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
2481
+ end
2482
+
2483
+ type resources_used = { type: String, value: String }
2484
+
2485
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2486
+ attr_accessor type: String
2487
+
2488
+ attr_accessor value: String
2489
+
2490
+ def initialize: (type: String, value: String) -> void
2491
+
2492
+ def to_hash: -> { type: String, value: String }
2493
+ end
2494
+ end
2495
+
2496
+ type product_changed =
2497
+ {
2498
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::content],
2499
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::event_name,
2500
+ product: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product,
2501
+ timestamp: Time,
2502
+ type: :product_changed,
2503
+ user_id: String,
2504
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo,
2505
+ content_id: String,
2506
+ idempotency_key: String,
2507
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata],
2508
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed]
2509
+ }
2510
+
2511
+ class ProductChanged < SafetyKit::Internal::Type::BaseModel
2512
+ attr_accessor content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::content]
2513
+
2514
+ attr_accessor event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::event_name
2515
+
2516
+ attr_accessor product: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product
2517
+
2518
+ attr_accessor timestamp: Time
2519
+
2520
+ attr_accessor type: :product_changed
2521
+
2522
+ attr_accessor user_id: String
2523
+
2524
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo?
2525
+
2526
+ def client_info=: (
2527
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo
2528
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo
2529
+
2530
+ attr_reader content_id: String?
2531
+
2532
+ def content_id=: (String) -> String
2533
+
2534
+ attr_reader idempotency_key: String?
2535
+
2536
+ def idempotency_key=: (String) -> String
2537
+
2538
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata]?
2539
+
2540
+ def metadata=: (
2541
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata]
2542
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata]
2543
+
2544
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed]?
2545
+
2546
+ def resources_used=: (
2547
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed]
2548
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed]
2549
+
2550
+ def initialize: (
2551
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::content],
2552
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::event_name,
2553
+ product: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product,
2554
+ timestamp: Time,
2555
+ user_id: String,
2556
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo,
2557
+ ?content_id: String,
2558
+ ?idempotency_key: String,
2559
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata],
2560
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed],
2561
+ ?type: :product_changed
2562
+ ) -> void
2563
+
2564
+ def to_hash: -> {
2565
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::content],
2566
+ event_name: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::event_name,
2567
+ product: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product,
2568
+ timestamp: Time,
2569
+ type: :product_changed,
2570
+ user_id: String,
2571
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ClientInfo,
2572
+ content_id: String,
2573
+ idempotency_key: String,
2574
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata],
2575
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::ResourcesUsed]
2576
+ }
2577
+
2578
+ type content =
2579
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent
2580
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent
2581
+
2582
+ module Content
2583
+ extend SafetyKit::Internal::Type::Union
2584
+
2585
+ type event_text_content =
2586
+ {
2587
+ text: String,
2588
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::type_,
2589
+ key: String
2590
+ }
2591
+
2592
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2593
+ attr_accessor text: String
2594
+
2595
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::type_
2596
+
2597
+ attr_reader key: String?
2598
+
2599
+ def key=: (String) -> String
2600
+
2601
+ def initialize: (
2602
+ text: String,
2603
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::type_,
2604
+ ?key: String
2605
+ ) -> void
2606
+
2607
+ def to_hash: -> {
2608
+ text: String,
2609
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::type_,
2610
+ key: String
2611
+ }
2612
+
2613
+ type type_ = :text
2614
+
2615
+ module Type
2616
+ extend SafetyKit::Internal::Type::Enum
2617
+
2618
+ TEXT: :text
2619
+
2620
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventTextContent::type_]
2621
+ end
2622
+ end
2623
+
2624
+ type event_image_content =
2625
+ {
2626
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source,
2627
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::type_,
2628
+ key: String
2629
+ }
2630
+
2631
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2632
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source
2633
+
2634
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::type_
2635
+
2636
+ attr_reader key: String?
2637
+
2638
+ def key=: (String) -> String
2639
+
2640
+ def initialize: (
2641
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source,
2642
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::type_,
2643
+ ?key: String
2644
+ ) -> void
2645
+
2646
+ def to_hash: -> {
2647
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source,
2648
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::type_,
2649
+ key: String
2650
+ }
2651
+
2652
+ type source =
2653
+ {
2654
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::type_,
2655
+ url: String
2656
+ }
2657
+
2658
+ class Source < SafetyKit::Internal::Type::BaseModel
2659
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::type_
2660
+
2661
+ attr_accessor url: String
2662
+
2663
+ def initialize: (
2664
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::type_,
2665
+ url: String
2666
+ ) -> void
2667
+
2668
+ def to_hash: -> {
2669
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::type_,
2670
+ url: String
2671
+ }
2672
+
2673
+ type type_ = :url
2674
+
2675
+ module Type
2676
+ extend SafetyKit::Internal::Type::Enum
2677
+
2678
+ URL: :url
2679
+
2680
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::Source::type_]
2681
+ end
2682
+ end
2683
+
2684
+ type type_ = :image
2685
+
2686
+ module Type
2687
+ extend SafetyKit::Internal::Type::Enum
2688
+
2689
+ IMAGE: :image
2690
+
2691
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Content::EventImageContent::type_]
2692
+ end
2693
+ end
2694
+
2695
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::content]
2696
+ end
2697
+
2698
+ type event_name = :product_created | :product_updated
2699
+
2700
+ module EventName
2701
+ extend SafetyKit::Internal::Type::Enum
2702
+
2703
+ PRODUCT_CREATED: :product_created
2704
+ PRODUCT_UPDATED: :product_updated
2705
+
2706
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::event_name]
2707
+ end
2708
+
2709
+ type product =
2710
+ {
2711
+ price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price,
2712
+ discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice,
2713
+ shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo
2714
+ }
2715
+
2716
+ class Product < SafetyKit::Internal::Type::BaseModel
2717
+ attr_accessor price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price
2718
+
2719
+ attr_reader discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice?
2720
+
2721
+ def discounted_price=: (
2722
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice
2723
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice
2724
+
2725
+ attr_reader shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo?
2726
+
2727
+ def shipping_info=: (
2728
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo
2729
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo
2730
+
2731
+ def initialize: (
2732
+ price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price,
2733
+ ?discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice,
2734
+ ?shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo
2735
+ ) -> void
2736
+
2737
+ def to_hash: -> {
2738
+ price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::Price,
2739
+ discounted_price: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::DiscountedPrice,
2740
+ shipping_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Product::ShippingInfo
2741
+ }
2742
+
2743
+ type price = { amount: String, currency: String }
2744
+
2745
+ class Price < SafetyKit::Internal::Type::BaseModel
2746
+ attr_accessor amount: String
2747
+
2748
+ attr_accessor currency: String
2749
+
2750
+ def initialize: (amount: String, currency: String) -> void
2751
+
2752
+ def to_hash: -> { amount: String, currency: String }
2753
+ end
2754
+
2755
+ type discounted_price = { amount: String, currency: String }
2756
+
2757
+ class DiscountedPrice < SafetyKit::Internal::Type::BaseModel
2758
+ attr_accessor amount: String
2759
+
2760
+ attr_accessor currency: String
2761
+
2762
+ def initialize: (amount: String, currency: String) -> void
2763
+
2764
+ def to_hash: -> { amount: String, currency: String }
2765
+ end
2766
+
2767
+ type shipping_info =
2768
+ { ships_from: String, ships_to: ::Array[String] }
2769
+
2770
+ class ShippingInfo < SafetyKit::Internal::Type::BaseModel
2771
+ attr_accessor ships_from: String
2772
+
2773
+ attr_accessor ships_to: ::Array[String]
2774
+
2775
+ def initialize: (
2776
+ ships_from: String,
2777
+ ships_to: ::Array[String]
2778
+ ) -> void
2779
+
2780
+ def to_hash: -> {
2781
+ ships_from: String,
2782
+ ships_to: ::Array[String]
2783
+ }
2784
+ end
2785
+ end
2786
+
2787
+ type client_info = { ip: String }
2788
+
2789
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2790
+ attr_reader ip: String?
2791
+
2792
+ def ip=: (String) -> String
2793
+
2794
+ def initialize: (?ip: String) -> void
2795
+
2796
+ def to_hash: -> { ip: String }
2797
+ end
2798
+
2799
+ type metadata =
2800
+ String
2801
+ | Float
2802
+ | bool
2803
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::union_member3]
2804
+
2805
+ module Metadata
2806
+ extend SafetyKit::Internal::Type::Union
2807
+
2808
+ type union_member3 = String | Float | bool
2809
+
2810
+ module UnionMember3
2811
+ extend SafetyKit::Internal::Type::Union
2812
+
2813
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::Metadata::union_member3]
2814
+ end
2815
+
2816
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ProductChanged::metadata]
2817
+
2818
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
2819
+ end
2820
+
2821
+ type resources_used = { type: String, value: String }
2822
+
2823
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
2824
+ attr_accessor type: String
2825
+
2826
+ attr_accessor value: String
2827
+
2828
+ def initialize: (type: String, value: String) -> void
2829
+
2830
+ def to_hash: -> { type: String, value: String }
2831
+ end
2832
+ end
2833
+
2834
+ type create_account =
2835
+ {
2836
+ event_name: String,
2837
+ timestamp: Time,
2838
+ type: :create_account,
2839
+ user_id: String,
2840
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo,
2841
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content],
2842
+ content_id: String,
2843
+ idempotency_key: String,
2844
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata],
2845
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed]
2846
+ }
2847
+
2848
+ class CreateAccount < SafetyKit::Internal::Type::BaseModel
2849
+ attr_accessor event_name: String
2850
+
2851
+ attr_accessor timestamp: Time
2852
+
2853
+ attr_accessor type: :create_account
2854
+
2855
+ attr_accessor user_id: String
2856
+
2857
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo?
2858
+
2859
+ def client_info=: (
2860
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo
2861
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo
2862
+
2863
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content]?
2864
+
2865
+ def content=: (
2866
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content]
2867
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content]
2868
+
2869
+ attr_reader content_id: String?
2870
+
2871
+ def content_id=: (String) -> String
2872
+
2873
+ attr_reader idempotency_key: String?
2874
+
2875
+ def idempotency_key=: (String) -> String
2876
+
2877
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata]?
2878
+
2879
+ def metadata=: (
2880
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata]
2881
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata]
2882
+
2883
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed]?
2884
+
2885
+ def resources_used=: (
2886
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed]
2887
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed]
2888
+
2889
+ def initialize: (
2890
+ event_name: String,
2891
+ timestamp: Time,
2892
+ user_id: String,
2893
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo,
2894
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content],
2895
+ ?content_id: String,
2896
+ ?idempotency_key: String,
2897
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata],
2898
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed],
2899
+ ?type: :create_account
2900
+ ) -> void
2901
+
2902
+ def to_hash: -> {
2903
+ event_name: String,
2904
+ timestamp: Time,
2905
+ type: :create_account,
2906
+ user_id: String,
2907
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ClientInfo,
2908
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content],
2909
+ content_id: String,
2910
+ idempotency_key: String,
2911
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata],
2912
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::ResourcesUsed]
2913
+ }
2914
+
2915
+ type client_info = { ip: String }
2916
+
2917
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
2918
+ attr_reader ip: String?
2919
+
2920
+ def ip=: (String) -> String
2921
+
2922
+ def initialize: (?ip: String) -> void
2923
+
2924
+ def to_hash: -> { ip: String }
2925
+ end
2926
+
2927
+ type content =
2928
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent
2929
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent
2930
+
2931
+ module Content
2932
+ extend SafetyKit::Internal::Type::Union
2933
+
2934
+ type event_text_content =
2935
+ {
2936
+ text: String,
2937
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::type_,
2938
+ key: String
2939
+ }
2940
+
2941
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
2942
+ attr_accessor text: String
2943
+
2944
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::type_
2945
+
2946
+ attr_reader key: String?
2947
+
2948
+ def key=: (String) -> String
2949
+
2950
+ def initialize: (
2951
+ text: String,
2952
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::type_,
2953
+ ?key: String
2954
+ ) -> void
2955
+
2956
+ def to_hash: -> {
2957
+ text: String,
2958
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::type_,
2959
+ key: String
2960
+ }
2961
+
2962
+ type type_ = :text
2963
+
2964
+ module Type
2965
+ extend SafetyKit::Internal::Type::Enum
2966
+
2967
+ TEXT: :text
2968
+
2969
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventTextContent::type_]
2970
+ end
2971
+ end
2972
+
2973
+ type event_image_content =
2974
+ {
2975
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source,
2976
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::type_,
2977
+ key: String
2978
+ }
2979
+
2980
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
2981
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source
2982
+
2983
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::type_
2984
+
2985
+ attr_reader key: String?
2986
+
2987
+ def key=: (String) -> String
2988
+
2989
+ def initialize: (
2990
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source,
2991
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::type_,
2992
+ ?key: String
2993
+ ) -> void
2994
+
2995
+ def to_hash: -> {
2996
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source,
2997
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::type_,
2998
+ key: String
2999
+ }
3000
+
3001
+ type source =
3002
+ {
3003
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::type_,
3004
+ url: String
3005
+ }
3006
+
3007
+ class Source < SafetyKit::Internal::Type::BaseModel
3008
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::type_
3009
+
3010
+ attr_accessor url: String
3011
+
3012
+ def initialize: (
3013
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::type_,
3014
+ url: String
3015
+ ) -> void
3016
+
3017
+ def to_hash: -> {
3018
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::type_,
3019
+ url: String
3020
+ }
3021
+
3022
+ type type_ = :url
3023
+
3024
+ module Type
3025
+ extend SafetyKit::Internal::Type::Enum
3026
+
3027
+ URL: :url
3028
+
3029
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::Source::type_]
3030
+ end
3031
+ end
3032
+
3033
+ type type_ = :image
3034
+
3035
+ module Type
3036
+ extend SafetyKit::Internal::Type::Enum
3037
+
3038
+ IMAGE: :image
3039
+
3040
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Content::EventImageContent::type_]
3041
+ end
3042
+ end
3043
+
3044
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::content]
3045
+ end
3046
+
3047
+ type metadata =
3048
+ String
3049
+ | Float
3050
+ | bool
3051
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Metadata::union_member3]
3052
+
3053
+ module Metadata
3054
+ extend SafetyKit::Internal::Type::Union
3055
+
3056
+ type union_member3 = String | Float | bool
3057
+
3058
+ module UnionMember3
3059
+ extend SafetyKit::Internal::Type::Union
3060
+
3061
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::Metadata::union_member3]
3062
+ end
3063
+
3064
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::CreateAccount::metadata]
3065
+
3066
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
3067
+ end
3068
+
3069
+ type resources_used = { type: String, value: String }
3070
+
3071
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3072
+ attr_accessor type: String
3073
+
3074
+ attr_accessor value: String
3075
+
3076
+ def initialize: (type: String, value: String) -> void
3077
+
3078
+ def to_hash: -> { type: String, value: String }
3079
+ end
3080
+ end
3081
+
3082
+ type update_account =
3083
+ {
3084
+ event_name: String,
3085
+ timestamp: Time,
3086
+ type: :update_account,
3087
+ user_id: String,
3088
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo,
3089
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content],
3090
+ content_id: String,
3091
+ idempotency_key: String,
3092
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata],
3093
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed]
3094
+ }
3095
+
3096
+ class UpdateAccount < SafetyKit::Internal::Type::BaseModel
3097
+ attr_accessor event_name: String
3098
+
3099
+ attr_accessor timestamp: Time
3100
+
3101
+ attr_accessor type: :update_account
3102
+
3103
+ attr_accessor user_id: String
3104
+
3105
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo?
3106
+
3107
+ def client_info=: (
3108
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo
3109
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo
3110
+
3111
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content]?
3112
+
3113
+ def content=: (
3114
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content]
3115
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content]
3116
+
3117
+ attr_reader content_id: String?
3118
+
3119
+ def content_id=: (String) -> String
3120
+
3121
+ attr_reader idempotency_key: String?
3122
+
3123
+ def idempotency_key=: (String) -> String
3124
+
3125
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata]?
3126
+
3127
+ def metadata=: (
3128
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata]
3129
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata]
3130
+
3131
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed]?
3132
+
3133
+ def resources_used=: (
3134
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed]
3135
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed]
3136
+
3137
+ def initialize: (
3138
+ event_name: String,
3139
+ timestamp: Time,
3140
+ user_id: String,
3141
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo,
3142
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content],
3143
+ ?content_id: String,
3144
+ ?idempotency_key: String,
3145
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata],
3146
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed],
3147
+ ?type: :update_account
3148
+ ) -> void
3149
+
3150
+ def to_hash: -> {
3151
+ event_name: String,
3152
+ timestamp: Time,
3153
+ type: :update_account,
3154
+ user_id: String,
3155
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ClientInfo,
3156
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content],
3157
+ content_id: String,
3158
+ idempotency_key: String,
3159
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata],
3160
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::ResourcesUsed]
3161
+ }
3162
+
3163
+ type client_info = { ip: String }
3164
+
3165
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3166
+ attr_reader ip: String?
3167
+
3168
+ def ip=: (String) -> String
3169
+
3170
+ def initialize: (?ip: String) -> void
3171
+
3172
+ def to_hash: -> { ip: String }
3173
+ end
3174
+
3175
+ type content =
3176
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent
3177
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent
3178
+
3179
+ module Content
3180
+ extend SafetyKit::Internal::Type::Union
3181
+
3182
+ type event_text_content =
3183
+ {
3184
+ text: String,
3185
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::type_,
3186
+ key: String
3187
+ }
3188
+
3189
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3190
+ attr_accessor text: String
3191
+
3192
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::type_
3193
+
3194
+ attr_reader key: String?
3195
+
3196
+ def key=: (String) -> String
3197
+
3198
+ def initialize: (
3199
+ text: String,
3200
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::type_,
3201
+ ?key: String
3202
+ ) -> void
3203
+
3204
+ def to_hash: -> {
3205
+ text: String,
3206
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::type_,
3207
+ key: String
3208
+ }
3209
+
3210
+ type type_ = :text
3211
+
3212
+ module Type
3213
+ extend SafetyKit::Internal::Type::Enum
3214
+
3215
+ TEXT: :text
3216
+
3217
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventTextContent::type_]
3218
+ end
3219
+ end
3220
+
3221
+ type event_image_content =
3222
+ {
3223
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source,
3224
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::type_,
3225
+ key: String
3226
+ }
3227
+
3228
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3229
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source
3230
+
3231
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::type_
3232
+
3233
+ attr_reader key: String?
3234
+
3235
+ def key=: (String) -> String
3236
+
3237
+ def initialize: (
3238
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source,
3239
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::type_,
3240
+ ?key: String
3241
+ ) -> void
3242
+
3243
+ def to_hash: -> {
3244
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source,
3245
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::type_,
3246
+ key: String
3247
+ }
3248
+
3249
+ type source =
3250
+ {
3251
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::type_,
3252
+ url: String
3253
+ }
3254
+
3255
+ class Source < SafetyKit::Internal::Type::BaseModel
3256
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::type_
3257
+
3258
+ attr_accessor url: String
3259
+
3260
+ def initialize: (
3261
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::type_,
3262
+ url: String
3263
+ ) -> void
3264
+
3265
+ def to_hash: -> {
3266
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::type_,
3267
+ url: String
3268
+ }
3269
+
3270
+ type type_ = :url
3271
+
3272
+ module Type
3273
+ extend SafetyKit::Internal::Type::Enum
3274
+
3275
+ URL: :url
3276
+
3277
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::Source::type_]
3278
+ end
3279
+ end
3280
+
3281
+ type type_ = :image
3282
+
3283
+ module Type
3284
+ extend SafetyKit::Internal::Type::Enum
3285
+
3286
+ IMAGE: :image
3287
+
3288
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Content::EventImageContent::type_]
3289
+ end
3290
+ end
3291
+
3292
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::content]
3293
+ end
3294
+
3295
+ type metadata =
3296
+ String
3297
+ | Float
3298
+ | bool
3299
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Metadata::union_member3]
3300
+
3301
+ module Metadata
3302
+ extend SafetyKit::Internal::Type::Union
3303
+
3304
+ type union_member3 = String | Float | bool
3305
+
3306
+ module UnionMember3
3307
+ extend SafetyKit::Internal::Type::Union
3308
+
3309
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::Metadata::union_member3]
3310
+ end
3311
+
3312
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UpdateAccount::metadata]
3313
+
3314
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
3315
+ end
3316
+
3317
+ type resources_used = { type: String, value: String }
3318
+
3319
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3320
+ attr_accessor type: String
3321
+
3322
+ attr_accessor value: String
3323
+
3324
+ def initialize: (type: String, value: String) -> void
3325
+
3326
+ def to_hash: -> { type: String, value: String }
3327
+ end
3328
+ end
3329
+
3330
+ type user_report =
3331
+ {
3332
+ event_name: String,
3333
+ labels: ::Array[String],
3334
+ timestamp: Time,
3335
+ type: :user_report,
3336
+ user_id: String,
3337
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo,
3338
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content],
3339
+ content_id: String,
3340
+ idempotency_key: String,
3341
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata],
3342
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed],
3343
+ target_content_id: String,
3344
+ target_user_id: String
3345
+ }
3346
+
3347
+ class UserReport < SafetyKit::Internal::Type::BaseModel
3348
+ attr_accessor event_name: String
3349
+
3350
+ attr_accessor labels: ::Array[String]
3351
+
3352
+ attr_accessor timestamp: Time
3353
+
3354
+ attr_accessor type: :user_report
3355
+
3356
+ attr_accessor user_id: String
3357
+
3358
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo?
3359
+
3360
+ def client_info=: (
3361
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo
3362
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo
3363
+
3364
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content]?
3365
+
3366
+ def content=: (
3367
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content]
3368
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content]
3369
+
3370
+ attr_reader content_id: String?
3371
+
3372
+ def content_id=: (String) -> String
3373
+
3374
+ attr_reader idempotency_key: String?
3375
+
3376
+ def idempotency_key=: (String) -> String
3377
+
3378
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata]?
3379
+
3380
+ def metadata=: (
3381
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata]
3382
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata]
3383
+
3384
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed]?
3385
+
3386
+ def resources_used=: (
3387
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed]
3388
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed]
3389
+
3390
+ attr_reader target_content_id: String?
3391
+
3392
+ def target_content_id=: (String) -> String
3393
+
3394
+ attr_reader target_user_id: String?
3395
+
3396
+ def target_user_id=: (String) -> String
3397
+
3398
+ def initialize: (
3399
+ event_name: String,
3400
+ labels: ::Array[String],
3401
+ timestamp: Time,
3402
+ user_id: String,
3403
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo,
3404
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content],
3405
+ ?content_id: String,
3406
+ ?idempotency_key: String,
3407
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata],
3408
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed],
3409
+ ?target_content_id: String,
3410
+ ?target_user_id: String,
3411
+ ?type: :user_report
3412
+ ) -> void
3413
+
3414
+ def to_hash: -> {
3415
+ event_name: String,
3416
+ labels: ::Array[String],
3417
+ timestamp: Time,
3418
+ type: :user_report,
3419
+ user_id: String,
3420
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ClientInfo,
3421
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content],
3422
+ content_id: String,
3423
+ idempotency_key: String,
3424
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata],
3425
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::ResourcesUsed],
3426
+ target_content_id: String,
3427
+ target_user_id: String
3428
+ }
3429
+
3430
+ type client_info = { ip: String }
3431
+
3432
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3433
+ attr_reader ip: String?
3434
+
3435
+ def ip=: (String) -> String
3436
+
3437
+ def initialize: (?ip: String) -> void
3438
+
3439
+ def to_hash: -> { ip: String }
3440
+ end
3441
+
3442
+ type content =
3443
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent
3444
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent
3445
+
3446
+ module Content
3447
+ extend SafetyKit::Internal::Type::Union
3448
+
3449
+ type event_text_content =
3450
+ {
3451
+ text: String,
3452
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::type_,
3453
+ key: String
3454
+ }
3455
+
3456
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3457
+ attr_accessor text: String
3458
+
3459
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::type_
3460
+
3461
+ attr_reader key: String?
3462
+
3463
+ def key=: (String) -> String
3464
+
3465
+ def initialize: (
3466
+ text: String,
3467
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::type_,
3468
+ ?key: String
3469
+ ) -> void
3470
+
3471
+ def to_hash: -> {
3472
+ text: String,
3473
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::type_,
3474
+ key: String
3475
+ }
3476
+
3477
+ type type_ = :text
3478
+
3479
+ module Type
3480
+ extend SafetyKit::Internal::Type::Enum
3481
+
3482
+ TEXT: :text
3483
+
3484
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventTextContent::type_]
3485
+ end
3486
+ end
3487
+
3488
+ type event_image_content =
3489
+ {
3490
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source,
3491
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::type_,
3492
+ key: String
3493
+ }
3494
+
3495
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3496
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source
3497
+
3498
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::type_
3499
+
3500
+ attr_reader key: String?
3501
+
3502
+ def key=: (String) -> String
3503
+
3504
+ def initialize: (
3505
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source,
3506
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::type_,
3507
+ ?key: String
3508
+ ) -> void
3509
+
3510
+ def to_hash: -> {
3511
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source,
3512
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::type_,
3513
+ key: String
3514
+ }
3515
+
3516
+ type source =
3517
+ {
3518
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::type_,
3519
+ url: String
3520
+ }
3521
+
3522
+ class Source < SafetyKit::Internal::Type::BaseModel
3523
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::type_
3524
+
3525
+ attr_accessor url: String
3526
+
3527
+ def initialize: (
3528
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::type_,
3529
+ url: String
3530
+ ) -> void
3531
+
3532
+ def to_hash: -> {
3533
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::type_,
3534
+ url: String
3535
+ }
3536
+
3537
+ type type_ = :url
3538
+
3539
+ module Type
3540
+ extend SafetyKit::Internal::Type::Enum
3541
+
3542
+ URL: :url
3543
+
3544
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::Source::type_]
3545
+ end
3546
+ end
3547
+
3548
+ type type_ = :image
3549
+
3550
+ module Type
3551
+ extend SafetyKit::Internal::Type::Enum
3552
+
3553
+ IMAGE: :image
3554
+
3555
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Content::EventImageContent::type_]
3556
+ end
3557
+ end
3558
+
3559
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::content]
3560
+ end
3561
+
3562
+ type metadata =
3563
+ String
3564
+ | Float
3565
+ | bool
3566
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Metadata::union_member3]
3567
+
3568
+ module Metadata
3569
+ extend SafetyKit::Internal::Type::Union
3570
+
3571
+ type union_member3 = String | Float | bool
3572
+
3573
+ module UnionMember3
3574
+ extend SafetyKit::Internal::Type::Union
3575
+
3576
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::Metadata::union_member3]
3577
+ end
3578
+
3579
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::UserReport::metadata]
3580
+
3581
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
3582
+ end
3583
+
3584
+ type resources_used = { type: String, value: String }
3585
+
3586
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3587
+ attr_accessor type: String
3588
+
3589
+ attr_accessor value: String
3590
+
3591
+ def initialize: (type: String, value: String) -> void
3592
+
3593
+ def to_hash: -> { type: String, value: String }
3594
+ end
3595
+ end
3596
+
3597
+ type moderation_decision =
3598
+ {
3599
+ event_name: String,
3600
+ labels: ::Array[String],
3601
+ source_id: String,
3602
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::source_type,
3603
+ timestamp: Time,
3604
+ type: :moderation_decision,
3605
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo,
3606
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content],
3607
+ content_id: String,
3608
+ idempotency_key: String,
3609
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata],
3610
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed],
3611
+ target_content_id: String,
3612
+ target_user_id: String
3613
+ }
3614
+
3615
+ class ModerationDecision < SafetyKit::Internal::Type::BaseModel
3616
+ attr_accessor event_name: String
3617
+
3618
+ attr_accessor labels: ::Array[String]
3619
+
3620
+ attr_accessor source_id: String
3621
+
3622
+ attr_accessor source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::source_type
3623
+
3624
+ attr_accessor timestamp: Time
3625
+
3626
+ attr_accessor type: :moderation_decision
3627
+
3628
+ attr_reader client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo?
3629
+
3630
+ def client_info=: (
3631
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo
3632
+ ) -> SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo
3633
+
3634
+ attr_reader content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content]?
3635
+
3636
+ def content=: (
3637
+ ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content]
3638
+ ) -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content]
3639
+
3640
+ attr_reader content_id: String?
3641
+
3642
+ def content_id=: (String) -> String
3643
+
3644
+ attr_reader idempotency_key: String?
3645
+
3646
+ def idempotency_key=: (String) -> String
3647
+
3648
+ attr_reader metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata]?
3649
+
3650
+ def metadata=: (
3651
+ ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata]
3652
+ ) -> ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata]
3653
+
3654
+ attr_reader resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed]?
3655
+
3656
+ def resources_used=: (
3657
+ ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed]
3658
+ ) -> ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed]
3659
+
3660
+ attr_reader target_content_id: String?
3661
+
3662
+ def target_content_id=: (String) -> String
3663
+
3664
+ attr_reader target_user_id: String?
3665
+
3666
+ def target_user_id=: (String) -> String
3667
+
3668
+ def initialize: (
3669
+ event_name: String,
3670
+ labels: ::Array[String],
3671
+ source_id: String,
3672
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::source_type,
3673
+ timestamp: Time,
3674
+ ?client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo,
3675
+ ?content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content],
3676
+ ?content_id: String,
3677
+ ?idempotency_key: String,
3678
+ ?metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata],
3679
+ ?resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed],
3680
+ ?target_content_id: String,
3681
+ ?target_user_id: String,
3682
+ ?type: :moderation_decision
3683
+ ) -> void
3684
+
3685
+ def to_hash: -> {
3686
+ event_name: String,
3687
+ labels: ::Array[String],
3688
+ source_id: String,
3689
+ source_type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::source_type,
3690
+ timestamp: Time,
3691
+ type: :moderation_decision,
3692
+ client_info: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ClientInfo,
3693
+ content: ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content],
3694
+ content_id: String,
3695
+ idempotency_key: String,
3696
+ metadata: ::Hash[Symbol, SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata],
3697
+ resources_used: ::Array[SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::ResourcesUsed],
3698
+ target_content_id: String,
3699
+ target_user_id: String
3700
+ }
3701
+
3702
+ type source_type =
3703
+ :human_moderator | :expert_labeler | :automation | :vendor
3704
+
3705
+ module SourceType
3706
+ extend SafetyKit::Internal::Type::Enum
3707
+
3708
+ HUMAN_MODERATOR: :human_moderator
3709
+ EXPERT_LABELER: :expert_labeler
3710
+ AUTOMATION: :automation
3711
+ VENDOR: :vendor
3712
+
3713
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::source_type]
3714
+ end
3715
+
3716
+ type client_info = { ip: String }
3717
+
3718
+ class ClientInfo < SafetyKit::Internal::Type::BaseModel
3719
+ attr_reader ip: String?
3720
+
3721
+ def ip=: (String) -> String
3722
+
3723
+ def initialize: (?ip: String) -> void
3724
+
3725
+ def to_hash: -> { ip: String }
3726
+ end
3727
+
3728
+ type content =
3729
+ SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent
3730
+ | SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent
3731
+
3732
+ module Content
3733
+ extend SafetyKit::Internal::Type::Union
3734
+
3735
+ type event_text_content =
3736
+ {
3737
+ text: String,
3738
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::type_,
3739
+ key: String
3740
+ }
3741
+
3742
+ class EventTextContent < SafetyKit::Internal::Type::BaseModel
3743
+ attr_accessor text: String
3744
+
3745
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::type_
3746
+
3747
+ attr_reader key: String?
3748
+
3749
+ def key=: (String) -> String
3750
+
3751
+ def initialize: (
3752
+ text: String,
3753
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::type_,
3754
+ ?key: String
3755
+ ) -> void
3756
+
3757
+ def to_hash: -> {
3758
+ text: String,
3759
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::type_,
3760
+ key: String
3761
+ }
3762
+
3763
+ type type_ = :text
3764
+
3765
+ module Type
3766
+ extend SafetyKit::Internal::Type::Enum
3767
+
3768
+ TEXT: :text
3769
+
3770
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventTextContent::type_]
3771
+ end
3772
+ end
3773
+
3774
+ type event_image_content =
3775
+ {
3776
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source,
3777
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::type_,
3778
+ key: String
3779
+ }
3780
+
3781
+ class EventImageContent < SafetyKit::Internal::Type::BaseModel
3782
+ attr_accessor source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source
3783
+
3784
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::type_
3785
+
3786
+ attr_reader key: String?
3787
+
3788
+ def key=: (String) -> String
3789
+
3790
+ def initialize: (
3791
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source,
3792
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::type_,
3793
+ ?key: String
3794
+ ) -> void
3795
+
3796
+ def to_hash: -> {
3797
+ source: SafetyKit::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source,
3798
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::type_,
3799
+ key: String
3800
+ }
3801
+
3802
+ type source =
3803
+ {
3804
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::type_,
3805
+ url: String
3806
+ }
3807
+
3808
+ class Source < SafetyKit::Internal::Type::BaseModel
3809
+ attr_accessor type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::type_
3810
+
3811
+ attr_accessor url: String
3812
+
3813
+ def initialize: (
3814
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::type_,
3815
+ url: String
3816
+ ) -> void
3817
+
3818
+ def to_hash: -> {
3819
+ type: SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::type_,
3820
+ url: String
3821
+ }
3822
+
3823
+ type type_ = :url
3824
+
3825
+ module Type
3826
+ extend SafetyKit::Internal::Type::Enum
3827
+
3828
+ URL: :url
3829
+
3830
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::Source::type_]
3831
+ end
3832
+ end
3833
+
3834
+ type type_ = :image
3835
+
3836
+ module Type
3837
+ extend SafetyKit::Internal::Type::Enum
3838
+
3839
+ IMAGE: :image
3840
+
3841
+ def self?.values: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Content::EventImageContent::type_]
3842
+ end
3843
+ end
3844
+
3845
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::content]
3846
+ end
3847
+
3848
+ type metadata =
3849
+ String
3850
+ | Float
3851
+ | bool
3852
+ | ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Metadata::union_member3]
3853
+
3854
+ module Metadata
3855
+ extend SafetyKit::Internal::Type::Union
3856
+
3857
+ type union_member3 = String | Float | bool
3858
+
3859
+ module UnionMember3
3860
+ extend SafetyKit::Internal::Type::Union
3861
+
3862
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::Metadata::union_member3]
3863
+ end
3864
+
3865
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::UnionMember7::ModerationDecision::metadata]
3866
+
3867
+ UnionMember3Array: SafetyKit::Internal::Type::Converter
3868
+ end
3869
+
3870
+ type resources_used = { type: String, value: String }
3871
+
3872
+ class ResourcesUsed < SafetyKit::Internal::Type::BaseModel
3873
+ attr_accessor type: String
3874
+
3875
+ attr_accessor value: String
3876
+
3877
+ def initialize: (type: String, value: String) -> void
3878
+
3879
+ def to_hash: -> { type: String, value: String }
3880
+ end
3881
+ end
3882
+
3883
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::Body::union_member7]
3884
+ end
3885
+
3886
+ def self?.variants: -> ::Array[SafetyKit::Models::AsyncCreateAsyncParams::body]
3887
+
3888
+ UnionMember7Array: SafetyKit::Internal::Type::Converter
3889
+ end
3890
+ end
3891
+ end
3892
+ end