imagekitio 4.3.0 → 4.4.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +9 -2
  4. data/lib/imagekitio/internal/type/base_model.rb +5 -5
  5. data/lib/imagekitio/internal/util.rb +3 -1
  6. data/lib/imagekitio/models/ai_tag.rb +39 -0
  7. data/lib/imagekitio/models/beta/v2/file_upload_response.rb +9 -270
  8. data/lib/imagekitio/models/custom_metadata.rb +8 -0
  9. data/lib/imagekitio/models/embedded_metadata.rb +8 -0
  10. data/lib/imagekitio/models/file.rb +11 -275
  11. data/lib/imagekitio/models/file_create_event.rb +34 -0
  12. data/lib/imagekitio/models/file_delete_event.rb +44 -0
  13. data/lib/imagekitio/models/file_update_event.rb +34 -0
  14. data/lib/imagekitio/models/file_upload_response.rb +9 -267
  15. data/lib/imagekitio/models/file_version_create_event.rb +34 -0
  16. data/lib/imagekitio/models/file_version_delete_event.rb +52 -0
  17. data/lib/imagekitio/models/selected_fields_schema.rb +212 -0
  18. data/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +16 -1
  19. data/lib/imagekitio/models/unwrap_webhook_event.rb +16 -1
  20. data/lib/imagekitio/models/upload_pre_transform_success_event.rb +9 -285
  21. data/lib/imagekitio/models/version_info.rb +26 -0
  22. data/lib/imagekitio/models.rb +25 -0
  23. data/lib/imagekitio/resources/webhooks.rb +4 -3
  24. data/lib/imagekitio/version.rb +1 -1
  25. data/lib/imagekitio.rb +11 -1
  26. data/rbi/imagekitio/models/ai_tag.rbi +56 -0
  27. data/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +11 -535
  28. data/rbi/imagekitio/models/custom_metadata.rbi +11 -0
  29. data/rbi/imagekitio/models/embedded_metadata.rbi +11 -0
  30. data/rbi/imagekitio/models/file.rbi +15 -475
  31. data/rbi/imagekitio/models/file_create_event.rbi +53 -0
  32. data/rbi/imagekitio/models/file_delete_event.rbi +80 -0
  33. data/rbi/imagekitio/models/file_update_event.rbi +53 -0
  34. data/rbi/imagekitio/models/file_upload_response.rbi +11 -520
  35. data/rbi/imagekitio/models/file_version_create_event.rbi +56 -0
  36. data/rbi/imagekitio/models/file_version_delete_event.rbi +93 -0
  37. data/rbi/imagekitio/models/selected_fields_schema.rbi +364 -0
  38. data/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +6 -1
  39. data/rbi/imagekitio/models/unwrap_webhook_event.rbi +6 -1
  40. data/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +11 -533
  41. data/rbi/imagekitio/models/version_info.rbi +40 -0
  42. data/rbi/imagekitio/models.rbi +34 -0
  43. data/rbi/imagekitio/resources/webhooks.rbi +12 -2
  44. data/sig/imagekitio/models/ai_tag.rbs +27 -0
  45. data/sig/imagekitio/models/beta/v2/file_upload_response.rbs +30 -223
  46. data/sig/imagekitio/models/custom_metadata.rbs +7 -0
  47. data/sig/imagekitio/models/embedded_metadata.rbs +7 -0
  48. data/sig/imagekitio/models/file.rbs +29 -224
  49. data/sig/imagekitio/models/file_create_event.rbs +32 -0
  50. data/sig/imagekitio/models/file_delete_event.rbs +48 -0
  51. data/sig/imagekitio/models/file_update_event.rbs +32 -0
  52. data/sig/imagekitio/models/file_upload_response.rbs +29 -224
  53. data/sig/imagekitio/models/file_version_create_event.rbs +36 -0
  54. data/sig/imagekitio/models/file_version_delete_event.rbs +50 -0
  55. data/sig/imagekitio/models/selected_fields_schema.rbs +165 -0
  56. data/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +5 -0
  57. data/sig/imagekitio/models/unwrap_webhook_event.rbs +5 -0
  58. data/sig/imagekitio/models/upload_pre_transform_success_event.rbs +29 -224
  59. data/sig/imagekitio/models/version_info.rbs +19 -0
  60. data/sig/imagekitio/models.rbs +22 -0
  61. data/sig/imagekitio/resources/webhooks.rbs +12 -2
  62. metadata +32 -2
@@ -6,8 +6,9 @@ module Imagekitio
6
6
  OrHash =
7
7
  T.type_alias { T.any(Imagekitio::File, Imagekitio::Internal::AnyHash) }
8
8
 
9
- # An array of tags assigned to the file by auto tagging.
10
- sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) }
9
+ # Array of AI-generated tags associated with the image. If no AITags are set, it
10
+ # will be null.
11
+ sig { returns(T.nilable(T::Array[Imagekitio::AITag])) }
11
12
  attr_accessor :ai_tags
12
13
 
13
14
  # The audio codec used in the video (only for video/audio).
@@ -141,7 +142,7 @@ module Imagekitio
141
142
  # about the custom metadata schema.
142
143
  sig do
143
144
  returns(
144
- T.nilable(T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema])
145
+ T.nilable(T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem])
145
146
  )
146
147
  end
147
148
  attr_reader :selected_fields_schema
@@ -149,7 +150,7 @@ module Imagekitio
149
150
  sig do
150
151
  params(
151
152
  selected_fields_schema:
152
- T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash]
153
+ T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash]
153
154
  ).void
154
155
  end
155
156
  attr_writer :selected_fields_schema
@@ -197,10 +198,10 @@ module Imagekitio
197
198
  attr_writer :url
198
199
 
199
200
  # An object with details of the file version.
200
- sig { returns(T.nilable(Imagekitio::File::VersionInfo)) }
201
+ sig { returns(T.nilable(Imagekitio::VersionInfo)) }
201
202
  attr_reader :version_info
202
203
 
203
- sig { params(version_info: Imagekitio::File::VersionInfo::OrHash).void }
204
+ sig { params(version_info: Imagekitio::VersionInfo::OrHash).void }
204
205
  attr_writer :version_info
205
206
 
206
207
  # The video codec used in the video (only for video).
@@ -220,7 +221,7 @@ module Imagekitio
220
221
  # Object containing details of a file or file version.
221
222
  sig do
222
223
  params(
223
- ai_tags: T.nilable(T::Array[Imagekitio::File::AITag::OrHash]),
224
+ ai_tags: T.nilable(T::Array[Imagekitio::AITag::OrHash]),
224
225
  audio_codec: String,
225
226
  bit_rate: Integer,
226
227
  created_at: Time,
@@ -239,20 +240,21 @@ module Imagekitio
239
240
  mime: String,
240
241
  name: String,
241
242
  selected_fields_schema:
242
- T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash],
243
+ T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash],
243
244
  size: Float,
244
245
  tags: T.nilable(T::Array[String]),
245
246
  thumbnail: String,
246
247
  type: Imagekitio::File::Type::OrSymbol,
247
248
  updated_at: Time,
248
249
  url: String,
249
- version_info: Imagekitio::File::VersionInfo::OrHash,
250
+ version_info: Imagekitio::VersionInfo::OrHash,
250
251
  video_codec: String,
251
252
  width: Float
252
253
  ).returns(T.attached_class)
253
254
  end
254
255
  def self.new(
255
- # An array of tags assigned to the file by auto tagging.
256
+ # Array of AI-generated tags associated with the image. If no AITags are set, it
257
+ # will be null.
256
258
  ai_tags: nil,
257
259
  # The audio codec used in the video (only for video/audio).
258
260
  audio_codec: nil,
@@ -329,7 +331,7 @@ module Imagekitio
329
331
  sig do
330
332
  override.returns(
331
333
  {
332
- ai_tags: T.nilable(T::Array[Imagekitio::File::AITag]),
334
+ ai_tags: T.nilable(T::Array[Imagekitio::AITag]),
333
335
  audio_codec: String,
334
336
  bit_rate: Integer,
335
337
  created_at: Time,
@@ -348,14 +350,14 @@ module Imagekitio
348
350
  mime: String,
349
351
  name: String,
350
352
  selected_fields_schema:
351
- T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema],
353
+ T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem],
352
354
  size: Float,
353
355
  tags: T.nilable(T::Array[String]),
354
356
  thumbnail: String,
355
357
  type: Imagekitio::File::Type::TaggedSymbol,
356
358
  updated_at: Time,
357
359
  url: String,
358
- version_info: Imagekitio::File::VersionInfo,
360
+ version_info: Imagekitio::VersionInfo,
359
361
  video_codec: String,
360
362
  width: Float
361
363
  }
@@ -364,433 +366,6 @@ module Imagekitio
364
366
  def to_hash
365
367
  end
366
368
 
367
- class AITag < Imagekitio::Internal::Type::BaseModel
368
- OrHash =
369
- T.type_alias do
370
- T.any(Imagekitio::File::AITag, Imagekitio::Internal::AnyHash)
371
- end
372
-
373
- # Confidence score of the tag.
374
- sig { returns(T.nilable(Float)) }
375
- attr_reader :confidence
376
-
377
- sig { params(confidence: Float).void }
378
- attr_writer :confidence
379
-
380
- # Name of the tag.
381
- sig { returns(T.nilable(String)) }
382
- attr_reader :name
383
-
384
- sig { params(name: String).void }
385
- attr_writer :name
386
-
387
- # Source of the tag. Possible values are `google-auto-tagging` and
388
- # `aws-auto-tagging`.
389
- sig { returns(T.nilable(String)) }
390
- attr_reader :source
391
-
392
- sig { params(source: String).void }
393
- attr_writer :source
394
-
395
- sig do
396
- params(confidence: Float, name: String, source: String).returns(
397
- T.attached_class
398
- )
399
- end
400
- def self.new(
401
- # Confidence score of the tag.
402
- confidence: nil,
403
- # Name of the tag.
404
- name: nil,
405
- # Source of the tag. Possible values are `google-auto-tagging` and
406
- # `aws-auto-tagging`.
407
- source: nil
408
- )
409
- end
410
-
411
- sig do
412
- override.returns({ confidence: Float, name: String, source: String })
413
- end
414
- def to_hash
415
- end
416
- end
417
-
418
- class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel
419
- OrHash =
420
- T.type_alias do
421
- T.any(
422
- Imagekitio::File::SelectedFieldsSchema,
423
- Imagekitio::Internal::AnyHash
424
- )
425
- end
426
-
427
- # Type of the custom metadata field.
428
- sig do
429
- returns(Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol)
430
- end
431
- attr_accessor :type
432
-
433
- # The default value for this custom metadata field. The value should match the
434
- # `type` of custom metadata field.
435
- sig do
436
- returns(
437
- T.nilable(
438
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
439
- )
440
- )
441
- end
442
- attr_reader :default_value
443
-
444
- sig do
445
- params(
446
- default_value:
447
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
448
- ).void
449
- end
450
- attr_writer :default_value
451
-
452
- # Specifies if the custom metadata field is required or not.
453
- sig { returns(T.nilable(T::Boolean)) }
454
- attr_reader :is_value_required
455
-
456
- sig { params(is_value_required: T::Boolean).void }
457
- attr_writer :is_value_required
458
-
459
- # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
460
- sig { returns(T.nilable(Float)) }
461
- attr_reader :max_length
462
-
463
- sig { params(max_length: Float).void }
464
- attr_writer :max_length
465
-
466
- # Maximum value of the field. Only set if field type is `Date` or `Number`. For
467
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
468
- # field, it will be a numeric value.
469
- sig do
470
- returns(
471
- T.nilable(
472
- Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
473
- )
474
- )
475
- end
476
- attr_reader :max_value
477
-
478
- sig do
479
- params(
480
- max_value:
481
- Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
482
- ).void
483
- end
484
- attr_writer :max_value
485
-
486
- # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
487
- sig { returns(T.nilable(Float)) }
488
- attr_reader :min_length
489
-
490
- sig { params(min_length: Float).void }
491
- attr_writer :min_length
492
-
493
- # Minimum value of the field. Only set if field type is `Date` or `Number`. For
494
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
495
- # field, it will be a numeric value.
496
- sig do
497
- returns(
498
- T.nilable(
499
- Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
500
- )
501
- )
502
- end
503
- attr_reader :min_value
504
-
505
- sig do
506
- params(
507
- min_value:
508
- Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
509
- ).void
510
- end
511
- attr_writer :min_value
512
-
513
- # Indicates whether the custom metadata field is read only. A read only field
514
- # cannot be modified after being set. This field is configurable only via the
515
- # **Path policy** feature.
516
- sig { returns(T.nilable(T::Boolean)) }
517
- attr_reader :read_only
518
-
519
- sig { params(read_only: T::Boolean).void }
520
- attr_writer :read_only
521
-
522
- # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
523
- sig do
524
- returns(
525
- T.nilable(
526
- T::Array[
527
- Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
528
- ]
529
- )
530
- )
531
- end
532
- attr_reader :select_options
533
-
534
- sig do
535
- params(
536
- select_options:
537
- T::Array[
538
- Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
539
- ]
540
- ).void
541
- end
542
- attr_writer :select_options
543
-
544
- # Specifies if the selectOptions array is truncated. It is truncated when number
545
- # of options are > 100.
546
- sig { returns(T.nilable(T::Boolean)) }
547
- attr_reader :select_options_truncated
548
-
549
- sig { params(select_options_truncated: T::Boolean).void }
550
- attr_writer :select_options_truncated
551
-
552
- sig do
553
- params(
554
- type: Imagekitio::File::SelectedFieldsSchema::Type::OrSymbol,
555
- default_value:
556
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants,
557
- is_value_required: T::Boolean,
558
- max_length: Float,
559
- max_value:
560
- Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants,
561
- min_length: Float,
562
- min_value:
563
- Imagekitio::File::SelectedFieldsSchema::MinValue::Variants,
564
- read_only: T::Boolean,
565
- select_options:
566
- T::Array[
567
- Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
568
- ],
569
- select_options_truncated: T::Boolean
570
- ).returns(T.attached_class)
571
- end
572
- def self.new(
573
- # Type of the custom metadata field.
574
- type:,
575
- # The default value for this custom metadata field. The value should match the
576
- # `type` of custom metadata field.
577
- default_value: nil,
578
- # Specifies if the custom metadata field is required or not.
579
- is_value_required: nil,
580
- # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`.
581
- max_length: nil,
582
- # Maximum value of the field. Only set if field type is `Date` or `Number`. For
583
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
584
- # field, it will be a numeric value.
585
- max_value: nil,
586
- # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`.
587
- min_length: nil,
588
- # Minimum value of the field. Only set if field type is `Date` or `Number`. For
589
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
590
- # field, it will be a numeric value.
591
- min_value: nil,
592
- # Indicates whether the custom metadata field is read only. A read only field
593
- # cannot be modified after being set. This field is configurable only via the
594
- # **Path policy** feature.
595
- read_only: nil,
596
- # An array of allowed values when field type is `SingleSelect` or `MultiSelect`.
597
- select_options: nil,
598
- # Specifies if the selectOptions array is truncated. It is truncated when number
599
- # of options are > 100.
600
- select_options_truncated: nil
601
- )
602
- end
603
-
604
- sig do
605
- override.returns(
606
- {
607
- type: Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol,
608
- default_value:
609
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants,
610
- is_value_required: T::Boolean,
611
- max_length: Float,
612
- max_value:
613
- Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants,
614
- min_length: Float,
615
- min_value:
616
- Imagekitio::File::SelectedFieldsSchema::MinValue::Variants,
617
- read_only: T::Boolean,
618
- select_options:
619
- T::Array[
620
- Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
621
- ],
622
- select_options_truncated: T::Boolean
623
- }
624
- )
625
- end
626
- def to_hash
627
- end
628
-
629
- # Type of the custom metadata field.
630
- module Type
631
- extend Imagekitio::Internal::Type::Enum
632
-
633
- TaggedSymbol =
634
- T.type_alias do
635
- T.all(Symbol, Imagekitio::File::SelectedFieldsSchema::Type)
636
- end
637
- OrSymbol = T.type_alias { T.any(Symbol, String) }
638
-
639
- TEXT =
640
- T.let(
641
- :Text,
642
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
643
- )
644
- TEXTAREA =
645
- T.let(
646
- :Textarea,
647
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
648
- )
649
- NUMBER =
650
- T.let(
651
- :Number,
652
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
653
- )
654
- DATE =
655
- T.let(
656
- :Date,
657
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
658
- )
659
- BOOLEAN =
660
- T.let(
661
- :Boolean,
662
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
663
- )
664
- SINGLE_SELECT =
665
- T.let(
666
- :SingleSelect,
667
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
668
- )
669
- MULTI_SELECT =
670
- T.let(
671
- :MultiSelect,
672
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
673
- )
674
-
675
- sig do
676
- override.returns(
677
- T::Array[
678
- Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol
679
- ]
680
- )
681
- end
682
- def self.values
683
- end
684
- end
685
-
686
- # The default value for this custom metadata field. The value should match the
687
- # `type` of custom metadata field.
688
- module DefaultValue
689
- extend Imagekitio::Internal::Type::Union
690
-
691
- Variants =
692
- T.type_alias do
693
- T.any(
694
- String,
695
- Float,
696
- T::Boolean,
697
- T::Array[
698
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants
699
- ]
700
- )
701
- end
702
-
703
- module Mixed
704
- extend Imagekitio::Internal::Type::Union
705
-
706
- Variants = T.type_alias { T.any(String, Float, T::Boolean) }
707
-
708
- sig do
709
- override.returns(
710
- T::Array[
711
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants
712
- ]
713
- )
714
- end
715
- def self.variants
716
- end
717
- end
718
-
719
- sig do
720
- override.returns(
721
- T::Array[
722
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants
723
- ]
724
- )
725
- end
726
- def self.variants
727
- end
728
-
729
- MixedArray =
730
- T.let(
731
- Imagekitio::Internal::Type::ArrayOf[
732
- union:
733
- Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed
734
- ],
735
- Imagekitio::Internal::Type::Converter
736
- )
737
- end
738
-
739
- # Maximum value of the field. Only set if field type is `Date` or `Number`. For
740
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
741
- # field, it will be a numeric value.
742
- module MaxValue
743
- extend Imagekitio::Internal::Type::Union
744
-
745
- Variants = T.type_alias { T.any(String, Float) }
746
-
747
- sig do
748
- override.returns(
749
- T::Array[
750
- Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants
751
- ]
752
- )
753
- end
754
- def self.variants
755
- end
756
- end
757
-
758
- # Minimum value of the field. Only set if field type is `Date` or `Number`. For
759
- # `Date` type field, the value will be in ISO8601 string format. For `Number` type
760
- # field, it will be a numeric value.
761
- module MinValue
762
- extend Imagekitio::Internal::Type::Union
763
-
764
- Variants = T.type_alias { T.any(String, Float) }
765
-
766
- sig do
767
- override.returns(
768
- T::Array[
769
- Imagekitio::File::SelectedFieldsSchema::MinValue::Variants
770
- ]
771
- )
772
- end
773
- def self.variants
774
- end
775
- end
776
-
777
- module SelectOption
778
- extend Imagekitio::Internal::Type::Union
779
-
780
- Variants = T.type_alias { T.any(String, Float, T::Boolean) }
781
-
782
- sig do
783
- override.returns(
784
- T::Array[
785
- Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants
786
- ]
787
- )
788
- end
789
- def self.variants
790
- end
791
- end
792
- end
793
-
794
369
  # Type of the asset.
795
370
  module Type
796
371
  extend Imagekitio::Internal::Type::Enum
@@ -806,41 +381,6 @@ module Imagekitio
806
381
  def self.values
807
382
  end
808
383
  end
809
-
810
- class VersionInfo < Imagekitio::Internal::Type::BaseModel
811
- OrHash =
812
- T.type_alias do
813
- T.any(Imagekitio::File::VersionInfo, Imagekitio::Internal::AnyHash)
814
- end
815
-
816
- # Unique identifier of the file version.
817
- sig { returns(T.nilable(String)) }
818
- attr_reader :id
819
-
820
- sig { params(id: String).void }
821
- attr_writer :id
822
-
823
- # Name of the file version.
824
- sig { returns(T.nilable(String)) }
825
- attr_reader :name
826
-
827
- sig { params(name: String).void }
828
- attr_writer :name
829
-
830
- # An object with details of the file version.
831
- sig { params(id: String, name: String).returns(T.attached_class) }
832
- def self.new(
833
- # Unique identifier of the file version.
834
- id: nil,
835
- # Name of the file version.
836
- name: nil
837
- )
838
- end
839
-
840
- sig { override.returns({ id: String, name: String }) }
841
- def to_hash
842
- end
843
- end
844
384
  end
845
385
  end
846
386
  end
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class FileCreateEvent < Imagekitio::Models::BaseWebhookEvent
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::FileCreateEvent, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Timestamp of when the event occurred in ISO8601 format.
12
+ sig { returns(Time) }
13
+ attr_accessor :created_at
14
+
15
+ # Object containing details of a file or file version.
16
+ sig { returns(Imagekitio::File) }
17
+ attr_reader :data
18
+
19
+ sig { params(data: Imagekitio::File::OrHash).void }
20
+ attr_writer :data
21
+
22
+ # Type of the webhook event.
23
+ sig { returns(Symbol) }
24
+ attr_accessor :type
25
+
26
+ # Triggered when a file is created.
27
+ sig do
28
+ params(
29
+ created_at: Time,
30
+ data: Imagekitio::File::OrHash,
31
+ type: Symbol
32
+ ).returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+ # Timestamp of when the event occurred in ISO8601 format.
36
+ created_at:,
37
+ # Object containing details of a file or file version.
38
+ data:,
39
+ # Type of the webhook event.
40
+ type: :"file.created"
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ { created_at: Time, data: Imagekitio::File, type: Symbol }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module Imagekitio
4
+ module Models
5
+ class FileDeleteEvent < Imagekitio::Models::BaseWebhookEvent
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Imagekitio::FileDeleteEvent, Imagekitio::Internal::AnyHash)
9
+ end
10
+
11
+ # Timestamp of when the event occurred in ISO8601 format.
12
+ sig { returns(Time) }
13
+ attr_accessor :created_at
14
+
15
+ sig { returns(Imagekitio::FileDeleteEvent::Data) }
16
+ attr_reader :data
17
+
18
+ sig { params(data: Imagekitio::FileDeleteEvent::Data::OrHash).void }
19
+ attr_writer :data
20
+
21
+ # Type of the webhook event.
22
+ sig { returns(Symbol) }
23
+ attr_accessor :type
24
+
25
+ # Triggered when a file is deleted.
26
+ sig do
27
+ params(
28
+ created_at: Time,
29
+ data: Imagekitio::FileDeleteEvent::Data::OrHash,
30
+ type: Symbol
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ # Timestamp of when the event occurred in ISO8601 format.
35
+ created_at:,
36
+ data:,
37
+ # Type of the webhook event.
38
+ type: :"file.deleted"
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ created_at: Time,
46
+ data: Imagekitio::FileDeleteEvent::Data,
47
+ type: Symbol
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+
54
+ class Data < Imagekitio::Internal::Type::BaseModel
55
+ OrHash =
56
+ T.type_alias do
57
+ T.any(
58
+ Imagekitio::FileDeleteEvent::Data,
59
+ Imagekitio::Internal::AnyHash
60
+ )
61
+ end
62
+
63
+ # The unique `fileId` of the deleted file.
64
+ sig { returns(String) }
65
+ attr_accessor :file_id
66
+
67
+ sig { params(file_id: String).returns(T.attached_class) }
68
+ def self.new(
69
+ # The unique `fileId` of the deleted file.
70
+ file_id:
71
+ )
72
+ end
73
+
74
+ sig { override.returns({ file_id: String }) }
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end