From 5f02f3a700d92bdcba063ce82d64c82fc70d37f8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 20:03:39 +0000 Subject: [PATCH 01/17] fix: multipart encoding for file arrays --- lib/imagekitio/internal/util.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/imagekitio/internal/util.rb b/lib/imagekitio/internal/util.rb index 84dfdcd..ca4779f 100644 --- a/lib/imagekitio/internal/util.rb +++ b/lib/imagekitio/internal/util.rb @@ -610,6 +610,7 @@ def encode_query_params(query) # # @return [Array(String, Enumerable)] private def encode_multipart_streaming(body) + # rubocop:disable Style/CaseEquality # RFC 1521 Section 7.2.1 says we should have 70 char maximum for boundary length boundary = SecureRandom.urlsafe_base64(46) @@ -619,7 +620,7 @@ def encode_query_params(query) in Hash body.each do |key, val| case val - in Array if val.all? { primitive?(_1) } + in Array if val.all? { primitive?(_1) || Imagekitio::Internal::Type::FileInput === _1 } val.each do |v| write_multipart_chunk(y, boundary: boundary, key: key, val: v, closing: closing) end @@ -635,6 +636,7 @@ def encode_query_params(query) fused_io = fused_enum(strio) { closing.each(&:call) } [boundary, fused_io] + # rubocop:enable Style/CaseEquality end # @api private From d2ffbf33cabaddffbb97d4c7bc7e54be100a3c67 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 06:08:12 +0000 Subject: [PATCH 02/17] feat(api): dam related webhook events --- .stats.yml | 6 +- README.md | 10 +- lib/imagekitio.rb | 7 +- lib/imagekitio/client.rb | 10 - .../internal/transport/base_client.rb | 6 - lib/imagekitio/models.rb | 10 + .../models/dam_file_create_event.rb | 34 ++++ .../models/dam_file_delete_event.rb | 44 +++++ .../models/dam_file_update_event.rb | 34 ++++ .../models/dam_file_version_create_event.rb | 33 ++++ .../models/dam_file_version_delete_event.rb | 52 ++++++ lib/imagekitio/models/extension_config.rb | 15 +- lib/imagekitio/models/extensions.rb | 15 +- lib/imagekitio/models/overlay_position.rb | 104 +---------- .../models/unsafe_unwrap_webhook_event.rb | 17 +- lib/imagekitio/models/unwrap_webhook_event.rb | 17 +- lib/imagekitio/resources/webhooks.rb | 4 +- rbi/imagekitio/client.rbi | 5 - .../internal/transport/base_client.rbi | 5 - rbi/imagekitio/models.rbi | 10 + .../models/dam_file_create_event.rbi | 53 ++++++ .../models/dam_file_delete_event.rbi | 80 ++++++++ .../models/dam_file_update_event.rbi | 53 ++++++ .../models/dam_file_version_create_event.rbi | 47 +++++ .../models/dam_file_version_delete_event.rbi | 93 ++++++++++ rbi/imagekitio/models/extension_config.rbi | 22 +-- rbi/imagekitio/models/extensions.rbi | 22 +-- rbi/imagekitio/models/overlay_position.rbi | 174 +----------------- .../models/unsafe_unwrap_webhook_event.rbi | 7 +- .../models/unwrap_webhook_event.rbi | 7 +- rbi/imagekitio/resources/webhooks.rbi | 14 +- .../internal/transport/base_client.rbs | 2 - sig/imagekitio/models.rbs | 10 + .../models/dam_file_create_event.rbs | 32 ++++ .../models/dam_file_delete_event.rbs | 48 +++++ .../models/dam_file_update_event.rbs | 32 ++++ .../models/dam_file_version_create_event.rbs | 32 ++++ .../models/dam_file_version_delete_event.rbs | 50 +++++ sig/imagekitio/models/overlay_position.rbs | 76 +------- .../models/unsafe_unwrap_webhook_event.rbs | 5 + .../models/unwrap_webhook_event.rbs | 5 + sig/imagekitio/resources/webhooks.rbs | 14 +- test/imagekitio/client_test.rb | 105 ++--------- test/imagekitio/test_helper.rb | 6 +- 44 files changed, 896 insertions(+), 531 deletions(-) create mode 100644 lib/imagekitio/models/dam_file_create_event.rb create mode 100644 lib/imagekitio/models/dam_file_delete_event.rb create mode 100644 lib/imagekitio/models/dam_file_update_event.rb create mode 100644 lib/imagekitio/models/dam_file_version_create_event.rb create mode 100644 lib/imagekitio/models/dam_file_version_delete_event.rb create mode 100644 rbi/imagekitio/models/dam_file_create_event.rbi create mode 100644 rbi/imagekitio/models/dam_file_delete_event.rbi create mode 100644 rbi/imagekitio/models/dam_file_update_event.rbi create mode 100644 rbi/imagekitio/models/dam_file_version_create_event.rbi create mode 100644 rbi/imagekitio/models/dam_file_version_delete_event.rbi create mode 100644 sig/imagekitio/models/dam_file_create_event.rbs create mode 100644 sig/imagekitio/models/dam_file_delete_event.rbs create mode 100644 sig/imagekitio/models/dam_file_update_event.rbs create mode 100644 sig/imagekitio/models/dam_file_version_create_event.rbs create mode 100644 sig/imagekitio/models/dam_file_version_delete_event.rbs diff --git a/.stats.yml b/.stats.yml index df5aafb..3e331fe 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-63aff1629530786015da3c86131afa8a9b60545d488884b77641f1d4b89c6e9d.yml -openapi_spec_hash: 586d357bd7e5217d240a99e0d83c6d1f -config_hash: 47cb702ee2cb52c58d803ae39ade9b44 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-1422f7513f230162270b197061e5768c2e0c803b94b8cd03a5e72544ac75a27f.yml +openapi_spec_hash: 41175e752e6f6ce900b36aecba687fa7 +config_hash: 17e408231b0b01676298010c7405f483 diff --git a/README.md b/README.md index eb891d0..d78c80b 100644 --- a/README.md +++ b/README.md @@ -55,9 +55,7 @@ gem "imagekitio", "~> 4.3.0" ```ruby require "imagekitio" -image_kit = Imagekitio::Client.new( - private_key: ENV["IMAGEKIT_PRIVATE_KEY"], # This is the default and can be omitted -) +image_kit = Imagekitio::Client.new(private_key: "My Private Key") response = image_kit.files.upload( file: Pathname("/path/to/file"), @@ -573,7 +571,8 @@ You can use the `max_retries` option to configure or disable this: ```ruby # Configure the default for all requests: image_kit = Imagekitio::Client.new( - max_retries: 0 # default is 2 + max_retries: 0, # default is 2 + private_key: "My Private Key" ) # Or, configure per-request: @@ -591,7 +590,8 @@ By default, requests will time out after 60 seconds. You can use the timeout opt ```ruby # Configure the default for all requests: image_kit = Imagekitio::Client.new( - timeout: nil # default is 60 + timeout: nil, # default is 60 + private_key: "My Private Key" ) # Or, configure per-request: diff --git a/lib/imagekitio.rb b/lib/imagekitio.rb index 7302054..7517625 100644 --- a/lib/imagekitio.rb +++ b/lib/imagekitio.rb @@ -55,11 +55,11 @@ require_relative "imagekitio/client" require_relative "imagekitio/models/accounts/origin_request" require_relative "imagekitio/models/accounts/url_endpoint_request" +require_relative "imagekitio/models/base_webhook_event" require_relative "imagekitio/models/update_file_request" require_relative "imagekitio/models/file" require_relative "imagekitio/models/src_options" require_relative "imagekitio/models/base_overlay" -require_relative "imagekitio/models/base_webhook_event" require_relative "imagekitio/models/accounts/origin_create_params" require_relative "imagekitio/models/accounts/origin_delete_params" require_relative "imagekitio/models/accounts/origin_get_params" @@ -91,6 +91,11 @@ require_relative "imagekitio/models/custom_metadata_field_list_params" require_relative "imagekitio/models/custom_metadata_field_list_response" require_relative "imagekitio/models/custom_metadata_field_update_params" +require_relative "imagekitio/models/dam_file_create_event" +require_relative "imagekitio/models/dam_file_delete_event" +require_relative "imagekitio/models/dam_file_update_event" +require_relative "imagekitio/models/dam_file_version_create_event" +require_relative "imagekitio/models/dam_file_version_delete_event" require_relative "imagekitio/models/extension_config" require_relative "imagekitio/models/extensions" require_relative "imagekitio/models/file_copy_params" diff --git a/lib/imagekitio/client.rb b/lib/imagekitio/client.rb index dc6d989..529514c 100644 --- a/lib/imagekitio/client.rb +++ b/lib/imagekitio/client.rb @@ -62,16 +62,6 @@ class Client < Imagekitio::Internal::Transport::BaseClient # @return [Imagekitio::Helper] attr_reader :helper - # @api private - # - # @return [Hash{String=>String}] - private def auth_headers - return {} if @private_key.nil? || @password.nil? - - base64_credentials = ["#{@private_key}:#{@password}"].pack("m0") - {"authorization" => "Basic #{base64_credentials}"} - end - # @api private # # @return [Boolean] diff --git a/lib/imagekitio/internal/transport/base_client.rb b/lib/imagekitio/internal/transport/base_client.rb index e9c0aea..6e9e2f7 100644 --- a/lib/imagekitio/internal/transport/base_client.rb +++ b/lib/imagekitio/internal/transport/base_client.rb @@ -215,11 +215,6 @@ def initialize( @max_retry_delay = max_retry_delay end - # @api private - # - # @return [Hash{String=>String}] - private def auth_headers = {} - # @api private # # @return [String] @@ -276,7 +271,6 @@ def initialize( headers = Imagekitio::Internal::Util.normalized_headers( @headers, - auth_headers, req[:headers].to_h, opts[:extra_headers].to_h ) diff --git a/lib/imagekitio/models.rb b/lib/imagekitio/models.rb index bc8f57a..f856e68 100644 --- a/lib/imagekitio/models.rb +++ b/lib/imagekitio/models.rb @@ -61,6 +61,16 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent + + DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent + + DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent + + DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent + + DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent + ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem diff --git a/lib/imagekitio/models/dam_file_create_event.rb b/lib/imagekitio/models/dam_file_create_event.rb new file mode 100644 index 0000000..ecc93ab --- /dev/null +++ b/lib/imagekitio/models/dam_file_create_event.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + # @!attribute created_at + # Timestamp of when the event occurred in ISO8601 format. + # + # @return [Time] + required :created_at, Time + + # @!attribute data + # Object containing details of a file or file version. + # + # @return [Imagekitio::Models::File] + required :data, -> { Imagekitio::File } + + # @!attribute type + # Type of the webhook event. + # + # @return [Symbol, :"file.created"] + required :type, const: :"file.created" + + # @!method initialize(created_at:, data:, type: :"file.created") + # Triggered when a file is created. + # + # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. + # + # @param data [Imagekitio::Models::File] Object containing details of a file or file version. + # + # @param type [Symbol, :"file.created"] Type of the webhook event. + end + end +end diff --git a/lib/imagekitio/models/dam_file_delete_event.rb b/lib/imagekitio/models/dam_file_delete_event.rb new file mode 100644 index 0000000..2b05474 --- /dev/null +++ b/lib/imagekitio/models/dam_file_delete_event.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + # @!attribute created_at + # Timestamp of when the event occurred in ISO8601 format. + # + # @return [Time] + required :created_at, Time + + # @!attribute data + # + # @return [Imagekitio::Models::DamFileDeleteEvent::Data] + required :data, -> { Imagekitio::DamFileDeleteEvent::Data } + + # @!attribute type + # Type of the webhook event. + # + # @return [Symbol, :"file.deleted"] + required :type, const: :"file.deleted" + + # @!method initialize(created_at:, data:, type: :"file.deleted") + # Triggered when a file is deleted. + # + # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. + # + # @param data [Imagekitio::Models::DamFileDeleteEvent::Data] + # + # @param type [Symbol, :"file.deleted"] Type of the webhook event. + + class Data < Imagekitio::Internal::Type::BaseModel + # @!attribute file_id + # The unique `fileId` of the deleted file. + # + # @return [String] + required :file_id, String, api_name: :fileId + + # @!method initialize(file_id:) + # @param file_id [String] The unique `fileId` of the deleted file. + end + end + end +end diff --git a/lib/imagekitio/models/dam_file_update_event.rb b/lib/imagekitio/models/dam_file_update_event.rb new file mode 100644 index 0000000..6e60e04 --- /dev/null +++ b/lib/imagekitio/models/dam_file_update_event.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + # @!attribute created_at + # Timestamp of when the event occurred in ISO8601 format. + # + # @return [Time] + required :created_at, Time + + # @!attribute data + # Object containing details of a file or file version. + # + # @return [Imagekitio::Models::File] + required :data, -> { Imagekitio::File } + + # @!attribute type + # Type of the webhook event. + # + # @return [Symbol, :"file.updated"] + required :type, const: :"file.updated" + + # @!method initialize(created_at:, data:, type: :"file.updated") + # Triggered when a file is updated. + # + # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. + # + # @param data [Imagekitio::Models::File] Object containing details of a file or file version. + # + # @param type [Symbol, :"file.updated"] Type of the webhook event. + end + end +end diff --git a/lib/imagekitio/models/dam_file_version_create_event.rb b/lib/imagekitio/models/dam_file_version_create_event.rb new file mode 100644 index 0000000..3d3f9c8 --- /dev/null +++ b/lib/imagekitio/models/dam_file_version_create_event.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + # @!attribute created_at + # Timestamp of when the event occurred in ISO8601 format. + # + # @return [Time] + required :created_at, Time + + # @!attribute data + # + # @return [Object] + required :data, Imagekitio::Internal::Type::Unknown + + # @!attribute type + # Type of the webhook event. + # + # @return [Symbol, :"file-version.created"] + required :type, const: :"file-version.created" + + # @!method initialize(created_at:, data:, type: :"file-version.created") + # Triggered when a file version is created. + # + # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. + # + # @param data [Object] + # + # @param type [Symbol, :"file-version.created"] Type of the webhook event. + end + end +end diff --git a/lib/imagekitio/models/dam_file_version_delete_event.rb b/lib/imagekitio/models/dam_file_version_delete_event.rb new file mode 100644 index 0000000..3caa015 --- /dev/null +++ b/lib/imagekitio/models/dam_file_version_delete_event.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + # @!attribute created_at + # Timestamp of when the event occurred in ISO8601 format. + # + # @return [Time] + required :created_at, Time + + # @!attribute data + # + # @return [Imagekitio::Models::DamFileVersionDeleteEvent::Data] + required :data, -> { Imagekitio::DamFileVersionDeleteEvent::Data } + + # @!attribute type + # Type of the webhook event. + # + # @return [Symbol, :"file-version.deleted"] + required :type, const: :"file-version.deleted" + + # @!method initialize(created_at:, data:, type: :"file-version.deleted") + # Triggered when a file version is deleted. + # + # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. + # + # @param data [Imagekitio::Models::DamFileVersionDeleteEvent::Data] + # + # @param type [Symbol, :"file-version.deleted"] Type of the webhook event. + + class Data < Imagekitio::Internal::Type::BaseModel + # @!attribute file_id + # The unique `fileId` of the deleted file. + # + # @return [String] + required :file_id, String, api_name: :fileId + + # @!attribute version_id + # The unique `versionId` of the deleted file version. + # + # @return [String] + required :version_id, String, api_name: :versionId + + # @!method initialize(file_id:, version_id:) + # @param file_id [String] The unique `fileId` of the deleted file. + # + # @param version_id [String] The unique `versionId` of the deleted file version. + end + end + end +end diff --git a/lib/imagekitio/models/extension_config.rb b/lib/imagekitio/models/extension_config.rb index 8037b1f..a8e7f03 100644 --- a/lib/imagekitio/models/extension_config.rb +++ b/lib/imagekitio/models/extension_config.rb @@ -186,10 +186,8 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. # # @return [Array, nil] optional :vocabulary, Imagekitio::Internal::Type::ArrayOf[String] @@ -205,7 +203,7 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of tags to select from the vocabulary. # - # @param vocabulary [Array] Array of possible tag values. The combined length of all strings must not exceed + # @param vocabulary [Array] Array of possible tag values. Combined length of all strings must not exceed 500 # # @param type [Symbol, :select_tags] Task type that analyzes the image and adds matching tags from a vocabulary. end @@ -243,10 +241,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. # # @return [Array, nil] optional :vocabulary, @@ -265,7 +260,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of values to select from the vocabulary. # - # @param vocabulary [Array] An array of possible values matching the custom metadata field type. If not prov + # @param vocabulary [Array] Array of possible values matching the custom metadata field type. # # @param type [Symbol, :select_metadata] Task type that analyzes the image and sets a custom metadata field value from a diff --git a/lib/imagekitio/models/extensions.rb b/lib/imagekitio/models/extensions.rb index 3de6e8c..387fe33 100644 --- a/lib/imagekitio/models/extensions.rb +++ b/lib/imagekitio/models/extensions.rb @@ -186,10 +186,8 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. # # @return [Array, nil] optional :vocabulary, Imagekitio::Internal::Type::ArrayOf[String] @@ -204,7 +202,7 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of tags to select from the vocabulary. # - # @param vocabulary [Array] Array of possible tag values. The combined length of all strings must not exceed + # @param vocabulary [Array] Array of possible tag values. Combined length of all strings must not exceed 500 # # @param type [Symbol, :select_tags] Task type that analyzes the image and adds matching tags from a vocabulary. end @@ -242,10 +240,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. # # @return [Array, nil] optional :vocabulary, @@ -264,7 +259,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of values to select from the vocabulary. # - # @param vocabulary [Array] An array of possible values matching the custom metadata field type. If not prov + # @param vocabulary [Array] Array of possible values matching the custom metadata field type. # # @param type [Symbol, :select_metadata] Task type that analyzes the image and sets a custom metadata field value from a diff --git a/lib/imagekitio/models/overlay_position.rb b/lib/imagekitio/models/overlay_position.rb index 34a419a..88dfd81 100644 --- a/lib/imagekitio/models/overlay_position.rb +++ b/lib/imagekitio/models/overlay_position.rb @@ -3,18 +3,9 @@ module Imagekitio module Models class OverlayPosition < Imagekitio::Internal::Type::BaseModel - # @!attribute anchor_point - # Sets the anchor point on the base asset from which the overlay offset is - # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only - # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. - # - # @return [Symbol, Imagekitio::Models::OverlayPosition::AnchorPoint, nil] - optional :anchor_point, enum: -> { Imagekitio::OverlayPosition::AnchorPoint }, api_name: :anchorPoint - # @!attribute focus - # Specifies the position of the overlay relative to the parent image or video. If - # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this - # parameter is ignored. Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. + # Maps to `lfo` in the URL. # # @return [Symbol, Imagekitio::Models::OverlayPosition::Focus, nil] optional :focus, enum: -> { Imagekitio::OverlayPosition::Focus } @@ -29,16 +20,6 @@ class OverlayPosition < Imagekitio::Internal::Type::BaseModel # @return [Float, String, nil] optional :x, union: -> { Imagekitio::OverlayPosition::X } - # @!attribute x_center - # Specifies the x-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or - # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can - # be used with `y`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - # - # @return [Float, String, nil] - optional :x_center, union: -> { Imagekitio::OverlayPosition::XCenter }, api_name: :xCenter - # @!attribute y_ # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic @@ -49,57 +30,18 @@ class OverlayPosition < Imagekitio::Internal::Type::BaseModel # @return [Float, String, nil] optional :y_, union: -> { Imagekitio::OverlayPosition::Y }, api_name: :y - # @!attribute y_center - # Specifies the y-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or - # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can - # be used with `x`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - # - # @return [Float, String, nil] - optional :y_center, union: -> { Imagekitio::OverlayPosition::YCenter }, api_name: :yCenter - - # @!method initialize(anchor_point: nil, focus: nil, x: nil, x_center: nil, y_: nil, y_center: nil) + # @!method initialize(focus: nil, x: nil, y_: nil) # Some parameter documentations has been truncated, see # {Imagekitio::Models::OverlayPosition} for more details. # - # @param anchor_point [Symbol, Imagekitio::Models::OverlayPosition::AnchorPoint] Sets the anchor point on the base asset from which the overlay offset is calcula - # # @param focus [Symbol, Imagekitio::Models::OverlayPosition::Focus] Specifies the position of the overlay relative to the parent image or video. # # @param x [Float, String] Specifies the x-coordinate of the top-left corner of the base asset where the ov # - # @param x_center [Float, String] Specifies the x-coordinate on the base asset where the overlay's center will be - # # @param y_ [Float, String] Specifies the y-coordinate of the top-left corner of the base asset where the ov - # - # @param y_center [Float, String] Specifies the y-coordinate on the base asset where the overlay's center will be - - # Sets the anchor point on the base asset from which the overlay offset is - # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only - # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. - # - # @see Imagekitio::Models::OverlayPosition#anchor_point - module AnchorPoint - extend Imagekitio::Internal::Type::Enum - - TOP = :top - LEFT = :left - RIGHT = :right - BOTTOM = :bottom - TOP_LEFT = :top_left - TOP_RIGHT = :top_right - BOTTOM_LEFT = :bottom_left - BOTTOM_RIGHT = :bottom_right - CENTER = :center - - # @!method self.values - # @return [Array] - end - # Specifies the position of the overlay relative to the parent image or video. If - # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this - # parameter is ignored. Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. + # Maps to `lfo` in the URL. # # @see Imagekitio::Models::OverlayPosition#focus module Focus @@ -137,24 +79,6 @@ module X # @return [Array(Float, String)] end - # Specifies the x-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or - # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can - # be used with `y`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - # - # @see Imagekitio::Models::OverlayPosition#x_center - module XCenter - extend Imagekitio::Internal::Type::Union - - variant Float - - variant String - - # @!method self.variants - # @return [Array(Float, String)] - end - # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -172,24 +96,6 @@ module Y # @!method self.variants # @return [Array(Float, String)] end - - # Specifies the y-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or - # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can - # be used with `x`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - # - # @see Imagekitio::Models::OverlayPosition#y_center - module YCenter - extend Imagekitio::Internal::Type::Union - - variant Float - - variant String - - # @!method self.variants - # @return [Array(Float, String)] - end end end end diff --git a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb index 11c26bf..dfad3e5 100644 --- a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb @@ -31,8 +31,23 @@ module UnsafeUnwrapWebhookEvent # Triggered when a post-transformation fails. The original file remains available, but the requested transformation could not be generated. variant -> { Imagekitio::UploadPostTransformErrorEvent } + # Triggered when a file is created. + variant -> { Imagekitio::DamFileCreateEvent } + + # Triggered when a file is updated. + variant -> { Imagekitio::DamFileUpdateEvent } + + # Triggered when a file is deleted. + variant -> { Imagekitio::DamFileDeleteEvent } + + # Triggered when a file version is created. + variant -> { Imagekitio::DamFileVersionCreateEvent } + + # Triggered when a file version is deleted. + variant -> { Imagekitio::DamFileVersionDeleteEvent } + # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent)] end end end diff --git a/lib/imagekitio/models/unwrap_webhook_event.rb b/lib/imagekitio/models/unwrap_webhook_event.rb index c9f71bc..b42c6ff 100644 --- a/lib/imagekitio/models/unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unwrap_webhook_event.rb @@ -31,8 +31,23 @@ module UnwrapWebhookEvent # Triggered when a post-transformation fails. The original file remains available, but the requested transformation could not be generated. variant -> { Imagekitio::UploadPostTransformErrorEvent } + # Triggered when a file is created. + variant -> { Imagekitio::DamFileCreateEvent } + + # Triggered when a file is updated. + variant -> { Imagekitio::DamFileUpdateEvent } + + # Triggered when a file is deleted. + variant -> { Imagekitio::DamFileDeleteEvent } + + # Triggered when a file version is created. + variant -> { Imagekitio::DamFileVersionCreateEvent } + + # Triggered when a file version is deleted. + variant -> { Imagekitio::DamFileVersionDeleteEvent } + # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent)] end end end diff --git a/lib/imagekitio/resources/webhooks.rb b/lib/imagekitio/resources/webhooks.rb index b00673f..183277a 100644 --- a/lib/imagekitio/resources/webhooks.rb +++ b/lib/imagekitio/resources/webhooks.rb @@ -5,7 +5,7 @@ module Resources class Webhooks # @param payload [String] The raw webhook payload as a string # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent] def unsafe_unwrap(payload) parsed = JSON.parse(payload, symbolize_names: true) Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnsafeUnwrapWebhookEvent, parsed) @@ -17,7 +17,7 @@ def unsafe_unwrap(payload) # # @param key [String, nil] The webhook signing key # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent] def unwrap(payload, headers:, key: @client.webhook_secret) if key.nil? raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument") diff --git a/rbi/imagekitio/client.rbi b/rbi/imagekitio/client.rbi index a0e151f..4075d78 100644 --- a/rbi/imagekitio/client.rbi +++ b/rbi/imagekitio/client.rbi @@ -57,11 +57,6 @@ module Imagekitio sig { returns(Imagekitio::Helper) } attr_reader :helper - # @api private - sig { override.returns(T::Hash[String, String]) } - private def auth_headers - end - # @api private sig { returns(T::Boolean) } def base_url_overridden? diff --git a/rbi/imagekitio/internal/transport/base_client.rbi b/rbi/imagekitio/internal/transport/base_client.rbi index 1c48424..4cfb057 100644 --- a/rbi/imagekitio/internal/transport/base_client.rbi +++ b/rbi/imagekitio/internal/transport/base_client.rbi @@ -173,11 +173,6 @@ module Imagekitio ) end - # @api private - sig { overridable.returns(T::Hash[String, String]) } - private def auth_headers - end - # @api private sig { returns(String) } private def user_agent diff --git a/rbi/imagekitio/models.rbi b/rbi/imagekitio/models.rbi index 0d06104..ce9fca7 100644 --- a/rbi/imagekitio/models.rbi +++ b/rbi/imagekitio/models.rbi @@ -27,6 +27,16 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent + + DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent + + DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent + + DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent + + DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent + ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem diff --git a/rbi/imagekitio/models/dam_file_create_event.rbi b/rbi/imagekitio/models/dam_file_create_event.rbi new file mode 100644 index 0000000..d76cf51 --- /dev/null +++ b/rbi/imagekitio/models/dam_file_create_event.rbi @@ -0,0 +1,53 @@ +# typed: strong + +module Imagekitio + module Models + class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + OrHash = + T.type_alias do + T.any(Imagekitio::DamFileCreateEvent, Imagekitio::Internal::AnyHash) + end + + # Timestamp of when the event occurred in ISO8601 format. + sig { returns(Time) } + attr_accessor :created_at + + # Object containing details of a file or file version. + sig { returns(Imagekitio::File) } + attr_reader :data + + sig { params(data: Imagekitio::File::OrHash).void } + attr_writer :data + + # Type of the webhook event. + sig { returns(Symbol) } + attr_accessor :type + + # Triggered when a file is created. + sig do + params( + created_at: Time, + data: Imagekitio::File::OrHash, + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # Timestamp of when the event occurred in ISO8601 format. + created_at:, + # Object containing details of a file or file version. + data:, + # Type of the webhook event. + type: :"file.created" + ) + end + + sig do + override.returns( + { created_at: Time, data: Imagekitio::File, type: Symbol } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/imagekitio/models/dam_file_delete_event.rbi b/rbi/imagekitio/models/dam_file_delete_event.rbi new file mode 100644 index 0000000..125eeaf --- /dev/null +++ b/rbi/imagekitio/models/dam_file_delete_event.rbi @@ -0,0 +1,80 @@ +# typed: strong + +module Imagekitio + module Models + class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + OrHash = + T.type_alias do + T.any(Imagekitio::DamFileDeleteEvent, Imagekitio::Internal::AnyHash) + end + + # Timestamp of when the event occurred in ISO8601 format. + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(Imagekitio::DamFileDeleteEvent::Data) } + attr_reader :data + + sig { params(data: Imagekitio::DamFileDeleteEvent::Data::OrHash).void } + attr_writer :data + + # Type of the webhook event. + sig { returns(Symbol) } + attr_accessor :type + + # Triggered when a file is deleted. + sig do + params( + created_at: Time, + data: Imagekitio::DamFileDeleteEvent::Data::OrHash, + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # Timestamp of when the event occurred in ISO8601 format. + created_at:, + data:, + # Type of the webhook event. + type: :"file.deleted" + ) + end + + sig do + override.returns( + { + created_at: Time, + data: Imagekitio::DamFileDeleteEvent::Data, + type: Symbol + } + ) + end + def to_hash + end + + class Data < Imagekitio::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Imagekitio::DamFileDeleteEvent::Data, + Imagekitio::Internal::AnyHash + ) + end + + # The unique `fileId` of the deleted file. + sig { returns(String) } + attr_accessor :file_id + + sig { params(file_id: String).returns(T.attached_class) } + def self.new( + # The unique `fileId` of the deleted file. + file_id: + ) + end + + sig { override.returns({ file_id: String }) } + def to_hash + end + end + end + end +end diff --git a/rbi/imagekitio/models/dam_file_update_event.rbi b/rbi/imagekitio/models/dam_file_update_event.rbi new file mode 100644 index 0000000..298d652 --- /dev/null +++ b/rbi/imagekitio/models/dam_file_update_event.rbi @@ -0,0 +1,53 @@ +# typed: strong + +module Imagekitio + module Models + class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + OrHash = + T.type_alias do + T.any(Imagekitio::DamFileUpdateEvent, Imagekitio::Internal::AnyHash) + end + + # Timestamp of when the event occurred in ISO8601 format. + sig { returns(Time) } + attr_accessor :created_at + + # Object containing details of a file or file version. + sig { returns(Imagekitio::File) } + attr_reader :data + + sig { params(data: Imagekitio::File::OrHash).void } + attr_writer :data + + # Type of the webhook event. + sig { returns(Symbol) } + attr_accessor :type + + # Triggered when a file is updated. + sig do + params( + created_at: Time, + data: Imagekitio::File::OrHash, + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # Timestamp of when the event occurred in ISO8601 format. + created_at:, + # Object containing details of a file or file version. + data:, + # Type of the webhook event. + type: :"file.updated" + ) + end + + sig do + override.returns( + { created_at: Time, data: Imagekitio::File, type: Symbol } + ) + end + def to_hash + end + end + end +end diff --git a/rbi/imagekitio/models/dam_file_version_create_event.rbi b/rbi/imagekitio/models/dam_file_version_create_event.rbi new file mode 100644 index 0000000..6299e38 --- /dev/null +++ b/rbi/imagekitio/models/dam_file_version_create_event.rbi @@ -0,0 +1,47 @@ +# typed: strong + +module Imagekitio + module Models + class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + OrHash = + T.type_alias do + T.any( + Imagekitio::DamFileVersionCreateEvent, + Imagekitio::Internal::AnyHash + ) + end + + # Timestamp of when the event occurred in ISO8601 format. + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(T.anything) } + attr_accessor :data + + # Type of the webhook event. + sig { returns(Symbol) } + attr_accessor :type + + # Triggered when a file version is created. + sig do + params(created_at: Time, data: T.anything, type: Symbol).returns( + T.attached_class + ) + end + def self.new( + # Timestamp of when the event occurred in ISO8601 format. + created_at:, + data:, + # Type of the webhook event. + type: :"file-version.created" + ) + end + + sig do + override.returns({ created_at: Time, data: T.anything, type: Symbol }) + end + def to_hash + end + end + end +end diff --git a/rbi/imagekitio/models/dam_file_version_delete_event.rbi b/rbi/imagekitio/models/dam_file_version_delete_event.rbi new file mode 100644 index 0000000..4f533ac --- /dev/null +++ b/rbi/imagekitio/models/dam_file_version_delete_event.rbi @@ -0,0 +1,93 @@ +# typed: strong + +module Imagekitio + module Models + class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + OrHash = + T.type_alias do + T.any( + Imagekitio::DamFileVersionDeleteEvent, + Imagekitio::Internal::AnyHash + ) + end + + # Timestamp of when the event occurred in ISO8601 format. + sig { returns(Time) } + attr_accessor :created_at + + sig { returns(Imagekitio::DamFileVersionDeleteEvent::Data) } + attr_reader :data + + sig do + params(data: Imagekitio::DamFileVersionDeleteEvent::Data::OrHash).void + end + attr_writer :data + + # Type of the webhook event. + sig { returns(Symbol) } + attr_accessor :type + + # Triggered when a file version is deleted. + sig do + params( + created_at: Time, + data: Imagekitio::DamFileVersionDeleteEvent::Data::OrHash, + type: Symbol + ).returns(T.attached_class) + end + def self.new( + # Timestamp of when the event occurred in ISO8601 format. + created_at:, + data:, + # Type of the webhook event. + type: :"file-version.deleted" + ) + end + + sig do + override.returns( + { + created_at: Time, + data: Imagekitio::DamFileVersionDeleteEvent::Data, + type: Symbol + } + ) + end + def to_hash + end + + class Data < Imagekitio::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Imagekitio::DamFileVersionDeleteEvent::Data, + Imagekitio::Internal::AnyHash + ) + end + + # The unique `fileId` of the deleted file. + sig { returns(String) } + attr_accessor :file_id + + # The unique `versionId` of the deleted file version. + sig { returns(String) } + attr_accessor :version_id + + sig do + params(file_id: String, version_id: String).returns(T.attached_class) + end + def self.new( + # The unique `fileId` of the deleted file. + file_id:, + # The unique `versionId` of the deleted file version. + version_id: + ) + end + + sig { override.returns({ file_id: String, version_id: String }) } + def to_hash + end + end + end + end +end diff --git a/rbi/imagekitio/models/extension_config.rbi b/rbi/imagekitio/models/extension_config.rbi index d3918dd..3b5a3b5 100644 --- a/rbi/imagekitio/models/extension_config.rbi +++ b/rbi/imagekitio/models/extension_config.rbi @@ -374,10 +374,8 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. sig { returns(T.nilable(T::Array[String])) } attr_reader :vocabulary @@ -400,10 +398,8 @@ module Imagekitio max_selections: nil, # Minimum number of tags to select from the vocabulary. min_selections: nil, - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. vocabulary: nil, # Task type that analyzes the image and adds matching tags from a vocabulary. type: :select_tags @@ -461,10 +457,7 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. sig do returns( T.nilable( @@ -508,10 +501,7 @@ module Imagekitio max_selections: nil, # Minimum number of values to select from the vocabulary. min_selections: nil, - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. vocabulary: nil, # Task type that analyzes the image and sets a custom metadata field value from a # vocabulary. diff --git a/rbi/imagekitio/models/extensions.rbi b/rbi/imagekitio/models/extensions.rbi index c9e0afc..bc56a55 100644 --- a/rbi/imagekitio/models/extensions.rbi +++ b/rbi/imagekitio/models/extensions.rbi @@ -371,10 +371,8 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. sig { returns(T.nilable(T::Array[String])) } attr_reader :vocabulary @@ -397,10 +395,8 @@ module Imagekitio max_selections: nil, # Minimum number of tags to select from the vocabulary. min_selections: nil, - # Array of possible tag values. The combined length of all strings must not exceed - # 500 characters, and values cannot include the `%` character. When providing - # large vocabularies (more than 30 items), the AI may not follow the list - # strictly. + # Array of possible tag values. Combined length of all strings must not exceed 500 + # characters. Cannot contain the `%` character. vocabulary: nil, # Task type that analyzes the image and adds matching tags from a vocabulary. type: :select_tags @@ -458,10 +454,7 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. sig do returns( T.nilable( @@ -505,10 +498,7 @@ module Imagekitio max_selections: nil, # Minimum number of values to select from the vocabulary. min_selections: nil, - # An array of possible values matching the custom metadata field type. If not - # provided for SingleSelect or MultiSelect field types, all values from the custom - # metadata field definition will be used. When providing large vocabularies (above - # 30 items), the AI may not strictly adhere to the list. + # Array of possible values matching the custom metadata field type. vocabulary: nil, # Task type that analyzes the image and sets a custom metadata field value from a # vocabulary. diff --git a/rbi/imagekitio/models/overlay_position.rbi b/rbi/imagekitio/models/overlay_position.rbi index ad0a6d8..9897e1e 100644 --- a/rbi/imagekitio/models/overlay_position.rbi +++ b/rbi/imagekitio/models/overlay_position.rbi @@ -8,24 +8,8 @@ module Imagekitio T.any(Imagekitio::OverlayPosition, Imagekitio::Internal::AnyHash) end - # Sets the anchor point on the base asset from which the overlay offset is - # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only - # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. - sig do - returns(T.nilable(Imagekitio::OverlayPosition::AnchorPoint::OrSymbol)) - end - attr_reader :anchor_point - - sig do - params( - anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol - ).void - end - attr_writer :anchor_point - - # Specifies the position of the overlay relative to the parent image or video. If - # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this - # parameter is ignored. Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. + # Maps to `lfo` in the URL. sig { returns(T.nilable(Imagekitio::OverlayPosition::Focus::OrSymbol)) } attr_reader :focus @@ -43,19 +27,6 @@ module Imagekitio sig { params(x: Imagekitio::OverlayPosition::X::Variants).void } attr_writer :x - # Specifies the x-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or - # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can - # be used with `y`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - sig { returns(T.nilable(Imagekitio::OverlayPosition::XCenter::Variants)) } - attr_reader :x_center - - sig do - params(x_center: Imagekitio::OverlayPosition::XCenter::Variants).void - end - attr_writer :x_center - # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -67,37 +38,16 @@ module Imagekitio sig { params(y_: Imagekitio::OverlayPosition::Y::Variants).void } attr_writer :y_ - # Specifies the y-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or - # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can - # be used with `x`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - sig { returns(T.nilable(Imagekitio::OverlayPosition::YCenter::Variants)) } - attr_reader :y_center - - sig do - params(y_center: Imagekitio::OverlayPosition::YCenter::Variants).void - end - attr_writer :y_center - sig do params( - anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol, focus: Imagekitio::OverlayPosition::Focus::OrSymbol, x: Imagekitio::OverlayPosition::X::Variants, - x_center: Imagekitio::OverlayPosition::XCenter::Variants, - y_: Imagekitio::OverlayPosition::Y::Variants, - y_center: Imagekitio::OverlayPosition::YCenter::Variants + y_: Imagekitio::OverlayPosition::Y::Variants ).returns(T.attached_class) end def self.new( - # Sets the anchor point on the base asset from which the overlay offset is - # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only - # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. - anchor_point: nil, - # Specifies the position of the overlay relative to the parent image or video. If - # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this - # parameter is ignored. Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. + # Maps to `lfo` in the URL. focus: nil, # Specifies the x-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic @@ -105,97 +55,29 @@ module Imagekitio # about # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). x: nil, - # Specifies the x-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or - # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can - # be used with `y`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - x_center: nil, # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn # about # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - y_: nil, - # Specifies the y-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or - # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can - # be used with `x`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - y_center: nil + y_: nil ) end sig do override.returns( { - anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol, focus: Imagekitio::OverlayPosition::Focus::OrSymbol, x: Imagekitio::OverlayPosition::X::Variants, - x_center: Imagekitio::OverlayPosition::XCenter::Variants, - y_: Imagekitio::OverlayPosition::Y::Variants, - y_center: Imagekitio::OverlayPosition::YCenter::Variants + y_: Imagekitio::OverlayPosition::Y::Variants } ) end def to_hash end - # Sets the anchor point on the base asset from which the overlay offset is - # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only - # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. - module AnchorPoint - extend Imagekitio::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Imagekitio::OverlayPosition::AnchorPoint) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - TOP = - T.let(:top, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) - LEFT = - T.let(:left, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) - RIGHT = - T.let(:right, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) - BOTTOM = - T.let(:bottom, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) - TOP_LEFT = - T.let( - :top_left, - Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol - ) - TOP_RIGHT = - T.let( - :top_right, - Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol - ) - BOTTOM_LEFT = - T.let( - :bottom_left, - Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol - ) - BOTTOM_RIGHT = - T.let( - :bottom_right, - Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol - ) - CENTER = - T.let(:center, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) - - sig do - override.returns( - T::Array[Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol] - ) - end - def self.values - end - end - - # Specifies the position of the overlay relative to the parent image or video. If - # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this - # parameter is ignored. Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. + # Maps to `lfo` in the URL. module Focus extend Imagekitio::Internal::Type::Enum @@ -245,25 +127,6 @@ module Imagekitio end end - # Specifies the x-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or - # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can - # be used with `y`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - module XCenter - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(Float, String) } - - sig do - override.returns( - T::Array[Imagekitio::OverlayPosition::XCenter::Variants] - ) - end - def self.variants - end - end - # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -280,25 +143,6 @@ module Imagekitio def self.variants end end - - # Specifies the y-coordinate on the base asset where the overlay's center will be - # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or - # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can - # be used with `x`. Learn about - # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - module YCenter - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(Float, String) } - - sig do - override.returns( - T::Array[Imagekitio::OverlayPosition::YCenter::Variants] - ) - end - def self.variants - end - end end end end diff --git a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi index 2e87862..d330306 100644 --- a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi @@ -17,7 +17,12 @@ module Imagekitio Imagekitio::UploadPreTransformSuccessEvent, Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, - Imagekitio::UploadPostTransformErrorEvent + Imagekitio::UploadPostTransformErrorEvent, + Imagekitio::DamFileCreateEvent, + Imagekitio::DamFileUpdateEvent, + Imagekitio::DamFileDeleteEvent, + Imagekitio::DamFileVersionCreateEvent, + Imagekitio::DamFileVersionDeleteEvent ) end diff --git a/rbi/imagekitio/models/unwrap_webhook_event.rbi b/rbi/imagekitio/models/unwrap_webhook_event.rbi index 8dcbd0d..a7920e7 100644 --- a/rbi/imagekitio/models/unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unwrap_webhook_event.rbi @@ -17,7 +17,12 @@ module Imagekitio Imagekitio::UploadPreTransformSuccessEvent, Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, - Imagekitio::UploadPostTransformErrorEvent + Imagekitio::UploadPostTransformErrorEvent, + Imagekitio::DamFileCreateEvent, + Imagekitio::DamFileUpdateEvent, + Imagekitio::DamFileDeleteEvent, + Imagekitio::DamFileVersionCreateEvent, + Imagekitio::DamFileVersionDeleteEvent ) end diff --git a/rbi/imagekitio/resources/webhooks.rbi b/rbi/imagekitio/resources/webhooks.rbi index 93b2c42..d70f6c9 100644 --- a/rbi/imagekitio/resources/webhooks.rbi +++ b/rbi/imagekitio/resources/webhooks.rbi @@ -12,7 +12,12 @@ module Imagekitio Imagekitio::UploadPreTransformSuccessEvent, Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, - Imagekitio::UploadPostTransformErrorEvent + Imagekitio::UploadPostTransformErrorEvent, + Imagekitio::DamFileCreateEvent, + Imagekitio::DamFileUpdateEvent, + Imagekitio::DamFileDeleteEvent, + Imagekitio::DamFileVersionCreateEvent, + Imagekitio::DamFileVersionDeleteEvent ) ) end @@ -35,7 +40,12 @@ module Imagekitio Imagekitio::UploadPreTransformSuccessEvent, Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, - Imagekitio::UploadPostTransformErrorEvent + Imagekitio::UploadPostTransformErrorEvent, + Imagekitio::DamFileCreateEvent, + Imagekitio::DamFileUpdateEvent, + Imagekitio::DamFileDeleteEvent, + Imagekitio::DamFileVersionCreateEvent, + Imagekitio::DamFileVersionDeleteEvent ) ) end diff --git a/sig/imagekitio/internal/transport/base_client.rbs b/sig/imagekitio/internal/transport/base_client.rbs index dfaab83..2709e3a 100644 --- a/sig/imagekitio/internal/transport/base_client.rbs +++ b/sig/imagekitio/internal/transport/base_client.rbs @@ -85,8 +85,6 @@ module Imagekitio ?idempotency_header: String? ) -> void - private def auth_headers: -> ::Hash[String, String] - private def user_agent: -> String private def generate_idempotency_key: -> String diff --git a/sig/imagekitio/models.rbs b/sig/imagekitio/models.rbs index 37031be..603b5db 100644 --- a/sig/imagekitio/models.rbs +++ b/sig/imagekitio/models.rbs @@ -21,6 +21,16 @@ module Imagekitio class CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + class DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent + + class DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent + + class DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent + + class DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent + + class DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent + type extension_item = Imagekitio::Models::extension_item module ExtensionConfig = Imagekitio::Models::ExtensionConfig diff --git a/sig/imagekitio/models/dam_file_create_event.rbs b/sig/imagekitio/models/dam_file_create_event.rbs new file mode 100644 index 0000000..b10c981 --- /dev/null +++ b/sig/imagekitio/models/dam_file_create_event.rbs @@ -0,0 +1,32 @@ +module Imagekitio + module Models + type dam_file_create_event = + { created_at: Time, data: Imagekitio::File, type: :"file.created" } + + class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + def created_at: -> Time + + def created_at=: (Time _) -> Time + + def data: -> Imagekitio::File + + def data=: (Imagekitio::File _) -> Imagekitio::File + + def `type`: -> :"file.created" + + def type=: (:"file.created" _) -> :"file.created" + + def initialize: ( + created_at: Time, + data: Imagekitio::File, + ?type: :"file.created" + ) -> void + + def to_hash: -> { + created_at: Time, + data: Imagekitio::File, + type: :"file.created" + } + end + end +end diff --git a/sig/imagekitio/models/dam_file_delete_event.rbs b/sig/imagekitio/models/dam_file_delete_event.rbs new file mode 100644 index 0000000..63b6e3c --- /dev/null +++ b/sig/imagekitio/models/dam_file_delete_event.rbs @@ -0,0 +1,48 @@ +module Imagekitio + module Models + type dam_file_delete_event = + { + created_at: Time, + data: Imagekitio::DamFileDeleteEvent::Data, + type: :"file.deleted" + } + + class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + def created_at: -> Time + + def created_at=: (Time _) -> Time + + def data: -> Imagekitio::DamFileDeleteEvent::Data + + def data=: ( + Imagekitio::DamFileDeleteEvent::Data _ + ) -> Imagekitio::DamFileDeleteEvent::Data + + def `type`: -> :"file.deleted" + + def type=: (:"file.deleted" _) -> :"file.deleted" + + def initialize: ( + created_at: Time, + data: Imagekitio::DamFileDeleteEvent::Data, + ?type: :"file.deleted" + ) -> void + + def to_hash: -> { + created_at: Time, + data: Imagekitio::DamFileDeleteEvent::Data, + type: :"file.deleted" + } + + type data = { file_id: String } + + class Data < Imagekitio::Internal::Type::BaseModel + attr_accessor file_id: String + + def initialize: (file_id: String) -> void + + def to_hash: -> { file_id: String } + end + end + end +end diff --git a/sig/imagekitio/models/dam_file_update_event.rbs b/sig/imagekitio/models/dam_file_update_event.rbs new file mode 100644 index 0000000..93fde8c --- /dev/null +++ b/sig/imagekitio/models/dam_file_update_event.rbs @@ -0,0 +1,32 @@ +module Imagekitio + module Models + type dam_file_update_event = + { created_at: Time, data: Imagekitio::File, type: :"file.updated" } + + class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + def created_at: -> Time + + def created_at=: (Time _) -> Time + + def data: -> Imagekitio::File + + def data=: (Imagekitio::File _) -> Imagekitio::File + + def `type`: -> :"file.updated" + + def type=: (:"file.updated" _) -> :"file.updated" + + def initialize: ( + created_at: Time, + data: Imagekitio::File, + ?type: :"file.updated" + ) -> void + + def to_hash: -> { + created_at: Time, + data: Imagekitio::File, + type: :"file.updated" + } + end + end +end diff --git a/sig/imagekitio/models/dam_file_version_create_event.rbs b/sig/imagekitio/models/dam_file_version_create_event.rbs new file mode 100644 index 0000000..2686dd3 --- /dev/null +++ b/sig/imagekitio/models/dam_file_version_create_event.rbs @@ -0,0 +1,32 @@ +module Imagekitio + module Models + type dam_file_version_create_event = + { created_at: Time, data: top, type: :"file-version.created" } + + class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + def created_at: -> Time + + def created_at=: (Time _) -> Time + + def data: -> top + + def data=: (top _) -> top + + def `type`: -> :"file-version.created" + + def type=: (:"file-version.created" _) -> :"file-version.created" + + def initialize: ( + created_at: Time, + data: top, + ?type: :"file-version.created" + ) -> void + + def to_hash: -> { + created_at: Time, + data: top, + type: :"file-version.created" + } + end + end +end diff --git a/sig/imagekitio/models/dam_file_version_delete_event.rbs b/sig/imagekitio/models/dam_file_version_delete_event.rbs new file mode 100644 index 0000000..855fbd5 --- /dev/null +++ b/sig/imagekitio/models/dam_file_version_delete_event.rbs @@ -0,0 +1,50 @@ +module Imagekitio + module Models + type dam_file_version_delete_event = + { + created_at: Time, + data: Imagekitio::DamFileVersionDeleteEvent::Data, + type: :"file-version.deleted" + } + + class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + def created_at: -> Time + + def created_at=: (Time _) -> Time + + def data: -> Imagekitio::DamFileVersionDeleteEvent::Data + + def data=: ( + Imagekitio::DamFileVersionDeleteEvent::Data _ + ) -> Imagekitio::DamFileVersionDeleteEvent::Data + + def `type`: -> :"file-version.deleted" + + def type=: (:"file-version.deleted" _) -> :"file-version.deleted" + + def initialize: ( + created_at: Time, + data: Imagekitio::DamFileVersionDeleteEvent::Data, + ?type: :"file-version.deleted" + ) -> void + + def to_hash: -> { + created_at: Time, + data: Imagekitio::DamFileVersionDeleteEvent::Data, + type: :"file-version.deleted" + } + + type data = { file_id: String, version_id: String } + + class Data < Imagekitio::Internal::Type::BaseModel + attr_accessor file_id: String + + attr_accessor version_id: String + + def initialize: (file_id: String, version_id: String) -> void + + def to_hash: -> { file_id: String, version_id: String } + end + end + end +end diff --git a/sig/imagekitio/models/overlay_position.rbs b/sig/imagekitio/models/overlay_position.rbs index 6508ae2..e2c9c5a 100644 --- a/sig/imagekitio/models/overlay_position.rbs +++ b/sig/imagekitio/models/overlay_position.rbs @@ -2,21 +2,12 @@ module Imagekitio module Models type overlay_position = { - anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, focus: Imagekitio::Models::OverlayPosition::focus, x: Imagekitio::Models::OverlayPosition::x, - x_center: Imagekitio::Models::OverlayPosition::x_center, - y_: Imagekitio::Models::OverlayPosition::y_, - y_center: Imagekitio::Models::OverlayPosition::y_center + y_: Imagekitio::Models::OverlayPosition::y_ } class OverlayPosition < Imagekitio::Internal::Type::BaseModel - attr_reader anchor_point: Imagekitio::Models::OverlayPosition::anchor_point? - - def anchor_point=: ( - Imagekitio::Models::OverlayPosition::anchor_point - ) -> Imagekitio::Models::OverlayPosition::anchor_point - attr_reader focus: Imagekitio::Models::OverlayPosition::focus? def focus=: ( @@ -29,69 +20,24 @@ module Imagekitio Imagekitio::Models::OverlayPosition::x ) -> Imagekitio::Models::OverlayPosition::x - attr_reader x_center: Imagekitio::Models::OverlayPosition::x_center? - - def x_center=: ( - Imagekitio::Models::OverlayPosition::x_center - ) -> Imagekitio::Models::OverlayPosition::x_center - attr_reader y_: Imagekitio::Models::OverlayPosition::y_? def y_=: ( Imagekitio::Models::OverlayPosition::y_ ) -> Imagekitio::Models::OverlayPosition::y_ - attr_reader y_center: Imagekitio::Models::OverlayPosition::y_center? - - def y_center=: ( - Imagekitio::Models::OverlayPosition::y_center - ) -> Imagekitio::Models::OverlayPosition::y_center - def initialize: ( - ?anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, ?focus: Imagekitio::Models::OverlayPosition::focus, ?x: Imagekitio::Models::OverlayPosition::x, - ?x_center: Imagekitio::Models::OverlayPosition::x_center, - ?y_: Imagekitio::Models::OverlayPosition::y_, - ?y_center: Imagekitio::Models::OverlayPosition::y_center + ?y_: Imagekitio::Models::OverlayPosition::y_ ) -> void def to_hash: -> { - anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, focus: Imagekitio::Models::OverlayPosition::focus, x: Imagekitio::Models::OverlayPosition::x, - x_center: Imagekitio::Models::OverlayPosition::x_center, - y_: Imagekitio::Models::OverlayPosition::y_, - y_center: Imagekitio::Models::OverlayPosition::y_center + y_: Imagekitio::Models::OverlayPosition::y_ } - type anchor_point = - :top - | :left - | :right - | :bottom - | :top_left - | :top_right - | :bottom_left - | :bottom_right - | :center - - module AnchorPoint - extend Imagekitio::Internal::Type::Enum - - TOP: :top - LEFT: :left - RIGHT: :right - BOTTOM: :bottom - TOP_LEFT: :top_left - TOP_RIGHT: :top_right - BOTTOM_LEFT: :bottom_left - BOTTOM_RIGHT: :bottom_right - CENTER: :center - - def self?.values: -> ::Array[Imagekitio::Models::OverlayPosition::anchor_point] - end - type focus = :center | :top @@ -127,14 +73,6 @@ module Imagekitio def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::x] end - type x_center = Float | String - - module XCenter - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::x_center] - end - type y_ = Float | String module Y @@ -142,14 +80,6 @@ module Imagekitio def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::y_] end - - type y_center = Float | String - - module YCenter - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::y_center] - end end end end diff --git a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs index 12322bc..f818ad7 100644 --- a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs @@ -8,6 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent + | Imagekitio::DamFileCreateEvent + | Imagekitio::DamFileUpdateEvent + | Imagekitio::DamFileDeleteEvent + | Imagekitio::DamFileVersionCreateEvent + | Imagekitio::DamFileVersionDeleteEvent module UnsafeUnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/models/unwrap_webhook_event.rbs b/sig/imagekitio/models/unwrap_webhook_event.rbs index f6d1bbc..3aeb72e 100644 --- a/sig/imagekitio/models/unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unwrap_webhook_event.rbs @@ -8,6 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent + | Imagekitio::DamFileCreateEvent + | Imagekitio::DamFileUpdateEvent + | Imagekitio::DamFileDeleteEvent + | Imagekitio::DamFileVersionCreateEvent + | Imagekitio::DamFileVersionDeleteEvent module UnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/resources/webhooks.rbs b/sig/imagekitio/resources/webhooks.rbs index a3ba048..7383b89 100644 --- a/sig/imagekitio/resources/webhooks.rbs +++ b/sig/imagekitio/resources/webhooks.rbs @@ -9,7 +9,12 @@ module Imagekitio | Imagekitio::UploadPreTransformSuccessEvent | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent - | Imagekitio::UploadPostTransformErrorEvent) + | Imagekitio::UploadPostTransformErrorEvent + | Imagekitio::DamFileCreateEvent + | Imagekitio::DamFileUpdateEvent + | Imagekitio::DamFileDeleteEvent + | Imagekitio::DamFileVersionCreateEvent + | Imagekitio::DamFileVersionDeleteEvent) def unwrap: ( String payload, @@ -21,7 +26,12 @@ module Imagekitio | Imagekitio::UploadPreTransformSuccessEvent | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent - | Imagekitio::UploadPostTransformErrorEvent) + | Imagekitio::UploadPostTransformErrorEvent + | Imagekitio::DamFileCreateEvent + | Imagekitio::DamFileUpdateEvent + | Imagekitio::DamFileDeleteEvent + | Imagekitio::DamFileVersionCreateEvent + | Imagekitio::DamFileVersionDeleteEvent) def initialize: (client: Imagekitio::Client) -> void end diff --git a/test/imagekitio/client_test.rb b/test/imagekitio/client_test.rb index b17d0a0..fdae75a 100644 --- a/test/imagekitio/client_test.rb +++ b/test/imagekitio/client_test.rb @@ -37,12 +37,7 @@ def test_raises_on_missing_non_nullable_opts def test_client_default_request_default_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -55,12 +50,7 @@ def test_client_given_request_default_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password", - max_retries: 3 - ) + Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 3) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -72,12 +62,7 @@ def test_client_given_request_default_retry_attempts def test_client_default_request_given_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -94,12 +79,7 @@ def test_client_given_request_given_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password", - max_retries: 3 - ) + Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 3) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -120,12 +100,7 @@ def test_client_retry_after_seconds ) image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password", - max_retries: 1 - ) + Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -145,12 +120,7 @@ def test_client_retry_after_date ) image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password", - max_retries: 1 - ) + Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) Thread.current.thread_variable_set(:time_now, time_now) assert_raises(Imagekitio::Errors::InternalServerError) do @@ -170,12 +140,7 @@ def test_client_retry_after_ms ) image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password", - max_retries: 1 - ) + Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -188,12 +153,7 @@ def test_client_retry_after_ms def test_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -207,12 +167,7 @@ def test_retry_count_header def test_omit_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -230,12 +185,7 @@ def test_omit_retry_count_header def test_overwrite_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -259,12 +209,7 @@ def test_client_redirect_307 headers: {"location" => "/redirected"} ) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -297,12 +242,7 @@ def test_client_redirect_303 headers: {"location" => "/redirected"} ) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -330,12 +270,7 @@ def test_client_redirect_auth_keep_same_origin headers: {"location" => "/redirected"} ) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -366,12 +301,7 @@ def test_client_redirect_auth_strip_cross_origin headers: {"location" => "https://example.com/redirected"} ) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -390,12 +320,7 @@ def test_client_redirect_auth_strip_cross_origin def test_default_headers stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 200, body: {}) - image_kit = - Imagekitio::Client.new( - base_url: "http://localhost", - private_key: "My Private Key", - password: "My Password" - ) + image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") diff --git a/test/imagekitio/test_helper.rb b/test/imagekitio/test_helper.rb index ec65273..a2c9c84 100644 --- a/test/imagekitio/test_helper.rb +++ b/test/imagekitio/test_helper.rb @@ -48,11 +48,7 @@ class Imagekitio::Test::SingletonClient < Imagekitio::Client TEST_API_BASE_URL = ENV.fetch("TEST_API_BASE_URL", "http://localhost:4010") def initialize - super( - base_url: Imagekitio::Test::SingletonClient::TEST_API_BASE_URL, - private_key: "My Private Key", - password: "My Password" - ) + super(base_url: Imagekitio::Test::SingletonClient::TEST_API_BASE_URL, private_key: "My Private Key") end end From 74e7a6ae49a83d6faa29796443309f20633b430d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 07:03:57 +0000 Subject: [PATCH 03/17] feat(api): fix spec indentation --- .stats.yml | 4 +- README.md | 11 +- lib/imagekitio/client.rb | 10 ++ .../internal/transport/base_client.rb | 6 + rbi/imagekitio/client.rbi | 5 + .../internal/transport/base_client.rbi | 5 + .../internal/transport/base_client.rbs | 2 + test/imagekitio/client_test.rb | 105 +++++++++++++++--- test/imagekitio/test_helper.rb | 6 +- 9 files changed, 131 insertions(+), 23 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3e331fe..5beb1d7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-1422f7513f230162270b197061e5768c2e0c803b94b8cd03a5e72544ac75a27f.yml -openapi_spec_hash: 41175e752e6f6ce900b36aecba687fa7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-f4cd00365ba96133e0675eae3d5d3c6ac13874789e2ce69a84310ab64a4f87dd.yml +openapi_spec_hash: dce632cfbb5464a98c0f5d8eb9573d68 config_hash: 17e408231b0b01676298010c7405f483 diff --git a/README.md b/README.md index d78c80b..fca3e5e 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,10 @@ gem "imagekitio", "~> 4.3.0" ```ruby require "imagekitio" -image_kit = Imagekitio::Client.new(private_key: "My Private Key") +image_kit = Imagekitio::Client.new( + private_key: ENV["IMAGEKIT_PRIVATE_KEY"], # This is the default and can be omitted + password: ENV["OPTIONAL_IMAGEKIT_IGNORES_THIS"] # This is the default and can be omitted +) response = image_kit.files.upload( file: Pathname("/path/to/file"), @@ -571,8 +574,7 @@ You can use the `max_retries` option to configure or disable this: ```ruby # Configure the default for all requests: image_kit = Imagekitio::Client.new( - max_retries: 0, # default is 2 - private_key: "My Private Key" + max_retries: 0 # default is 2 ) # Or, configure per-request: @@ -590,8 +592,7 @@ By default, requests will time out after 60 seconds. You can use the timeout opt ```ruby # Configure the default for all requests: image_kit = Imagekitio::Client.new( - timeout: nil, # default is 60 - private_key: "My Private Key" + timeout: nil # default is 60 ) # Or, configure per-request: diff --git a/lib/imagekitio/client.rb b/lib/imagekitio/client.rb index 529514c..dc6d989 100644 --- a/lib/imagekitio/client.rb +++ b/lib/imagekitio/client.rb @@ -62,6 +62,16 @@ class Client < Imagekitio::Internal::Transport::BaseClient # @return [Imagekitio::Helper] attr_reader :helper + # @api private + # + # @return [Hash{String=>String}] + private def auth_headers + return {} if @private_key.nil? || @password.nil? + + base64_credentials = ["#{@private_key}:#{@password}"].pack("m0") + {"authorization" => "Basic #{base64_credentials}"} + end + # @api private # # @return [Boolean] diff --git a/lib/imagekitio/internal/transport/base_client.rb b/lib/imagekitio/internal/transport/base_client.rb index 6e9e2f7..e9c0aea 100644 --- a/lib/imagekitio/internal/transport/base_client.rb +++ b/lib/imagekitio/internal/transport/base_client.rb @@ -215,6 +215,11 @@ def initialize( @max_retry_delay = max_retry_delay end + # @api private + # + # @return [Hash{String=>String}] + private def auth_headers = {} + # @api private # # @return [String] @@ -271,6 +276,7 @@ def initialize( headers = Imagekitio::Internal::Util.normalized_headers( @headers, + auth_headers, req[:headers].to_h, opts[:extra_headers].to_h ) diff --git a/rbi/imagekitio/client.rbi b/rbi/imagekitio/client.rbi index 4075d78..a0e151f 100644 --- a/rbi/imagekitio/client.rbi +++ b/rbi/imagekitio/client.rbi @@ -57,6 +57,11 @@ module Imagekitio sig { returns(Imagekitio::Helper) } attr_reader :helper + # @api private + sig { override.returns(T::Hash[String, String]) } + private def auth_headers + end + # @api private sig { returns(T::Boolean) } def base_url_overridden? diff --git a/rbi/imagekitio/internal/transport/base_client.rbi b/rbi/imagekitio/internal/transport/base_client.rbi index 4cfb057..1c48424 100644 --- a/rbi/imagekitio/internal/transport/base_client.rbi +++ b/rbi/imagekitio/internal/transport/base_client.rbi @@ -173,6 +173,11 @@ module Imagekitio ) end + # @api private + sig { overridable.returns(T::Hash[String, String]) } + private def auth_headers + end + # @api private sig { returns(String) } private def user_agent diff --git a/sig/imagekitio/internal/transport/base_client.rbs b/sig/imagekitio/internal/transport/base_client.rbs index 2709e3a..dfaab83 100644 --- a/sig/imagekitio/internal/transport/base_client.rbs +++ b/sig/imagekitio/internal/transport/base_client.rbs @@ -85,6 +85,8 @@ module Imagekitio ?idempotency_header: String? ) -> void + private def auth_headers: -> ::Hash[String, String] + private def user_agent: -> String private def generate_idempotency_key: -> String diff --git a/test/imagekitio/client_test.rb b/test/imagekitio/client_test.rb index fdae75a..b17d0a0 100644 --- a/test/imagekitio/client_test.rb +++ b/test/imagekitio/client_test.rb @@ -37,7 +37,12 @@ def test_raises_on_missing_non_nullable_opts def test_client_default_request_default_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -50,7 +55,12 @@ def test_client_given_request_default_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) image_kit = - Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 3) + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password", + max_retries: 3 + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -62,7 +72,12 @@ def test_client_given_request_default_retry_attempts def test_client_default_request_given_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -79,7 +94,12 @@ def test_client_given_request_given_retry_attempts stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) image_kit = - Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 3) + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password", + max_retries: 3 + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -100,7 +120,12 @@ def test_client_retry_after_seconds ) image_kit = - Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password", + max_retries: 1 + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -120,7 +145,12 @@ def test_client_retry_after_date ) image_kit = - Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password", + max_retries: 1 + ) Thread.current.thread_variable_set(:time_now, time_now) assert_raises(Imagekitio::Errors::InternalServerError) do @@ -140,7 +170,12 @@ def test_client_retry_after_ms ) image_kit = - Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key", max_retries: 1) + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password", + max_retries: 1 + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -153,7 +188,12 @@ def test_client_retry_after_ms def test_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") @@ -167,7 +207,12 @@ def test_retry_count_header def test_omit_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -185,7 +230,12 @@ def test_omit_retry_count_header def test_overwrite_retry_count_header stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 500, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::InternalServerError) do image_kit.files.upload( @@ -209,7 +259,12 @@ def test_client_redirect_307 headers: {"location" => "/redirected"} ) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -242,7 +297,12 @@ def test_client_redirect_303 headers: {"location" => "/redirected"} ) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -270,7 +330,12 @@ def test_client_redirect_auth_keep_same_origin headers: {"location" => "/redirected"} ) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -301,7 +366,12 @@ def test_client_redirect_auth_strip_cross_origin headers: {"location" => "https://example.com/redirected"} ) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) assert_raises(Imagekitio::Errors::APIConnectionError) do image_kit.files.upload( @@ -320,7 +390,12 @@ def test_client_redirect_auth_strip_cross_origin def test_default_headers stub_request(:post, "http://localhost/api/v1/files/upload").to_return_json(status: 200, body: {}) - image_kit = Imagekitio::Client.new(base_url: "http://localhost", private_key: "My Private Key") + image_kit = + Imagekitio::Client.new( + base_url: "http://localhost", + private_key: "My Private Key", + password: "My Password" + ) image_kit.files.upload(file: StringIO.new("Example data"), file_name: "fileName") diff --git a/test/imagekitio/test_helper.rb b/test/imagekitio/test_helper.rb index a2c9c84..ec65273 100644 --- a/test/imagekitio/test_helper.rb +++ b/test/imagekitio/test_helper.rb @@ -48,7 +48,11 @@ class Imagekitio::Test::SingletonClient < Imagekitio::Client TEST_API_BASE_URL = ENV.fetch("TEST_API_BASE_URL", "http://localhost:4010") def initialize - super(base_url: Imagekitio::Test::SingletonClient::TEST_API_BASE_URL, private_key: "My Private Key") + super( + base_url: Imagekitio::Test::SingletonClient::TEST_API_BASE_URL, + private_key: "My Private Key", + password: "My Password" + ) end end From fae3b74e0de1bdd3e5a29c6061f546aacfc423cb Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 06:31:07 +0000 Subject: [PATCH 04/17] feat(api): indentation fix --- .stats.yml | 4 ++-- .../models/dam_file_version_create_event.rb | 7 ++++--- .../models/dam_file_version_create_event.rbi | 21 +++++++++++++------ .../models/dam_file_version_create_event.rbs | 14 ++++++++----- 4 files changed, 30 insertions(+), 16 deletions(-) diff --git a/.stats.yml b/.stats.yml index 5beb1d7..3ae941b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-f4cd00365ba96133e0675eae3d5d3c6ac13874789e2ce69a84310ab64a4f87dd.yml -openapi_spec_hash: dce632cfbb5464a98c0f5d8eb9573d68 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-3234424a3a5871f31f5d6dcb8173593fc6c1db14802a0e71f14f3527ad16c871.yml +openapi_spec_hash: 017a8ab68d905ed9e163022f68d8be78 config_hash: 17e408231b0b01676298010c7405f483 diff --git a/lib/imagekitio/models/dam_file_version_create_event.rb b/lib/imagekitio/models/dam_file_version_create_event.rb index 3d3f9c8..538dc83 100644 --- a/lib/imagekitio/models/dam_file_version_create_event.rb +++ b/lib/imagekitio/models/dam_file_version_create_event.rb @@ -10,9 +10,10 @@ class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent required :created_at, Time # @!attribute data + # Object containing details of a file or file version. # - # @return [Object] - required :data, Imagekitio::Internal::Type::Unknown + # @return [Imagekitio::Models::File] + required :data, -> { Imagekitio::File } # @!attribute type # Type of the webhook event. @@ -25,7 +26,7 @@ class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent # # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. # - # @param data [Object] + # @param data [Imagekitio::Models::File] Object containing details of a file or file version. # # @param type [Symbol, :"file-version.created"] Type of the webhook event. end diff --git a/rbi/imagekitio/models/dam_file_version_create_event.rbi b/rbi/imagekitio/models/dam_file_version_create_event.rbi index 6299e38..c41031c 100644 --- a/rbi/imagekitio/models/dam_file_version_create_event.rbi +++ b/rbi/imagekitio/models/dam_file_version_create_event.rbi @@ -15,8 +15,12 @@ module Imagekitio sig { returns(Time) } attr_accessor :created_at - sig { returns(T.anything) } - attr_accessor :data + # Object containing details of a file or file version. + sig { returns(Imagekitio::File) } + attr_reader :data + + sig { params(data: Imagekitio::File::OrHash).void } + attr_writer :data # Type of the webhook event. sig { returns(Symbol) } @@ -24,13 +28,16 @@ module Imagekitio # Triggered when a file version is created. sig do - params(created_at: Time, data: T.anything, type: Symbol).returns( - T.attached_class - ) + params( + created_at: Time, + data: Imagekitio::File::OrHash, + type: Symbol + ).returns(T.attached_class) end def self.new( # Timestamp of when the event occurred in ISO8601 format. created_at:, + # Object containing details of a file or file version. data:, # Type of the webhook event. type: :"file-version.created" @@ -38,7 +45,9 @@ module Imagekitio end sig do - override.returns({ created_at: Time, data: T.anything, type: Symbol }) + override.returns( + { created_at: Time, data: Imagekitio::File, type: Symbol } + ) end def to_hash end diff --git a/sig/imagekitio/models/dam_file_version_create_event.rbs b/sig/imagekitio/models/dam_file_version_create_event.rbs index 2686dd3..c7d67b2 100644 --- a/sig/imagekitio/models/dam_file_version_create_event.rbs +++ b/sig/imagekitio/models/dam_file_version_create_event.rbs @@ -1,16 +1,20 @@ module Imagekitio module Models type dam_file_version_create_event = - { created_at: Time, data: top, type: :"file-version.created" } + { + created_at: Time, + data: Imagekitio::File, + type: :"file-version.created" + } class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time - def data: -> top + def data: -> Imagekitio::File - def data=: (top _) -> top + def data=: (Imagekitio::File _) -> Imagekitio::File def `type`: -> :"file-version.created" @@ -18,13 +22,13 @@ module Imagekitio def initialize: ( created_at: Time, - data: top, + data: Imagekitio::File, ?type: :"file-version.created" ) -> void def to_hash: -> { created_at: Time, - data: top, + data: Imagekitio::File, type: :"file-version.created" } end From 78377b55c03f7818a5f2ae57d19464dfae58763a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 06:39:41 +0000 Subject: [PATCH 05/17] feat(api): merge with main to bring back missing parameters --- .stats.yml | 4 +- lib/imagekitio/models/extension_config.rb | 15 +- lib/imagekitio/models/extensions.rb | 15 +- lib/imagekitio/models/overlay_position.rb | 104 +++++++++++- rbi/imagekitio/models/extension_config.rbi | 22 ++- rbi/imagekitio/models/extensions.rbi | 22 ++- rbi/imagekitio/models/overlay_position.rbi | 174 +++++++++++++++++++-- sig/imagekitio/models/overlay_position.rbs | 76 ++++++++- 8 files changed, 391 insertions(+), 41 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3ae941b..0898c6b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-3234424a3a5871f31f5d6dcb8173593fc6c1db14802a0e71f14f3527ad16c871.yml -openapi_spec_hash: 017a8ab68d905ed9e163022f68d8be78 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-18b46cb8c1dd5cd0eea8559fa9671600540c5c4bee32f2d74f932416b7a1aee0.yml +openapi_spec_hash: 539770659847d04a92ef965a5313adde config_hash: 17e408231b0b01676298010c7405f483 diff --git a/lib/imagekitio/models/extension_config.rb b/lib/imagekitio/models/extension_config.rb index a8e7f03..8037b1f 100644 --- a/lib/imagekitio/models/extension_config.rb +++ b/lib/imagekitio/models/extension_config.rb @@ -186,8 +186,10 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. # # @return [Array, nil] optional :vocabulary, Imagekitio::Internal::Type::ArrayOf[String] @@ -203,7 +205,7 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of tags to select from the vocabulary. # - # @param vocabulary [Array] Array of possible tag values. Combined length of all strings must not exceed 500 + # @param vocabulary [Array] Array of possible tag values. The combined length of all strings must not exceed # # @param type [Symbol, :select_tags] Task type that analyzes the image and adds matching tags from a vocabulary. end @@ -241,7 +243,10 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. # # @return [Array, nil] optional :vocabulary, @@ -260,7 +265,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of values to select from the vocabulary. # - # @param vocabulary [Array] Array of possible values matching the custom metadata field type. + # @param vocabulary [Array] An array of possible values matching the custom metadata field type. If not prov # # @param type [Symbol, :select_metadata] Task type that analyzes the image and sets a custom metadata field value from a diff --git a/lib/imagekitio/models/extensions.rb b/lib/imagekitio/models/extensions.rb index 387fe33..3de6e8c 100644 --- a/lib/imagekitio/models/extensions.rb +++ b/lib/imagekitio/models/extensions.rb @@ -186,8 +186,10 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. # # @return [Array, nil] optional :vocabulary, Imagekitio::Internal::Type::ArrayOf[String] @@ -202,7 +204,7 @@ class SelectTags < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of tags to select from the vocabulary. # - # @param vocabulary [Array] Array of possible tag values. Combined length of all strings must not exceed 500 + # @param vocabulary [Array] Array of possible tag values. The combined length of all strings must not exceed # # @param type [Symbol, :select_tags] Task type that analyzes the image and adds matching tags from a vocabulary. end @@ -240,7 +242,10 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel optional :min_selections, Integer # @!attribute vocabulary - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. # # @return [Array, nil] optional :vocabulary, @@ -259,7 +264,7 @@ class SelectMetadata < Imagekitio::Internal::Type::BaseModel # # @param min_selections [Integer] Minimum number of values to select from the vocabulary. # - # @param vocabulary [Array] Array of possible values matching the custom metadata field type. + # @param vocabulary [Array] An array of possible values matching the custom metadata field type. If not prov # # @param type [Symbol, :select_metadata] Task type that analyzes the image and sets a custom metadata field value from a diff --git a/lib/imagekitio/models/overlay_position.rb b/lib/imagekitio/models/overlay_position.rb index 88dfd81..34a419a 100644 --- a/lib/imagekitio/models/overlay_position.rb +++ b/lib/imagekitio/models/overlay_position.rb @@ -3,9 +3,18 @@ module Imagekitio module Models class OverlayPosition < Imagekitio::Internal::Type::BaseModel + # @!attribute anchor_point + # Sets the anchor point on the base asset from which the overlay offset is + # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only + # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. + # + # @return [Symbol, Imagekitio::Models::OverlayPosition::AnchorPoint, nil] + optional :anchor_point, enum: -> { Imagekitio::OverlayPosition::AnchorPoint }, api_name: :anchorPoint + # @!attribute focus - # Specifies the position of the overlay relative to the parent image or video. - # Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. If + # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this + # parameter is ignored. Maps to `lfo` in the URL. # # @return [Symbol, Imagekitio::Models::OverlayPosition::Focus, nil] optional :focus, enum: -> { Imagekitio::OverlayPosition::Focus } @@ -20,6 +29,16 @@ class OverlayPosition < Imagekitio::Internal::Type::BaseModel # @return [Float, String, nil] optional :x, union: -> { Imagekitio::OverlayPosition::X } + # @!attribute x_center + # Specifies the x-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or + # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can + # be used with `y`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + # + # @return [Float, String, nil] + optional :x_center, union: -> { Imagekitio::OverlayPosition::XCenter }, api_name: :xCenter + # @!attribute y_ # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic @@ -30,18 +49,57 @@ class OverlayPosition < Imagekitio::Internal::Type::BaseModel # @return [Float, String, nil] optional :y_, union: -> { Imagekitio::OverlayPosition::Y }, api_name: :y - # @!method initialize(focus: nil, x: nil, y_: nil) + # @!attribute y_center + # Specifies the y-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or + # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can + # be used with `x`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + # + # @return [Float, String, nil] + optional :y_center, union: -> { Imagekitio::OverlayPosition::YCenter }, api_name: :yCenter + + # @!method initialize(anchor_point: nil, focus: nil, x: nil, x_center: nil, y_: nil, y_center: nil) # Some parameter documentations has been truncated, see # {Imagekitio::Models::OverlayPosition} for more details. # + # @param anchor_point [Symbol, Imagekitio::Models::OverlayPosition::AnchorPoint] Sets the anchor point on the base asset from which the overlay offset is calcula + # # @param focus [Symbol, Imagekitio::Models::OverlayPosition::Focus] Specifies the position of the overlay relative to the parent image or video. # # @param x [Float, String] Specifies the x-coordinate of the top-left corner of the base asset where the ov # + # @param x_center [Float, String] Specifies the x-coordinate on the base asset where the overlay's center will be + # # @param y_ [Float, String] Specifies the y-coordinate of the top-left corner of the base asset where the ov + # + # @param y_center [Float, String] Specifies the y-coordinate on the base asset where the overlay's center will be + + # Sets the anchor point on the base asset from which the overlay offset is + # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only + # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. + # + # @see Imagekitio::Models::OverlayPosition#anchor_point + module AnchorPoint + extend Imagekitio::Internal::Type::Enum + + TOP = :top + LEFT = :left + RIGHT = :right + BOTTOM = :bottom + TOP_LEFT = :top_left + TOP_RIGHT = :top_right + BOTTOM_LEFT = :bottom_left + BOTTOM_RIGHT = :bottom_right + CENTER = :center + + # @!method self.values + # @return [Array] + end - # Specifies the position of the overlay relative to the parent image or video. - # Maps to `lfo` in the URL. + # Specifies the position of the overlay relative to the parent image or video. If + # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this + # parameter is ignored. Maps to `lfo` in the URL. # # @see Imagekitio::Models::OverlayPosition#focus module Focus @@ -79,6 +137,24 @@ module X # @return [Array(Float, String)] end + # Specifies the x-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or + # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can + # be used with `y`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + # + # @see Imagekitio::Models::OverlayPosition#x_center + module XCenter + extend Imagekitio::Internal::Type::Union + + variant Float + + variant String + + # @!method self.variants + # @return [Array(Float, String)] + end + # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -96,6 +172,24 @@ module Y # @!method self.variants # @return [Array(Float, String)] end + + # Specifies the y-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or + # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can + # be used with `x`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + # + # @see Imagekitio::Models::OverlayPosition#y_center + module YCenter + extend Imagekitio::Internal::Type::Union + + variant Float + + variant String + + # @!method self.variants + # @return [Array(Float, String)] + end end end end diff --git a/rbi/imagekitio/models/extension_config.rbi b/rbi/imagekitio/models/extension_config.rbi index 3b5a3b5..d3918dd 100644 --- a/rbi/imagekitio/models/extension_config.rbi +++ b/rbi/imagekitio/models/extension_config.rbi @@ -374,8 +374,10 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. sig { returns(T.nilable(T::Array[String])) } attr_reader :vocabulary @@ -398,8 +400,10 @@ module Imagekitio max_selections: nil, # Minimum number of tags to select from the vocabulary. min_selections: nil, - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. vocabulary: nil, # Task type that analyzes the image and adds matching tags from a vocabulary. type: :select_tags @@ -457,7 +461,10 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. sig do returns( T.nilable( @@ -501,7 +508,10 @@ module Imagekitio max_selections: nil, # Minimum number of values to select from the vocabulary. min_selections: nil, - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. vocabulary: nil, # Task type that analyzes the image and sets a custom metadata field value from a # vocabulary. diff --git a/rbi/imagekitio/models/extensions.rbi b/rbi/imagekitio/models/extensions.rbi index bc56a55..c9e0afc 100644 --- a/rbi/imagekitio/models/extensions.rbi +++ b/rbi/imagekitio/models/extensions.rbi @@ -371,8 +371,10 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. sig { returns(T.nilable(T::Array[String])) } attr_reader :vocabulary @@ -395,8 +397,10 @@ module Imagekitio max_selections: nil, # Minimum number of tags to select from the vocabulary. min_selections: nil, - # Array of possible tag values. Combined length of all strings must not exceed 500 - # characters. Cannot contain the `%` character. + # Array of possible tag values. The combined length of all strings must not exceed + # 500 characters, and values cannot include the `%` character. When providing + # large vocabularies (more than 30 items), the AI may not follow the list + # strictly. vocabulary: nil, # Task type that analyzes the image and adds matching tags from a vocabulary. type: :select_tags @@ -454,7 +458,10 @@ module Imagekitio sig { params(min_selections: Integer).void } attr_writer :min_selections - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. sig do returns( T.nilable( @@ -498,7 +505,10 @@ module Imagekitio max_selections: nil, # Minimum number of values to select from the vocabulary. min_selections: nil, - # Array of possible values matching the custom metadata field type. + # An array of possible values matching the custom metadata field type. If not + # provided for SingleSelect or MultiSelect field types, all values from the custom + # metadata field definition will be used. When providing large vocabularies (above + # 30 items), the AI may not strictly adhere to the list. vocabulary: nil, # Task type that analyzes the image and sets a custom metadata field value from a # vocabulary. diff --git a/rbi/imagekitio/models/overlay_position.rbi b/rbi/imagekitio/models/overlay_position.rbi index 9897e1e..ad0a6d8 100644 --- a/rbi/imagekitio/models/overlay_position.rbi +++ b/rbi/imagekitio/models/overlay_position.rbi @@ -8,8 +8,24 @@ module Imagekitio T.any(Imagekitio::OverlayPosition, Imagekitio::Internal::AnyHash) end - # Specifies the position of the overlay relative to the parent image or video. - # Maps to `lfo` in the URL. + # Sets the anchor point on the base asset from which the overlay offset is + # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only + # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. + sig do + returns(T.nilable(Imagekitio::OverlayPosition::AnchorPoint::OrSymbol)) + end + attr_reader :anchor_point + + sig do + params( + anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol + ).void + end + attr_writer :anchor_point + + # Specifies the position of the overlay relative to the parent image or video. If + # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this + # parameter is ignored. Maps to `lfo` in the URL. sig { returns(T.nilable(Imagekitio::OverlayPosition::Focus::OrSymbol)) } attr_reader :focus @@ -27,6 +43,19 @@ module Imagekitio sig { params(x: Imagekitio::OverlayPosition::X::Variants).void } attr_writer :x + # Specifies the x-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or + # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can + # be used with `y`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + sig { returns(T.nilable(Imagekitio::OverlayPosition::XCenter::Variants)) } + attr_reader :x_center + + sig do + params(x_center: Imagekitio::OverlayPosition::XCenter::Variants).void + end + attr_writer :x_center + # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -38,16 +67,37 @@ module Imagekitio sig { params(y_: Imagekitio::OverlayPosition::Y::Variants).void } attr_writer :y_ + # Specifies the y-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or + # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can + # be used with `x`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + sig { returns(T.nilable(Imagekitio::OverlayPosition::YCenter::Variants)) } + attr_reader :y_center + + sig do + params(y_center: Imagekitio::OverlayPosition::YCenter::Variants).void + end + attr_writer :y_center + sig do params( + anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol, focus: Imagekitio::OverlayPosition::Focus::OrSymbol, x: Imagekitio::OverlayPosition::X::Variants, - y_: Imagekitio::OverlayPosition::Y::Variants + x_center: Imagekitio::OverlayPosition::XCenter::Variants, + y_: Imagekitio::OverlayPosition::Y::Variants, + y_center: Imagekitio::OverlayPosition::YCenter::Variants ).returns(T.attached_class) end def self.new( - # Specifies the position of the overlay relative to the parent image or video. - # Maps to `lfo` in the URL. + # Sets the anchor point on the base asset from which the overlay offset is + # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only + # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. + anchor_point: nil, + # Specifies the position of the overlay relative to the parent image or video. If + # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this + # parameter is ignored. Maps to `lfo` in the URL. focus: nil, # Specifies the x-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic @@ -55,29 +105,97 @@ module Imagekitio # about # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). x: nil, + # Specifies the x-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or + # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can + # be used with `y`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + x_center: nil, # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn # about # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). - y_: nil + y_: nil, + # Specifies the y-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or + # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can + # be used with `x`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + y_center: nil ) end sig do override.returns( { + anchor_point: Imagekitio::OverlayPosition::AnchorPoint::OrSymbol, focus: Imagekitio::OverlayPosition::Focus::OrSymbol, x: Imagekitio::OverlayPosition::X::Variants, - y_: Imagekitio::OverlayPosition::Y::Variants + x_center: Imagekitio::OverlayPosition::XCenter::Variants, + y_: Imagekitio::OverlayPosition::Y::Variants, + y_center: Imagekitio::OverlayPosition::YCenter::Variants } ) end def to_hash end - # Specifies the position of the overlay relative to the parent image or video. - # Maps to `lfo` in the URL. + # Sets the anchor point on the base asset from which the overlay offset is + # calculated. The default value is `top_left`. Maps to `lap` in the URL. Can only + # be used with one or more of `x`, `y`, `xCenter`, or `yCenter`. + module AnchorPoint + extend Imagekitio::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Imagekitio::OverlayPosition::AnchorPoint) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + TOP = + T.let(:top, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) + LEFT = + T.let(:left, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) + RIGHT = + T.let(:right, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) + BOTTOM = + T.let(:bottom, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) + TOP_LEFT = + T.let( + :top_left, + Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol + ) + TOP_RIGHT = + T.let( + :top_right, + Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol + ) + BOTTOM_LEFT = + T.let( + :bottom_left, + Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol + ) + BOTTOM_RIGHT = + T.let( + :bottom_right, + Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol + ) + CENTER = + T.let(:center, Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol) + + sig do + override.returns( + T::Array[Imagekitio::OverlayPosition::AnchorPoint::TaggedSymbol] + ) + end + def self.values + end + end + + # Specifies the position of the overlay relative to the parent image or video. If + # one or more of `x`, `y`, `xCenter`, or `yCenter` parameters are specified, this + # parameter is ignored. Maps to `lfo` in the URL. module Focus extend Imagekitio::Internal::Type::Enum @@ -127,6 +245,25 @@ module Imagekitio end end + # Specifies the x-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bw_mul_0.4` or + # `bw_sub_cw`. Maps to `lxc` in the URL. Cannot be used together with `x`, but can + # be used with `y`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + module XCenter + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(Float, String) } + + sig do + override.returns( + T::Array[Imagekitio::OverlayPosition::XCenter::Variants] + ) + end + def self.variants + end + end + # Specifies the y-coordinate of the top-left corner of the base asset where the # overlay's top-left corner will be positioned. It also accepts arithmetic # expressions such as `bh_mul_0.4` or `bh_sub_ch`. Maps to `ly` in the URL. Learn @@ -143,6 +280,25 @@ module Imagekitio def self.variants end end + + # Specifies the y-coordinate on the base asset where the overlay's center will be + # positioned. It also accepts arithmetic expressions such as `bh_mul_0.4` or + # `bh_sub_ch`. Maps to `lyc` in the URL. Cannot be used together with `y`, but can + # be used with `x`. Learn about + # [Arithmetic expressions](https://imagekit.io/docs/arithmetic-expressions-in-transformations). + module YCenter + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(Float, String) } + + sig do + override.returns( + T::Array[Imagekitio::OverlayPosition::YCenter::Variants] + ) + end + def self.variants + end + end end end end diff --git a/sig/imagekitio/models/overlay_position.rbs b/sig/imagekitio/models/overlay_position.rbs index e2c9c5a..6508ae2 100644 --- a/sig/imagekitio/models/overlay_position.rbs +++ b/sig/imagekitio/models/overlay_position.rbs @@ -2,12 +2,21 @@ module Imagekitio module Models type overlay_position = { + anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, focus: Imagekitio::Models::OverlayPosition::focus, x: Imagekitio::Models::OverlayPosition::x, - y_: Imagekitio::Models::OverlayPosition::y_ + x_center: Imagekitio::Models::OverlayPosition::x_center, + y_: Imagekitio::Models::OverlayPosition::y_, + y_center: Imagekitio::Models::OverlayPosition::y_center } class OverlayPosition < Imagekitio::Internal::Type::BaseModel + attr_reader anchor_point: Imagekitio::Models::OverlayPosition::anchor_point? + + def anchor_point=: ( + Imagekitio::Models::OverlayPosition::anchor_point + ) -> Imagekitio::Models::OverlayPosition::anchor_point + attr_reader focus: Imagekitio::Models::OverlayPosition::focus? def focus=: ( @@ -20,24 +29,69 @@ module Imagekitio Imagekitio::Models::OverlayPosition::x ) -> Imagekitio::Models::OverlayPosition::x + attr_reader x_center: Imagekitio::Models::OverlayPosition::x_center? + + def x_center=: ( + Imagekitio::Models::OverlayPosition::x_center + ) -> Imagekitio::Models::OverlayPosition::x_center + attr_reader y_: Imagekitio::Models::OverlayPosition::y_? def y_=: ( Imagekitio::Models::OverlayPosition::y_ ) -> Imagekitio::Models::OverlayPosition::y_ + attr_reader y_center: Imagekitio::Models::OverlayPosition::y_center? + + def y_center=: ( + Imagekitio::Models::OverlayPosition::y_center + ) -> Imagekitio::Models::OverlayPosition::y_center + def initialize: ( + ?anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, ?focus: Imagekitio::Models::OverlayPosition::focus, ?x: Imagekitio::Models::OverlayPosition::x, - ?y_: Imagekitio::Models::OverlayPosition::y_ + ?x_center: Imagekitio::Models::OverlayPosition::x_center, + ?y_: Imagekitio::Models::OverlayPosition::y_, + ?y_center: Imagekitio::Models::OverlayPosition::y_center ) -> void def to_hash: -> { + anchor_point: Imagekitio::Models::OverlayPosition::anchor_point, focus: Imagekitio::Models::OverlayPosition::focus, x: Imagekitio::Models::OverlayPosition::x, - y_: Imagekitio::Models::OverlayPosition::y_ + x_center: Imagekitio::Models::OverlayPosition::x_center, + y_: Imagekitio::Models::OverlayPosition::y_, + y_center: Imagekitio::Models::OverlayPosition::y_center } + type anchor_point = + :top + | :left + | :right + | :bottom + | :top_left + | :top_right + | :bottom_left + | :bottom_right + | :center + + module AnchorPoint + extend Imagekitio::Internal::Type::Enum + + TOP: :top + LEFT: :left + RIGHT: :right + BOTTOM: :bottom + TOP_LEFT: :top_left + TOP_RIGHT: :top_right + BOTTOM_LEFT: :bottom_left + BOTTOM_RIGHT: :bottom_right + CENTER: :center + + def self?.values: -> ::Array[Imagekitio::Models::OverlayPosition::anchor_point] + end + type focus = :center | :top @@ -73,6 +127,14 @@ module Imagekitio def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::x] end + type x_center = Float | String + + module XCenter + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::x_center] + end + type y_ = Float | String module Y @@ -80,6 +142,14 @@ module Imagekitio def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::y_] end + + type y_center = Float | String + + module YCenter + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::OverlayPosition::y_center] + end end end end From c621b14ca3a92b3428bd3a41156539aba3668097 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 06:55:14 +0000 Subject: [PATCH 06/17] feat(api): update webhook event names and remove DAM prefix --- .stats.yml | 4 ++-- lib/imagekitio.rb | 10 ++++----- lib/imagekitio/models.rb | 20 ++++++++--------- ...event.rb => file_created_webhook_event.rb} | 2 +- ...event.rb => file_deleted_webhook_event.rb} | 8 +++---- ...event.rb => file_updated_webhook_event.rb} | 2 +- ... => file_version_created_webhook_event.rb} | 2 +- ... => file_version_deleted_webhook_event.rb} | 8 +++---- .../models/unsafe_unwrap_webhook_event.rb | 12 +++++----- lib/imagekitio/models/unwrap_webhook_event.rb | 12 +++++----- lib/imagekitio/resources/webhooks.rb | 4 ++-- rbi/imagekitio/models.rbi | 22 ++++++++++--------- ...ent.rbi => file_created_webhook_event.rbi} | 7 ++++-- ...ent.rbi => file_deleted_webhook_event.rbi} | 19 ++++++++++------ ...ent.rbi => file_updated_webhook_event.rbi} | 7 ++++-- ...=> file_version_created_webhook_event.rbi} | 4 ++-- ...=> file_version_deleted_webhook_event.rbi} | 16 ++++++++------ .../models/unsafe_unwrap_webhook_event.rbi | 10 ++++----- .../models/unwrap_webhook_event.rbi | 10 ++++----- rbi/imagekitio/resources/webhooks.rbi | 20 ++++++++--------- sig/imagekitio/models.rbs | 20 ++++++++--------- ...ent.rbs => file_created_webhook_event.rbs} | 4 ++-- ...ent.rbs => file_deleted_webhook_event.rbs} | 16 +++++++------- ...ent.rbs => file_updated_webhook_event.rbs} | 4 ++-- ...=> file_version_created_webhook_event.rbs} | 4 ++-- ...=> file_version_deleted_webhook_event.rbs} | 16 +++++++------- .../models/unsafe_unwrap_webhook_event.rbs | 10 ++++----- .../models/unwrap_webhook_event.rbs | 10 ++++----- sig/imagekitio/resources/webhooks.rbs | 20 ++++++++--------- 29 files changed, 159 insertions(+), 144 deletions(-) rename lib/imagekitio/models/{dam_file_create_event.rb => file_created_webhook_event.rb} (93%) rename lib/imagekitio/models/{dam_file_delete_event.rb => file_deleted_webhook_event.rb} (79%) rename lib/imagekitio/models/{dam_file_update_event.rb => file_updated_webhook_event.rb} (93%) rename lib/imagekitio/models/{dam_file_version_create_event.rb => file_version_created_webhook_event.rb} (92%) rename lib/imagekitio/models/{dam_file_version_delete_event.rb => file_version_deleted_webhook_event.rb} (82%) rename rbi/imagekitio/models/{dam_file_create_event.rbi => file_created_webhook_event.rbi} (85%) rename rbi/imagekitio/models/{dam_file_delete_event.rbi => file_deleted_webhook_event.rbi} (73%) rename rbi/imagekitio/models/{dam_file_update_event.rbi => file_updated_webhook_event.rbi} (85%) rename rbi/imagekitio/models/{dam_file_version_create_event.rbi => file_version_created_webhook_event.rbi} (90%) rename rbi/imagekitio/models/{dam_file_version_delete_event.rbi => file_version_deleted_webhook_event.rbi} (78%) rename sig/imagekitio/models/{dam_file_create_event.rbs => file_created_webhook_event.rbs} (85%) rename sig/imagekitio/models/{dam_file_delete_event.rbs => file_deleted_webhook_event.rbs} (62%) rename sig/imagekitio/models/{dam_file_update_event.rbs => file_updated_webhook_event.rbs} (85%) rename sig/imagekitio/models/{dam_file_version_create_event.rbs => file_version_created_webhook_event.rbs} (85%) rename sig/imagekitio/models/{dam_file_version_delete_event.rbs => file_version_deleted_webhook_event.rbs} (63%) diff --git a/.stats.yml b/.stats.yml index 0898c6b..4bc5fef 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-18b46cb8c1dd5cd0eea8559fa9671600540c5c4bee32f2d74f932416b7a1aee0.yml -openapi_spec_hash: 539770659847d04a92ef965a5313adde +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-d73a37dc3426586109bd153f02c6a605036b6a7396bba5173d013468c5291ce6.yml +openapi_spec_hash: c193c6e557ff477481ec8d5ac8a0c96e config_hash: 17e408231b0b01676298010c7405f483 diff --git a/lib/imagekitio.rb b/lib/imagekitio.rb index 7517625..634a309 100644 --- a/lib/imagekitio.rb +++ b/lib/imagekitio.rb @@ -91,15 +91,12 @@ require_relative "imagekitio/models/custom_metadata_field_list_params" require_relative "imagekitio/models/custom_metadata_field_list_response" require_relative "imagekitio/models/custom_metadata_field_update_params" -require_relative "imagekitio/models/dam_file_create_event" -require_relative "imagekitio/models/dam_file_delete_event" -require_relative "imagekitio/models/dam_file_update_event" -require_relative "imagekitio/models/dam_file_version_create_event" -require_relative "imagekitio/models/dam_file_version_delete_event" require_relative "imagekitio/models/extension_config" require_relative "imagekitio/models/extensions" require_relative "imagekitio/models/file_copy_params" require_relative "imagekitio/models/file_copy_response" +require_relative "imagekitio/models/file_created_webhook_event" +require_relative "imagekitio/models/file_deleted_webhook_event" require_relative "imagekitio/models/file_delete_params" require_relative "imagekitio/models/file_get_params" require_relative "imagekitio/models/file_move_params" @@ -122,10 +119,13 @@ require_relative "imagekitio/models/files/version_list_params" require_relative "imagekitio/models/files/version_list_response" require_relative "imagekitio/models/files/version_restore_params" +require_relative "imagekitio/models/file_updated_webhook_event" require_relative "imagekitio/models/file_update_params" require_relative "imagekitio/models/file_update_response" require_relative "imagekitio/models/file_upload_params" require_relative "imagekitio/models/file_upload_response" +require_relative "imagekitio/models/file_version_created_webhook_event" +require_relative "imagekitio/models/file_version_deleted_webhook_event" require_relative "imagekitio/models/folder" require_relative "imagekitio/models/folder_copy_params" require_relative "imagekitio/models/folder_copy_response" diff --git a/lib/imagekitio/models.rb b/lib/imagekitio/models.rb index f856e68..6fc992e 100644 --- a/lib/imagekitio/models.rb +++ b/lib/imagekitio/models.rb @@ -61,16 +61,6 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams - DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent - - DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent - - DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent - - DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent - - DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent - ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem @@ -82,6 +72,10 @@ module Imagekitio FileCopyParams = Imagekitio::Models::FileCopyParams + FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + + FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + FileDeleteParams = Imagekitio::Models::FileDeleteParams FileGetParams = Imagekitio::Models::FileGetParams @@ -92,10 +86,16 @@ module Imagekitio Files = Imagekitio::Models::Files + FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + FileUpdateParams = Imagekitio::Models::FileUpdateParams FileUploadParams = Imagekitio::Models::FileUploadParams + FileVersionCreatedWebhookEvent = Imagekitio::Models::FileVersionCreatedWebhookEvent + + FileVersionDeletedWebhookEvent = Imagekitio::Models::FileVersionDeletedWebhookEvent + Folder = Imagekitio::Models::Folder FolderCopyParams = Imagekitio::Models::FolderCopyParams diff --git a/lib/imagekitio/models/dam_file_create_event.rb b/lib/imagekitio/models/file_created_webhook_event.rb similarity index 93% rename from lib/imagekitio/models/dam_file_create_event.rb rename to lib/imagekitio/models/file_created_webhook_event.rb index ecc93ab..f4f27ec 100644 --- a/lib/imagekitio/models/dam_file_create_event.rb +++ b/lib/imagekitio/models/file_created_webhook_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/dam_file_delete_event.rb b/lib/imagekitio/models/file_deleted_webhook_event.rb similarity index 79% rename from lib/imagekitio/models/dam_file_delete_event.rb rename to lib/imagekitio/models/file_deleted_webhook_event.rb index 2b05474..7d0e062 100644 --- a/lib/imagekitio/models/dam_file_delete_event.rb +++ b/lib/imagekitio/models/file_deleted_webhook_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # @@ -11,8 +11,8 @@ class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute data # - # @return [Imagekitio::Models::DamFileDeleteEvent::Data] - required :data, -> { Imagekitio::DamFileDeleteEvent::Data } + # @return [Imagekitio::Models::FileDeletedWebhookEvent::Data] + required :data, -> { Imagekitio::FileDeletedWebhookEvent::Data } # @!attribute type # Type of the webhook event. @@ -25,7 +25,7 @@ class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent # # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. # - # @param data [Imagekitio::Models::DamFileDeleteEvent::Data] + # @param data [Imagekitio::Models::FileDeletedWebhookEvent::Data] # # @param type [Symbol, :"file.deleted"] Type of the webhook event. diff --git a/lib/imagekitio/models/dam_file_update_event.rb b/lib/imagekitio/models/file_updated_webhook_event.rb similarity index 93% rename from lib/imagekitio/models/dam_file_update_event.rb rename to lib/imagekitio/models/file_updated_webhook_event.rb index 6e60e04..bd75cfb 100644 --- a/lib/imagekitio/models/dam_file_update_event.rb +++ b/lib/imagekitio/models/file_updated_webhook_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/dam_file_version_create_event.rb b/lib/imagekitio/models/file_version_created_webhook_event.rb similarity index 92% rename from lib/imagekitio/models/dam_file_version_create_event.rb rename to lib/imagekitio/models/file_version_created_webhook_event.rb index 538dc83..6bc8679 100644 --- a/lib/imagekitio/models/dam_file_version_create_event.rb +++ b/lib/imagekitio/models/file_version_created_webhook_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/dam_file_version_delete_event.rb b/lib/imagekitio/models/file_version_deleted_webhook_event.rb similarity index 82% rename from lib/imagekitio/models/dam_file_version_delete_event.rb rename to lib/imagekitio/models/file_version_deleted_webhook_event.rb index 3caa015..111a273 100644 --- a/lib/imagekitio/models/dam_file_version_delete_event.rb +++ b/lib/imagekitio/models/file_version_deleted_webhook_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # @@ -11,8 +11,8 @@ class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute data # - # @return [Imagekitio::Models::DamFileVersionDeleteEvent::Data] - required :data, -> { Imagekitio::DamFileVersionDeleteEvent::Data } + # @return [Imagekitio::Models::FileVersionDeletedWebhookEvent::Data] + required :data, -> { Imagekitio::FileVersionDeletedWebhookEvent::Data } # @!attribute type # Type of the webhook event. @@ -25,7 +25,7 @@ class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent # # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. # - # @param data [Imagekitio::Models::DamFileVersionDeleteEvent::Data] + # @param data [Imagekitio::Models::FileVersionDeletedWebhookEvent::Data] # # @param type [Symbol, :"file-version.deleted"] Type of the webhook event. diff --git a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb index dfad3e5..6b8283c 100644 --- a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb @@ -32,22 +32,22 @@ module UnsafeUnwrapWebhookEvent variant -> { Imagekitio::UploadPostTransformErrorEvent } # Triggered when a file is created. - variant -> { Imagekitio::DamFileCreateEvent } + variant -> { Imagekitio::FileCreatedWebhookEvent } # Triggered when a file is updated. - variant -> { Imagekitio::DamFileUpdateEvent } + variant -> { Imagekitio::FileUpdatedWebhookEvent } # Triggered when a file is deleted. - variant -> { Imagekitio::DamFileDeleteEvent } + variant -> { Imagekitio::FileDeletedWebhookEvent } # Triggered when a file version is created. - variant -> { Imagekitio::DamFileVersionCreateEvent } + variant -> { Imagekitio::FileVersionCreatedWebhookEvent } # Triggered when a file version is deleted. - variant -> { Imagekitio::DamFileVersionDeleteEvent } + variant -> { Imagekitio::FileVersionDeletedWebhookEvent } # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent)] end end end diff --git a/lib/imagekitio/models/unwrap_webhook_event.rb b/lib/imagekitio/models/unwrap_webhook_event.rb index b42c6ff..680870c 100644 --- a/lib/imagekitio/models/unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unwrap_webhook_event.rb @@ -32,22 +32,22 @@ module UnwrapWebhookEvent variant -> { Imagekitio::UploadPostTransformErrorEvent } # Triggered when a file is created. - variant -> { Imagekitio::DamFileCreateEvent } + variant -> { Imagekitio::FileCreatedWebhookEvent } # Triggered when a file is updated. - variant -> { Imagekitio::DamFileUpdateEvent } + variant -> { Imagekitio::FileUpdatedWebhookEvent } # Triggered when a file is deleted. - variant -> { Imagekitio::DamFileDeleteEvent } + variant -> { Imagekitio::FileDeletedWebhookEvent } # Triggered when a file version is created. - variant -> { Imagekitio::DamFileVersionCreateEvent } + variant -> { Imagekitio::FileVersionCreatedWebhookEvent } # Triggered when a file version is deleted. - variant -> { Imagekitio::DamFileVersionDeleteEvent } + variant -> { Imagekitio::FileVersionDeletedWebhookEvent } # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent)] end end end diff --git a/lib/imagekitio/resources/webhooks.rb b/lib/imagekitio/resources/webhooks.rb index 183277a..92848a5 100644 --- a/lib/imagekitio/resources/webhooks.rb +++ b/lib/imagekitio/resources/webhooks.rb @@ -5,7 +5,7 @@ module Resources class Webhooks # @param payload [String] The raw webhook payload as a string # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent] def unsafe_unwrap(payload) parsed = JSON.parse(payload, symbolize_names: true) Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnsafeUnwrapWebhookEvent, parsed) @@ -17,7 +17,7 @@ def unsafe_unwrap(payload) # # @param key [String, nil] The webhook signing key # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::DamFileCreateEvent, Imagekitio::Models::DamFileUpdateEvent, Imagekitio::Models::DamFileDeleteEvent, Imagekitio::Models::DamFileVersionCreateEvent, Imagekitio::Models::DamFileVersionDeleteEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent] def unwrap(payload, headers:, key: @client.webhook_secret) if key.nil? raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument") diff --git a/rbi/imagekitio/models.rbi b/rbi/imagekitio/models.rbi index ce9fca7..547fb27 100644 --- a/rbi/imagekitio/models.rbi +++ b/rbi/imagekitio/models.rbi @@ -27,16 +27,6 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams - DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent - - DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent - - DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent - - DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent - - DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent - ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem @@ -48,6 +38,10 @@ module Imagekitio FileCopyParams = Imagekitio::Models::FileCopyParams + FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + + FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + FileDeleteParams = Imagekitio::Models::FileDeleteParams FileGetParams = Imagekitio::Models::FileGetParams @@ -58,10 +52,18 @@ module Imagekitio Files = Imagekitio::Models::Files + FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + FileUpdateParams = Imagekitio::Models::FileUpdateParams FileUploadParams = Imagekitio::Models::FileUploadParams + FileVersionCreatedWebhookEvent = + Imagekitio::Models::FileVersionCreatedWebhookEvent + + FileVersionDeletedWebhookEvent = + Imagekitio::Models::FileVersionDeletedWebhookEvent + Folder = Imagekitio::Models::Folder FolderCopyParams = Imagekitio::Models::FolderCopyParams diff --git a/rbi/imagekitio/models/dam_file_create_event.rbi b/rbi/imagekitio/models/file_created_webhook_event.rbi similarity index 85% rename from rbi/imagekitio/models/dam_file_create_event.rbi rename to rbi/imagekitio/models/file_created_webhook_event.rbi index d76cf51..203d081 100644 --- a/rbi/imagekitio/models/dam_file_create_event.rbi +++ b/rbi/imagekitio/models/file_created_webhook_event.rbi @@ -2,10 +2,13 @@ module Imagekitio module Models - class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any(Imagekitio::DamFileCreateEvent, Imagekitio::Internal::AnyHash) + T.any( + Imagekitio::FileCreatedWebhookEvent, + Imagekitio::Internal::AnyHash + ) end # Timestamp of when the event occurred in ISO8601 format. diff --git a/rbi/imagekitio/models/dam_file_delete_event.rbi b/rbi/imagekitio/models/file_deleted_webhook_event.rbi similarity index 73% rename from rbi/imagekitio/models/dam_file_delete_event.rbi rename to rbi/imagekitio/models/file_deleted_webhook_event.rbi index 125eeaf..b56fb83 100644 --- a/rbi/imagekitio/models/dam_file_delete_event.rbi +++ b/rbi/imagekitio/models/file_deleted_webhook_event.rbi @@ -2,20 +2,25 @@ module Imagekitio module Models - class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any(Imagekitio::DamFileDeleteEvent, Imagekitio::Internal::AnyHash) + T.any( + Imagekitio::FileDeletedWebhookEvent, + Imagekitio::Internal::AnyHash + ) end # Timestamp of when the event occurred in ISO8601 format. sig { returns(Time) } attr_accessor :created_at - sig { returns(Imagekitio::DamFileDeleteEvent::Data) } + sig { returns(Imagekitio::FileDeletedWebhookEvent::Data) } attr_reader :data - sig { params(data: Imagekitio::DamFileDeleteEvent::Data::OrHash).void } + sig do + params(data: Imagekitio::FileDeletedWebhookEvent::Data::OrHash).void + end attr_writer :data # Type of the webhook event. @@ -26,7 +31,7 @@ module Imagekitio sig do params( created_at: Time, - data: Imagekitio::DamFileDeleteEvent::Data::OrHash, + data: Imagekitio::FileDeletedWebhookEvent::Data::OrHash, type: Symbol ).returns(T.attached_class) end @@ -43,7 +48,7 @@ module Imagekitio override.returns( { created_at: Time, - data: Imagekitio::DamFileDeleteEvent::Data, + data: Imagekitio::FileDeletedWebhookEvent::Data, type: Symbol } ) @@ -55,7 +60,7 @@ module Imagekitio OrHash = T.type_alias do T.any( - Imagekitio::DamFileDeleteEvent::Data, + Imagekitio::FileDeletedWebhookEvent::Data, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/dam_file_update_event.rbi b/rbi/imagekitio/models/file_updated_webhook_event.rbi similarity index 85% rename from rbi/imagekitio/models/dam_file_update_event.rbi rename to rbi/imagekitio/models/file_updated_webhook_event.rbi index 298d652..9c15767 100644 --- a/rbi/imagekitio/models/dam_file_update_event.rbi +++ b/rbi/imagekitio/models/file_updated_webhook_event.rbi @@ -2,10 +2,13 @@ module Imagekitio module Models - class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any(Imagekitio::DamFileUpdateEvent, Imagekitio::Internal::AnyHash) + T.any( + Imagekitio::FileUpdatedWebhookEvent, + Imagekitio::Internal::AnyHash + ) end # Timestamp of when the event occurred in ISO8601 format. diff --git a/rbi/imagekitio/models/dam_file_version_create_event.rbi b/rbi/imagekitio/models/file_version_created_webhook_event.rbi similarity index 90% rename from rbi/imagekitio/models/dam_file_version_create_event.rbi rename to rbi/imagekitio/models/file_version_created_webhook_event.rbi index c41031c..95bed2a 100644 --- a/rbi/imagekitio/models/dam_file_version_create_event.rbi +++ b/rbi/imagekitio/models/file_version_created_webhook_event.rbi @@ -2,11 +2,11 @@ module Imagekitio module Models - class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do T.any( - Imagekitio::DamFileVersionCreateEvent, + Imagekitio::FileVersionCreatedWebhookEvent, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/dam_file_version_delete_event.rbi b/rbi/imagekitio/models/file_version_deleted_webhook_event.rbi similarity index 78% rename from rbi/imagekitio/models/dam_file_version_delete_event.rbi rename to rbi/imagekitio/models/file_version_deleted_webhook_event.rbi index 4f533ac..f7963ba 100644 --- a/rbi/imagekitio/models/dam_file_version_delete_event.rbi +++ b/rbi/imagekitio/models/file_version_deleted_webhook_event.rbi @@ -2,11 +2,11 @@ module Imagekitio module Models - class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do T.any( - Imagekitio::DamFileVersionDeleteEvent, + Imagekitio::FileVersionDeletedWebhookEvent, Imagekitio::Internal::AnyHash ) end @@ -15,11 +15,13 @@ module Imagekitio sig { returns(Time) } attr_accessor :created_at - sig { returns(Imagekitio::DamFileVersionDeleteEvent::Data) } + sig { returns(Imagekitio::FileVersionDeletedWebhookEvent::Data) } attr_reader :data sig do - params(data: Imagekitio::DamFileVersionDeleteEvent::Data::OrHash).void + params( + data: Imagekitio::FileVersionDeletedWebhookEvent::Data::OrHash + ).void end attr_writer :data @@ -31,7 +33,7 @@ module Imagekitio sig do params( created_at: Time, - data: Imagekitio::DamFileVersionDeleteEvent::Data::OrHash, + data: Imagekitio::FileVersionDeletedWebhookEvent::Data::OrHash, type: Symbol ).returns(T.attached_class) end @@ -48,7 +50,7 @@ module Imagekitio override.returns( { created_at: Time, - data: Imagekitio::DamFileVersionDeleteEvent::Data, + data: Imagekitio::FileVersionDeletedWebhookEvent::Data, type: Symbol } ) @@ -60,7 +62,7 @@ module Imagekitio OrHash = T.type_alias do T.any( - Imagekitio::DamFileVersionDeleteEvent::Data, + Imagekitio::FileVersionDeletedWebhookEvent::Data, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi index d330306..acc898a 100644 --- a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi @@ -18,11 +18,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::DamFileCreateEvent, - Imagekitio::DamFileUpdateEvent, - Imagekitio::DamFileDeleteEvent, - Imagekitio::DamFileVersionCreateEvent, - Imagekitio::DamFileVersionDeleteEvent + Imagekitio::FileCreatedWebhookEvent, + Imagekitio::FileUpdatedWebhookEvent, + Imagekitio::FileDeletedWebhookEvent, + Imagekitio::FileVersionCreatedWebhookEvent, + Imagekitio::FileVersionDeletedWebhookEvent ) end diff --git a/rbi/imagekitio/models/unwrap_webhook_event.rbi b/rbi/imagekitio/models/unwrap_webhook_event.rbi index a7920e7..7209f11 100644 --- a/rbi/imagekitio/models/unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unwrap_webhook_event.rbi @@ -18,11 +18,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::DamFileCreateEvent, - Imagekitio::DamFileUpdateEvent, - Imagekitio::DamFileDeleteEvent, - Imagekitio::DamFileVersionCreateEvent, - Imagekitio::DamFileVersionDeleteEvent + Imagekitio::FileCreatedWebhookEvent, + Imagekitio::FileUpdatedWebhookEvent, + Imagekitio::FileDeletedWebhookEvent, + Imagekitio::FileVersionCreatedWebhookEvent, + Imagekitio::FileVersionDeletedWebhookEvent ) end diff --git a/rbi/imagekitio/resources/webhooks.rbi b/rbi/imagekitio/resources/webhooks.rbi index d70f6c9..a4b512b 100644 --- a/rbi/imagekitio/resources/webhooks.rbi +++ b/rbi/imagekitio/resources/webhooks.rbi @@ -13,11 +13,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::DamFileCreateEvent, - Imagekitio::DamFileUpdateEvent, - Imagekitio::DamFileDeleteEvent, - Imagekitio::DamFileVersionCreateEvent, - Imagekitio::DamFileVersionDeleteEvent + Imagekitio::FileCreatedWebhookEvent, + Imagekitio::FileUpdatedWebhookEvent, + Imagekitio::FileDeletedWebhookEvent, + Imagekitio::FileVersionCreatedWebhookEvent, + Imagekitio::FileVersionDeletedWebhookEvent ) ) end @@ -41,11 +41,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::DamFileCreateEvent, - Imagekitio::DamFileUpdateEvent, - Imagekitio::DamFileDeleteEvent, - Imagekitio::DamFileVersionCreateEvent, - Imagekitio::DamFileVersionDeleteEvent + Imagekitio::FileCreatedWebhookEvent, + Imagekitio::FileUpdatedWebhookEvent, + Imagekitio::FileDeletedWebhookEvent, + Imagekitio::FileVersionCreatedWebhookEvent, + Imagekitio::FileVersionDeletedWebhookEvent ) ) end diff --git a/sig/imagekitio/models.rbs b/sig/imagekitio/models.rbs index 603b5db..581643c 100644 --- a/sig/imagekitio/models.rbs +++ b/sig/imagekitio/models.rbs @@ -21,16 +21,6 @@ module Imagekitio class CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams - class DamFileCreateEvent = Imagekitio::Models::DamFileCreateEvent - - class DamFileDeleteEvent = Imagekitio::Models::DamFileDeleteEvent - - class DamFileUpdateEvent = Imagekitio::Models::DamFileUpdateEvent - - class DamFileVersionCreateEvent = Imagekitio::Models::DamFileVersionCreateEvent - - class DamFileVersionDeleteEvent = Imagekitio::Models::DamFileVersionDeleteEvent - type extension_item = Imagekitio::Models::extension_item module ExtensionConfig = Imagekitio::Models::ExtensionConfig @@ -41,6 +31,10 @@ module Imagekitio class FileCopyParams = Imagekitio::Models::FileCopyParams + class FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + + class FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + class FileDeleteParams = Imagekitio::Models::FileDeleteParams class FileGetParams = Imagekitio::Models::FileGetParams @@ -51,10 +45,16 @@ module Imagekitio module Files = Imagekitio::Models::Files + class FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + class FileUpdateParams = Imagekitio::Models::FileUpdateParams class FileUploadParams = Imagekitio::Models::FileUploadParams + class FileVersionCreatedWebhookEvent = Imagekitio::Models::FileVersionCreatedWebhookEvent + + class FileVersionDeletedWebhookEvent = Imagekitio::Models::FileVersionDeletedWebhookEvent + class Folder = Imagekitio::Models::Folder class FolderCopyParams = Imagekitio::Models::FolderCopyParams diff --git a/sig/imagekitio/models/dam_file_create_event.rbs b/sig/imagekitio/models/file_created_webhook_event.rbs similarity index 85% rename from sig/imagekitio/models/dam_file_create_event.rbs rename to sig/imagekitio/models/file_created_webhook_event.rbs index b10c981..828fc93 100644 --- a/sig/imagekitio/models/dam_file_create_event.rbs +++ b/sig/imagekitio/models/file_created_webhook_event.rbs @@ -1,9 +1,9 @@ module Imagekitio module Models - type dam_file_create_event = + type file_created_webhook_event = { created_at: Time, data: Imagekitio::File, type: :"file.created" } - class DamFileCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/dam_file_delete_event.rbs b/sig/imagekitio/models/file_deleted_webhook_event.rbs similarity index 62% rename from sig/imagekitio/models/dam_file_delete_event.rbs rename to sig/imagekitio/models/file_deleted_webhook_event.rbs index 63b6e3c..685b909 100644 --- a/sig/imagekitio/models/dam_file_delete_event.rbs +++ b/sig/imagekitio/models/file_deleted_webhook_event.rbs @@ -1,22 +1,22 @@ module Imagekitio module Models - type dam_file_delete_event = + type file_deleted_webhook_event = { created_at: Time, - data: Imagekitio::DamFileDeleteEvent::Data, + data: Imagekitio::FileDeletedWebhookEvent::Data, type: :"file.deleted" } - class DamFileDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time - def data: -> Imagekitio::DamFileDeleteEvent::Data + def data: -> Imagekitio::FileDeletedWebhookEvent::Data def data=: ( - Imagekitio::DamFileDeleteEvent::Data _ - ) -> Imagekitio::DamFileDeleteEvent::Data + Imagekitio::FileDeletedWebhookEvent::Data _ + ) -> Imagekitio::FileDeletedWebhookEvent::Data def `type`: -> :"file.deleted" @@ -24,13 +24,13 @@ module Imagekitio def initialize: ( created_at: Time, - data: Imagekitio::DamFileDeleteEvent::Data, + data: Imagekitio::FileDeletedWebhookEvent::Data, ?type: :"file.deleted" ) -> void def to_hash: -> { created_at: Time, - data: Imagekitio::DamFileDeleteEvent::Data, + data: Imagekitio::FileDeletedWebhookEvent::Data, type: :"file.deleted" } diff --git a/sig/imagekitio/models/dam_file_update_event.rbs b/sig/imagekitio/models/file_updated_webhook_event.rbs similarity index 85% rename from sig/imagekitio/models/dam_file_update_event.rbs rename to sig/imagekitio/models/file_updated_webhook_event.rbs index 93fde8c..6672998 100644 --- a/sig/imagekitio/models/dam_file_update_event.rbs +++ b/sig/imagekitio/models/file_updated_webhook_event.rbs @@ -1,9 +1,9 @@ module Imagekitio module Models - type dam_file_update_event = + type file_updated_webhook_event = { created_at: Time, data: Imagekitio::File, type: :"file.updated" } - class DamFileUpdateEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/dam_file_version_create_event.rbs b/sig/imagekitio/models/file_version_created_webhook_event.rbs similarity index 85% rename from sig/imagekitio/models/dam_file_version_create_event.rbs rename to sig/imagekitio/models/file_version_created_webhook_event.rbs index c7d67b2..25e682a 100644 --- a/sig/imagekitio/models/dam_file_version_create_event.rbs +++ b/sig/imagekitio/models/file_version_created_webhook_event.rbs @@ -1,13 +1,13 @@ module Imagekitio module Models - type dam_file_version_create_event = + type file_version_created_webhook_event = { created_at: Time, data: Imagekitio::File, type: :"file-version.created" } - class DamFileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/dam_file_version_delete_event.rbs b/sig/imagekitio/models/file_version_deleted_webhook_event.rbs similarity index 63% rename from sig/imagekitio/models/dam_file_version_delete_event.rbs rename to sig/imagekitio/models/file_version_deleted_webhook_event.rbs index 855fbd5..5ff0b6a 100644 --- a/sig/imagekitio/models/dam_file_version_delete_event.rbs +++ b/sig/imagekitio/models/file_version_deleted_webhook_event.rbs @@ -1,22 +1,22 @@ module Imagekitio module Models - type dam_file_version_delete_event = + type file_version_deleted_webhook_event = { created_at: Time, - data: Imagekitio::DamFileVersionDeleteEvent::Data, + data: Imagekitio::FileVersionDeletedWebhookEvent::Data, type: :"file-version.deleted" } - class DamFileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time - def data: -> Imagekitio::DamFileVersionDeleteEvent::Data + def data: -> Imagekitio::FileVersionDeletedWebhookEvent::Data def data=: ( - Imagekitio::DamFileVersionDeleteEvent::Data _ - ) -> Imagekitio::DamFileVersionDeleteEvent::Data + Imagekitio::FileVersionDeletedWebhookEvent::Data _ + ) -> Imagekitio::FileVersionDeletedWebhookEvent::Data def `type`: -> :"file-version.deleted" @@ -24,13 +24,13 @@ module Imagekitio def initialize: ( created_at: Time, - data: Imagekitio::DamFileVersionDeleteEvent::Data, + data: Imagekitio::FileVersionDeletedWebhookEvent::Data, ?type: :"file-version.deleted" ) -> void def to_hash: -> { created_at: Time, - data: Imagekitio::DamFileVersionDeleteEvent::Data, + data: Imagekitio::FileVersionDeletedWebhookEvent::Data, type: :"file-version.deleted" } diff --git a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs index f818ad7..3058018 100644 --- a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs @@ -8,11 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::DamFileCreateEvent - | Imagekitio::DamFileUpdateEvent - | Imagekitio::DamFileDeleteEvent - | Imagekitio::DamFileVersionCreateEvent - | Imagekitio::DamFileVersionDeleteEvent + | Imagekitio::FileCreatedWebhookEvent + | Imagekitio::FileUpdatedWebhookEvent + | Imagekitio::FileDeletedWebhookEvent + | Imagekitio::FileVersionCreatedWebhookEvent + | Imagekitio::FileVersionDeletedWebhookEvent module UnsafeUnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/models/unwrap_webhook_event.rbs b/sig/imagekitio/models/unwrap_webhook_event.rbs index 3aeb72e..737c44a 100644 --- a/sig/imagekitio/models/unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unwrap_webhook_event.rbs @@ -8,11 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::DamFileCreateEvent - | Imagekitio::DamFileUpdateEvent - | Imagekitio::DamFileDeleteEvent - | Imagekitio::DamFileVersionCreateEvent - | Imagekitio::DamFileVersionDeleteEvent + | Imagekitio::FileCreatedWebhookEvent + | Imagekitio::FileUpdatedWebhookEvent + | Imagekitio::FileDeletedWebhookEvent + | Imagekitio::FileVersionCreatedWebhookEvent + | Imagekitio::FileVersionDeletedWebhookEvent module UnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/resources/webhooks.rbs b/sig/imagekitio/resources/webhooks.rbs index 7383b89..a9a272a 100644 --- a/sig/imagekitio/resources/webhooks.rbs +++ b/sig/imagekitio/resources/webhooks.rbs @@ -10,11 +10,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::DamFileCreateEvent - | Imagekitio::DamFileUpdateEvent - | Imagekitio::DamFileDeleteEvent - | Imagekitio::DamFileVersionCreateEvent - | Imagekitio::DamFileVersionDeleteEvent) + | Imagekitio::FileCreatedWebhookEvent + | Imagekitio::FileUpdatedWebhookEvent + | Imagekitio::FileDeletedWebhookEvent + | Imagekitio::FileVersionCreatedWebhookEvent + | Imagekitio::FileVersionDeletedWebhookEvent) def unwrap: ( String payload, @@ -27,11 +27,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::DamFileCreateEvent - | Imagekitio::DamFileUpdateEvent - | Imagekitio::DamFileDeleteEvent - | Imagekitio::DamFileVersionCreateEvent - | Imagekitio::DamFileVersionDeleteEvent) + | Imagekitio::FileCreatedWebhookEvent + | Imagekitio::FileUpdatedWebhookEvent + | Imagekitio::FileDeletedWebhookEvent + | Imagekitio::FileVersionCreatedWebhookEvent + | Imagekitio::FileVersionDeletedWebhookEvent) def initialize: (client: Imagekitio::Client) -> void end From 5998787a6607eb936b51b46b92e24679ac2dd321 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 06:59:31 +0000 Subject: [PATCH 07/17] fix(api): rename DamFile events to File for consistency --- .stats.yml | 2 +- lib/imagekitio.rb | 10 +++++----- lib/imagekitio/models.rb | 10 +++++----- ..._webhook_event.rb => file_create_event.rb} | 2 +- ..._webhook_event.rb => file_delete_event.rb} | 8 ++++---- ..._webhook_event.rb => file_update_event.rb} | 2 +- ..._event.rb => file_version_create_event.rb} | 2 +- ..._event.rb => file_version_delete_event.rb} | 8 ++++---- .../models/unsafe_unwrap_webhook_event.rb | 12 +++++------ lib/imagekitio/models/unwrap_webhook_event.rb | 12 +++++------ lib/imagekitio/resources/webhooks.rb | 4 ++-- rbi/imagekitio/models.rbi | 12 +++++------ ...ebhook_event.rbi => file_create_event.rbi} | 7 ++----- ...ebhook_event.rbi => file_delete_event.rbi} | 19 +++++++----------- ...ebhook_event.rbi => file_update_event.rbi} | 7 ++----- ...vent.rbi => file_version_create_event.rbi} | 4 ++-- ...vent.rbi => file_version_delete_event.rbi} | 16 +++++++-------- .../models/unsafe_unwrap_webhook_event.rbi | 10 +++++----- .../models/unwrap_webhook_event.rbi | 10 +++++----- rbi/imagekitio/resources/webhooks.rbi | 20 +++++++++---------- sig/imagekitio/models.rbs | 10 +++++----- ...ebhook_event.rbs => file_create_event.rbs} | 4 ++-- ...ebhook_event.rbs => file_delete_event.rbs} | 16 +++++++-------- ...ebhook_event.rbs => file_update_event.rbs} | 4 ++-- ...vent.rbs => file_version_create_event.rbs} | 4 ++-- ...vent.rbs => file_version_delete_event.rbs} | 16 +++++++-------- .../models/unsafe_unwrap_webhook_event.rbs | 10 +++++----- .../models/unwrap_webhook_event.rbs | 10 +++++----- sig/imagekitio/resources/webhooks.rbs | 20 +++++++++---------- 29 files changed, 128 insertions(+), 143 deletions(-) rename lib/imagekitio/models/{file_created_webhook_event.rb => file_create_event.rb} (93%) rename lib/imagekitio/models/{file_deleted_webhook_event.rb => file_delete_event.rb} (79%) rename lib/imagekitio/models/{file_updated_webhook_event.rb => file_update_event.rb} (93%) rename lib/imagekitio/models/{file_version_created_webhook_event.rb => file_version_create_event.rb} (92%) rename lib/imagekitio/models/{file_version_deleted_webhook_event.rb => file_version_delete_event.rb} (82%) rename rbi/imagekitio/models/{file_created_webhook_event.rbi => file_create_event.rbi} (85%) rename rbi/imagekitio/models/{file_deleted_webhook_event.rbi => file_delete_event.rbi} (73%) rename rbi/imagekitio/models/{file_updated_webhook_event.rbi => file_update_event.rbi} (85%) rename rbi/imagekitio/models/{file_version_created_webhook_event.rbi => file_version_create_event.rbi} (90%) rename rbi/imagekitio/models/{file_version_deleted_webhook_event.rbi => file_version_delete_event.rbi} (78%) rename sig/imagekitio/models/{file_created_webhook_event.rbs => file_create_event.rbs} (85%) rename sig/imagekitio/models/{file_deleted_webhook_event.rbs => file_delete_event.rbs} (62%) rename sig/imagekitio/models/{file_updated_webhook_event.rbs => file_update_event.rbs} (85%) rename sig/imagekitio/models/{file_version_created_webhook_event.rbs => file_version_create_event.rbs} (85%) rename sig/imagekitio/models/{file_version_deleted_webhook_event.rbs => file_version_delete_event.rbs} (63%) diff --git a/.stats.yml b/.stats.yml index 4bc5fef..aae6cba 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-d73a37dc3426586109bd153f02c6a605036b6a7396bba5173d013468c5291ce6.yml openapi_spec_hash: c193c6e557ff477481ec8d5ac8a0c96e -config_hash: 17e408231b0b01676298010c7405f483 +config_hash: 32b155378f65c234d3abeb18519fb3cd diff --git a/lib/imagekitio.rb b/lib/imagekitio.rb index 634a309..1a186f1 100644 --- a/lib/imagekitio.rb +++ b/lib/imagekitio.rb @@ -95,8 +95,8 @@ require_relative "imagekitio/models/extensions" require_relative "imagekitio/models/file_copy_params" require_relative "imagekitio/models/file_copy_response" -require_relative "imagekitio/models/file_created_webhook_event" -require_relative "imagekitio/models/file_deleted_webhook_event" +require_relative "imagekitio/models/file_create_event" +require_relative "imagekitio/models/file_delete_event" require_relative "imagekitio/models/file_delete_params" require_relative "imagekitio/models/file_get_params" require_relative "imagekitio/models/file_move_params" @@ -119,13 +119,13 @@ require_relative "imagekitio/models/files/version_list_params" require_relative "imagekitio/models/files/version_list_response" require_relative "imagekitio/models/files/version_restore_params" -require_relative "imagekitio/models/file_updated_webhook_event" +require_relative "imagekitio/models/file_update_event" require_relative "imagekitio/models/file_update_params" require_relative "imagekitio/models/file_update_response" require_relative "imagekitio/models/file_upload_params" require_relative "imagekitio/models/file_upload_response" -require_relative "imagekitio/models/file_version_created_webhook_event" -require_relative "imagekitio/models/file_version_deleted_webhook_event" +require_relative "imagekitio/models/file_version_create_event" +require_relative "imagekitio/models/file_version_delete_event" require_relative "imagekitio/models/folder" require_relative "imagekitio/models/folder_copy_params" require_relative "imagekitio/models/folder_copy_response" diff --git a/lib/imagekitio/models.rb b/lib/imagekitio/models.rb index 6fc992e..5d531d8 100644 --- a/lib/imagekitio/models.rb +++ b/lib/imagekitio/models.rb @@ -72,9 +72,9 @@ module Imagekitio FileCopyParams = Imagekitio::Models::FileCopyParams - FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + FileCreateEvent = Imagekitio::Models::FileCreateEvent - FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + FileDeleteEvent = Imagekitio::Models::FileDeleteEvent FileDeleteParams = Imagekitio::Models::FileDeleteParams @@ -86,15 +86,15 @@ module Imagekitio Files = Imagekitio::Models::Files - FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + FileUpdateEvent = Imagekitio::Models::FileUpdateEvent FileUpdateParams = Imagekitio::Models::FileUpdateParams FileUploadParams = Imagekitio::Models::FileUploadParams - FileVersionCreatedWebhookEvent = Imagekitio::Models::FileVersionCreatedWebhookEvent + FileVersionCreateEvent = Imagekitio::Models::FileVersionCreateEvent - FileVersionDeletedWebhookEvent = Imagekitio::Models::FileVersionDeletedWebhookEvent + FileVersionDeleteEvent = Imagekitio::Models::FileVersionDeleteEvent Folder = Imagekitio::Models::Folder diff --git a/lib/imagekitio/models/file_created_webhook_event.rb b/lib/imagekitio/models/file_create_event.rb similarity index 93% rename from lib/imagekitio/models/file_created_webhook_event.rb rename to lib/imagekitio/models/file_create_event.rb index f4f27ec..d553fcd 100644 --- a/lib/imagekitio/models/file_created_webhook_event.rb +++ b/lib/imagekitio/models/file_create_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreateEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/file_deleted_webhook_event.rb b/lib/imagekitio/models/file_delete_event.rb similarity index 79% rename from lib/imagekitio/models/file_deleted_webhook_event.rb rename to lib/imagekitio/models/file_delete_event.rb index 7d0e062..018b7e8 100644 --- a/lib/imagekitio/models/file_deleted_webhook_event.rb +++ b/lib/imagekitio/models/file_delete_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeleteEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # @@ -11,8 +11,8 @@ class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute data # - # @return [Imagekitio::Models::FileDeletedWebhookEvent::Data] - required :data, -> { Imagekitio::FileDeletedWebhookEvent::Data } + # @return [Imagekitio::Models::FileDeleteEvent::Data] + required :data, -> { Imagekitio::FileDeleteEvent::Data } # @!attribute type # Type of the webhook event. @@ -25,7 +25,7 @@ class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. # - # @param data [Imagekitio::Models::FileDeletedWebhookEvent::Data] + # @param data [Imagekitio::Models::FileDeleteEvent::Data] # # @param type [Symbol, :"file.deleted"] Type of the webhook event. diff --git a/lib/imagekitio/models/file_updated_webhook_event.rb b/lib/imagekitio/models/file_update_event.rb similarity index 93% rename from lib/imagekitio/models/file_updated_webhook_event.rb rename to lib/imagekitio/models/file_update_event.rb index bd75cfb..ffda8f9 100644 --- a/lib/imagekitio/models/file_updated_webhook_event.rb +++ b/lib/imagekitio/models/file_update_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdateEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/file_version_created_webhook_event.rb b/lib/imagekitio/models/file_version_create_event.rb similarity index 92% rename from lib/imagekitio/models/file_version_created_webhook_event.rb rename to lib/imagekitio/models/file_version_create_event.rb index 6bc8679..9d1a5a5 100644 --- a/lib/imagekitio/models/file_version_created_webhook_event.rb +++ b/lib/imagekitio/models/file_version_create_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # diff --git a/lib/imagekitio/models/file_version_deleted_webhook_event.rb b/lib/imagekitio/models/file_version_delete_event.rb similarity index 82% rename from lib/imagekitio/models/file_version_deleted_webhook_event.rb rename to lib/imagekitio/models/file_version_delete_event.rb index 111a273..32592f6 100644 --- a/lib/imagekitio/models/file_version_deleted_webhook_event.rb +++ b/lib/imagekitio/models/file_version_delete_event.rb @@ -2,7 +2,7 @@ module Imagekitio module Models - class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute created_at # Timestamp of when the event occurred in ISO8601 format. # @@ -11,8 +11,8 @@ class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # @!attribute data # - # @return [Imagekitio::Models::FileVersionDeletedWebhookEvent::Data] - required :data, -> { Imagekitio::FileVersionDeletedWebhookEvent::Data } + # @return [Imagekitio::Models::FileVersionDeleteEvent::Data] + required :data, -> { Imagekitio::FileVersionDeleteEvent::Data } # @!attribute type # Type of the webhook event. @@ -25,7 +25,7 @@ class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent # # @param created_at [Time] Timestamp of when the event occurred in ISO8601 format. # - # @param data [Imagekitio::Models::FileVersionDeletedWebhookEvent::Data] + # @param data [Imagekitio::Models::FileVersionDeleteEvent::Data] # # @param type [Symbol, :"file-version.deleted"] Type of the webhook event. diff --git a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb index 6b8283c..c2fcb0f 100644 --- a/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb @@ -32,22 +32,22 @@ module UnsafeUnwrapWebhookEvent variant -> { Imagekitio::UploadPostTransformErrorEvent } # Triggered when a file is created. - variant -> { Imagekitio::FileCreatedWebhookEvent } + variant -> { Imagekitio::FileCreateEvent } # Triggered when a file is updated. - variant -> { Imagekitio::FileUpdatedWebhookEvent } + variant -> { Imagekitio::FileUpdateEvent } # Triggered when a file is deleted. - variant -> { Imagekitio::FileDeletedWebhookEvent } + variant -> { Imagekitio::FileDeleteEvent } # Triggered when a file version is created. - variant -> { Imagekitio::FileVersionCreatedWebhookEvent } + variant -> { Imagekitio::FileVersionCreateEvent } # Triggered when a file version is deleted. - variant -> { Imagekitio::FileVersionDeletedWebhookEvent } + variant -> { Imagekitio::FileVersionDeleteEvent } # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreateEvent, Imagekitio::Models::FileUpdateEvent, Imagekitio::Models::FileDeleteEvent, Imagekitio::Models::FileVersionCreateEvent, Imagekitio::Models::FileVersionDeleteEvent)] end end end diff --git a/lib/imagekitio/models/unwrap_webhook_event.rb b/lib/imagekitio/models/unwrap_webhook_event.rb index 680870c..8c1121f 100644 --- a/lib/imagekitio/models/unwrap_webhook_event.rb +++ b/lib/imagekitio/models/unwrap_webhook_event.rb @@ -32,22 +32,22 @@ module UnwrapWebhookEvent variant -> { Imagekitio::UploadPostTransformErrorEvent } # Triggered when a file is created. - variant -> { Imagekitio::FileCreatedWebhookEvent } + variant -> { Imagekitio::FileCreateEvent } # Triggered when a file is updated. - variant -> { Imagekitio::FileUpdatedWebhookEvent } + variant -> { Imagekitio::FileUpdateEvent } # Triggered when a file is deleted. - variant -> { Imagekitio::FileDeletedWebhookEvent } + variant -> { Imagekitio::FileDeleteEvent } # Triggered when a file version is created. - variant -> { Imagekitio::FileVersionCreatedWebhookEvent } + variant -> { Imagekitio::FileVersionCreateEvent } # Triggered when a file version is deleted. - variant -> { Imagekitio::FileVersionDeletedWebhookEvent } + variant -> { Imagekitio::FileVersionDeleteEvent } # @!method self.variants - # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent)] + # @return [Array(Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreateEvent, Imagekitio::Models::FileUpdateEvent, Imagekitio::Models::FileDeleteEvent, Imagekitio::Models::FileVersionCreateEvent, Imagekitio::Models::FileVersionDeleteEvent)] end end end diff --git a/lib/imagekitio/resources/webhooks.rb b/lib/imagekitio/resources/webhooks.rb index 92848a5..266396d 100644 --- a/lib/imagekitio/resources/webhooks.rb +++ b/lib/imagekitio/resources/webhooks.rb @@ -5,7 +5,7 @@ module Resources class Webhooks # @param payload [String] The raw webhook payload as a string # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreateEvent, Imagekitio::Models::FileUpdateEvent, Imagekitio::Models::FileDeleteEvent, Imagekitio::Models::FileVersionCreateEvent, Imagekitio::Models::FileVersionDeleteEvent] def unsafe_unwrap(payload) parsed = JSON.parse(payload, symbolize_names: true) Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnsafeUnwrapWebhookEvent, parsed) @@ -17,7 +17,7 @@ def unsafe_unwrap(payload) # # @param key [String, nil] The webhook signing key # - # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreatedWebhookEvent, Imagekitio::Models::FileUpdatedWebhookEvent, Imagekitio::Models::FileDeletedWebhookEvent, Imagekitio::Models::FileVersionCreatedWebhookEvent, Imagekitio::Models::FileVersionDeletedWebhookEvent] + # @return [Imagekitio::Models::VideoTransformationAcceptedEvent, Imagekitio::Models::VideoTransformationReadyEvent, Imagekitio::Models::VideoTransformationErrorEvent, Imagekitio::Models::UploadPreTransformSuccessEvent, Imagekitio::Models::UploadPreTransformErrorEvent, Imagekitio::Models::UploadPostTransformSuccessEvent, Imagekitio::Models::UploadPostTransformErrorEvent, Imagekitio::Models::FileCreateEvent, Imagekitio::Models::FileUpdateEvent, Imagekitio::Models::FileDeleteEvent, Imagekitio::Models::FileVersionCreateEvent, Imagekitio::Models::FileVersionDeleteEvent] def unwrap(payload, headers:, key: @client.webhook_secret) if key.nil? raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument") diff --git a/rbi/imagekitio/models.rbi b/rbi/imagekitio/models.rbi index 547fb27..b010079 100644 --- a/rbi/imagekitio/models.rbi +++ b/rbi/imagekitio/models.rbi @@ -38,9 +38,9 @@ module Imagekitio FileCopyParams = Imagekitio::Models::FileCopyParams - FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + FileCreateEvent = Imagekitio::Models::FileCreateEvent - FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + FileDeleteEvent = Imagekitio::Models::FileDeleteEvent FileDeleteParams = Imagekitio::Models::FileDeleteParams @@ -52,17 +52,15 @@ module Imagekitio Files = Imagekitio::Models::Files - FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + FileUpdateEvent = Imagekitio::Models::FileUpdateEvent FileUpdateParams = Imagekitio::Models::FileUpdateParams FileUploadParams = Imagekitio::Models::FileUploadParams - FileVersionCreatedWebhookEvent = - Imagekitio::Models::FileVersionCreatedWebhookEvent + FileVersionCreateEvent = Imagekitio::Models::FileVersionCreateEvent - FileVersionDeletedWebhookEvent = - Imagekitio::Models::FileVersionDeletedWebhookEvent + FileVersionDeleteEvent = Imagekitio::Models::FileVersionDeleteEvent Folder = Imagekitio::Models::Folder diff --git a/rbi/imagekitio/models/file_created_webhook_event.rbi b/rbi/imagekitio/models/file_create_event.rbi similarity index 85% rename from rbi/imagekitio/models/file_created_webhook_event.rbi rename to rbi/imagekitio/models/file_create_event.rbi index 203d081..69ff431 100644 --- a/rbi/imagekitio/models/file_created_webhook_event.rbi +++ b/rbi/imagekitio/models/file_create_event.rbi @@ -2,13 +2,10 @@ module Imagekitio module Models - class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreateEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any( - Imagekitio::FileCreatedWebhookEvent, - Imagekitio::Internal::AnyHash - ) + T.any(Imagekitio::FileCreateEvent, Imagekitio::Internal::AnyHash) end # Timestamp of when the event occurred in ISO8601 format. diff --git a/rbi/imagekitio/models/file_deleted_webhook_event.rbi b/rbi/imagekitio/models/file_delete_event.rbi similarity index 73% rename from rbi/imagekitio/models/file_deleted_webhook_event.rbi rename to rbi/imagekitio/models/file_delete_event.rbi index b56fb83..71f2042 100644 --- a/rbi/imagekitio/models/file_deleted_webhook_event.rbi +++ b/rbi/imagekitio/models/file_delete_event.rbi @@ -2,25 +2,20 @@ module Imagekitio module Models - class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeleteEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any( - Imagekitio::FileDeletedWebhookEvent, - Imagekitio::Internal::AnyHash - ) + T.any(Imagekitio::FileDeleteEvent, Imagekitio::Internal::AnyHash) end # Timestamp of when the event occurred in ISO8601 format. sig { returns(Time) } attr_accessor :created_at - sig { returns(Imagekitio::FileDeletedWebhookEvent::Data) } + sig { returns(Imagekitio::FileDeleteEvent::Data) } attr_reader :data - sig do - params(data: Imagekitio::FileDeletedWebhookEvent::Data::OrHash).void - end + sig { params(data: Imagekitio::FileDeleteEvent::Data::OrHash).void } attr_writer :data # Type of the webhook event. @@ -31,7 +26,7 @@ module Imagekitio sig do params( created_at: Time, - data: Imagekitio::FileDeletedWebhookEvent::Data::OrHash, + data: Imagekitio::FileDeleteEvent::Data::OrHash, type: Symbol ).returns(T.attached_class) end @@ -48,7 +43,7 @@ module Imagekitio override.returns( { created_at: Time, - data: Imagekitio::FileDeletedWebhookEvent::Data, + data: Imagekitio::FileDeleteEvent::Data, type: Symbol } ) @@ -60,7 +55,7 @@ module Imagekitio OrHash = T.type_alias do T.any( - Imagekitio::FileDeletedWebhookEvent::Data, + Imagekitio::FileDeleteEvent::Data, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/file_updated_webhook_event.rbi b/rbi/imagekitio/models/file_update_event.rbi similarity index 85% rename from rbi/imagekitio/models/file_updated_webhook_event.rbi rename to rbi/imagekitio/models/file_update_event.rbi index 9c15767..2315aa7 100644 --- a/rbi/imagekitio/models/file_updated_webhook_event.rbi +++ b/rbi/imagekitio/models/file_update_event.rbi @@ -2,13 +2,10 @@ module Imagekitio module Models - class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdateEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do - T.any( - Imagekitio::FileUpdatedWebhookEvent, - Imagekitio::Internal::AnyHash - ) + T.any(Imagekitio::FileUpdateEvent, Imagekitio::Internal::AnyHash) end # Timestamp of when the event occurred in ISO8601 format. diff --git a/rbi/imagekitio/models/file_version_created_webhook_event.rbi b/rbi/imagekitio/models/file_version_create_event.rbi similarity index 90% rename from rbi/imagekitio/models/file_version_created_webhook_event.rbi rename to rbi/imagekitio/models/file_version_create_event.rbi index 95bed2a..da6844b 100644 --- a/rbi/imagekitio/models/file_version_created_webhook_event.rbi +++ b/rbi/imagekitio/models/file_version_create_event.rbi @@ -2,11 +2,11 @@ module Imagekitio module Models - class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do T.any( - Imagekitio::FileVersionCreatedWebhookEvent, + Imagekitio::FileVersionCreateEvent, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/file_version_deleted_webhook_event.rbi b/rbi/imagekitio/models/file_version_delete_event.rbi similarity index 78% rename from rbi/imagekitio/models/file_version_deleted_webhook_event.rbi rename to rbi/imagekitio/models/file_version_delete_event.rbi index f7963ba..586ea3d 100644 --- a/rbi/imagekitio/models/file_version_deleted_webhook_event.rbi +++ b/rbi/imagekitio/models/file_version_delete_event.rbi @@ -2,11 +2,11 @@ module Imagekitio module Models - class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent OrHash = T.type_alias do T.any( - Imagekitio::FileVersionDeletedWebhookEvent, + Imagekitio::FileVersionDeleteEvent, Imagekitio::Internal::AnyHash ) end @@ -15,13 +15,11 @@ module Imagekitio sig { returns(Time) } attr_accessor :created_at - sig { returns(Imagekitio::FileVersionDeletedWebhookEvent::Data) } + sig { returns(Imagekitio::FileVersionDeleteEvent::Data) } attr_reader :data sig do - params( - data: Imagekitio::FileVersionDeletedWebhookEvent::Data::OrHash - ).void + params(data: Imagekitio::FileVersionDeleteEvent::Data::OrHash).void end attr_writer :data @@ -33,7 +31,7 @@ module Imagekitio sig do params( created_at: Time, - data: Imagekitio::FileVersionDeletedWebhookEvent::Data::OrHash, + data: Imagekitio::FileVersionDeleteEvent::Data::OrHash, type: Symbol ).returns(T.attached_class) end @@ -50,7 +48,7 @@ module Imagekitio override.returns( { created_at: Time, - data: Imagekitio::FileVersionDeletedWebhookEvent::Data, + data: Imagekitio::FileVersionDeleteEvent::Data, type: Symbol } ) @@ -62,7 +60,7 @@ module Imagekitio OrHash = T.type_alias do T.any( - Imagekitio::FileVersionDeletedWebhookEvent::Data, + Imagekitio::FileVersionDeleteEvent::Data, Imagekitio::Internal::AnyHash ) end diff --git a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi index acc898a..2738c1a 100644 --- a/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unsafe_unwrap_webhook_event.rbi @@ -18,11 +18,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::FileCreatedWebhookEvent, - Imagekitio::FileUpdatedWebhookEvent, - Imagekitio::FileDeletedWebhookEvent, - Imagekitio::FileVersionCreatedWebhookEvent, - Imagekitio::FileVersionDeletedWebhookEvent + Imagekitio::FileCreateEvent, + Imagekitio::FileUpdateEvent, + Imagekitio::FileDeleteEvent, + Imagekitio::FileVersionCreateEvent, + Imagekitio::FileVersionDeleteEvent ) end diff --git a/rbi/imagekitio/models/unwrap_webhook_event.rbi b/rbi/imagekitio/models/unwrap_webhook_event.rbi index 7209f11..a567656 100644 --- a/rbi/imagekitio/models/unwrap_webhook_event.rbi +++ b/rbi/imagekitio/models/unwrap_webhook_event.rbi @@ -18,11 +18,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::FileCreatedWebhookEvent, - Imagekitio::FileUpdatedWebhookEvent, - Imagekitio::FileDeletedWebhookEvent, - Imagekitio::FileVersionCreatedWebhookEvent, - Imagekitio::FileVersionDeletedWebhookEvent + Imagekitio::FileCreateEvent, + Imagekitio::FileUpdateEvent, + Imagekitio::FileDeleteEvent, + Imagekitio::FileVersionCreateEvent, + Imagekitio::FileVersionDeleteEvent ) end diff --git a/rbi/imagekitio/resources/webhooks.rbi b/rbi/imagekitio/resources/webhooks.rbi index a4b512b..e835a32 100644 --- a/rbi/imagekitio/resources/webhooks.rbi +++ b/rbi/imagekitio/resources/webhooks.rbi @@ -13,11 +13,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::FileCreatedWebhookEvent, - Imagekitio::FileUpdatedWebhookEvent, - Imagekitio::FileDeletedWebhookEvent, - Imagekitio::FileVersionCreatedWebhookEvent, - Imagekitio::FileVersionDeletedWebhookEvent + Imagekitio::FileCreateEvent, + Imagekitio::FileUpdateEvent, + Imagekitio::FileDeleteEvent, + Imagekitio::FileVersionCreateEvent, + Imagekitio::FileVersionDeleteEvent ) ) end @@ -41,11 +41,11 @@ module Imagekitio Imagekitio::UploadPreTransformErrorEvent, Imagekitio::UploadPostTransformSuccessEvent, Imagekitio::UploadPostTransformErrorEvent, - Imagekitio::FileCreatedWebhookEvent, - Imagekitio::FileUpdatedWebhookEvent, - Imagekitio::FileDeletedWebhookEvent, - Imagekitio::FileVersionCreatedWebhookEvent, - Imagekitio::FileVersionDeletedWebhookEvent + Imagekitio::FileCreateEvent, + Imagekitio::FileUpdateEvent, + Imagekitio::FileDeleteEvent, + Imagekitio::FileVersionCreateEvent, + Imagekitio::FileVersionDeleteEvent ) ) end diff --git a/sig/imagekitio/models.rbs b/sig/imagekitio/models.rbs index 581643c..0e63137 100644 --- a/sig/imagekitio/models.rbs +++ b/sig/imagekitio/models.rbs @@ -31,9 +31,9 @@ module Imagekitio class FileCopyParams = Imagekitio::Models::FileCopyParams - class FileCreatedWebhookEvent = Imagekitio::Models::FileCreatedWebhookEvent + class FileCreateEvent = Imagekitio::Models::FileCreateEvent - class FileDeletedWebhookEvent = Imagekitio::Models::FileDeletedWebhookEvent + class FileDeleteEvent = Imagekitio::Models::FileDeleteEvent class FileDeleteParams = Imagekitio::Models::FileDeleteParams @@ -45,15 +45,15 @@ module Imagekitio module Files = Imagekitio::Models::Files - class FileUpdatedWebhookEvent = Imagekitio::Models::FileUpdatedWebhookEvent + class FileUpdateEvent = Imagekitio::Models::FileUpdateEvent class FileUpdateParams = Imagekitio::Models::FileUpdateParams class FileUploadParams = Imagekitio::Models::FileUploadParams - class FileVersionCreatedWebhookEvent = Imagekitio::Models::FileVersionCreatedWebhookEvent + class FileVersionCreateEvent = Imagekitio::Models::FileVersionCreateEvent - class FileVersionDeletedWebhookEvent = Imagekitio::Models::FileVersionDeletedWebhookEvent + class FileVersionDeleteEvent = Imagekitio::Models::FileVersionDeleteEvent class Folder = Imagekitio::Models::Folder diff --git a/sig/imagekitio/models/file_created_webhook_event.rbs b/sig/imagekitio/models/file_create_event.rbs similarity index 85% rename from sig/imagekitio/models/file_created_webhook_event.rbs rename to sig/imagekitio/models/file_create_event.rbs index 828fc93..d981e2e 100644 --- a/sig/imagekitio/models/file_created_webhook_event.rbs +++ b/sig/imagekitio/models/file_create_event.rbs @@ -1,9 +1,9 @@ module Imagekitio module Models - type file_created_webhook_event = + type file_create_event = { created_at: Time, data: Imagekitio::File, type: :"file.created" } - class FileCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileCreateEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/file_deleted_webhook_event.rbs b/sig/imagekitio/models/file_delete_event.rbs similarity index 62% rename from sig/imagekitio/models/file_deleted_webhook_event.rbs rename to sig/imagekitio/models/file_delete_event.rbs index 685b909..fd7337c 100644 --- a/sig/imagekitio/models/file_deleted_webhook_event.rbs +++ b/sig/imagekitio/models/file_delete_event.rbs @@ -1,22 +1,22 @@ module Imagekitio module Models - type file_deleted_webhook_event = + type file_delete_event = { created_at: Time, - data: Imagekitio::FileDeletedWebhookEvent::Data, + data: Imagekitio::FileDeleteEvent::Data, type: :"file.deleted" } - class FileDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileDeleteEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time - def data: -> Imagekitio::FileDeletedWebhookEvent::Data + def data: -> Imagekitio::FileDeleteEvent::Data def data=: ( - Imagekitio::FileDeletedWebhookEvent::Data _ - ) -> Imagekitio::FileDeletedWebhookEvent::Data + Imagekitio::FileDeleteEvent::Data _ + ) -> Imagekitio::FileDeleteEvent::Data def `type`: -> :"file.deleted" @@ -24,13 +24,13 @@ module Imagekitio def initialize: ( created_at: Time, - data: Imagekitio::FileDeletedWebhookEvent::Data, + data: Imagekitio::FileDeleteEvent::Data, ?type: :"file.deleted" ) -> void def to_hash: -> { created_at: Time, - data: Imagekitio::FileDeletedWebhookEvent::Data, + data: Imagekitio::FileDeleteEvent::Data, type: :"file.deleted" } diff --git a/sig/imagekitio/models/file_updated_webhook_event.rbs b/sig/imagekitio/models/file_update_event.rbs similarity index 85% rename from sig/imagekitio/models/file_updated_webhook_event.rbs rename to sig/imagekitio/models/file_update_event.rbs index 6672998..f9ddae3 100644 --- a/sig/imagekitio/models/file_updated_webhook_event.rbs +++ b/sig/imagekitio/models/file_update_event.rbs @@ -1,9 +1,9 @@ module Imagekitio module Models - type file_updated_webhook_event = + type file_update_event = { created_at: Time, data: Imagekitio::File, type: :"file.updated" } - class FileUpdatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileUpdateEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/file_version_created_webhook_event.rbs b/sig/imagekitio/models/file_version_create_event.rbs similarity index 85% rename from sig/imagekitio/models/file_version_created_webhook_event.rbs rename to sig/imagekitio/models/file_version_create_event.rbs index 25e682a..b6872e4 100644 --- a/sig/imagekitio/models/file_version_created_webhook_event.rbs +++ b/sig/imagekitio/models/file_version_create_event.rbs @@ -1,13 +1,13 @@ module Imagekitio module Models - type file_version_created_webhook_event = + type file_version_create_event = { created_at: Time, data: Imagekitio::File, type: :"file-version.created" } - class FileVersionCreatedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionCreateEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time diff --git a/sig/imagekitio/models/file_version_deleted_webhook_event.rbs b/sig/imagekitio/models/file_version_delete_event.rbs similarity index 63% rename from sig/imagekitio/models/file_version_deleted_webhook_event.rbs rename to sig/imagekitio/models/file_version_delete_event.rbs index 5ff0b6a..e4667c9 100644 --- a/sig/imagekitio/models/file_version_deleted_webhook_event.rbs +++ b/sig/imagekitio/models/file_version_delete_event.rbs @@ -1,22 +1,22 @@ module Imagekitio module Models - type file_version_deleted_webhook_event = + type file_version_delete_event = { created_at: Time, - data: Imagekitio::FileVersionDeletedWebhookEvent::Data, + data: Imagekitio::FileVersionDeleteEvent::Data, type: :"file-version.deleted" } - class FileVersionDeletedWebhookEvent < Imagekitio::Models::BaseWebhookEvent + class FileVersionDeleteEvent < Imagekitio::Models::BaseWebhookEvent def created_at: -> Time def created_at=: (Time _) -> Time - def data: -> Imagekitio::FileVersionDeletedWebhookEvent::Data + def data: -> Imagekitio::FileVersionDeleteEvent::Data def data=: ( - Imagekitio::FileVersionDeletedWebhookEvent::Data _ - ) -> Imagekitio::FileVersionDeletedWebhookEvent::Data + Imagekitio::FileVersionDeleteEvent::Data _ + ) -> Imagekitio::FileVersionDeleteEvent::Data def `type`: -> :"file-version.deleted" @@ -24,13 +24,13 @@ module Imagekitio def initialize: ( created_at: Time, - data: Imagekitio::FileVersionDeletedWebhookEvent::Data, + data: Imagekitio::FileVersionDeleteEvent::Data, ?type: :"file-version.deleted" ) -> void def to_hash: -> { created_at: Time, - data: Imagekitio::FileVersionDeletedWebhookEvent::Data, + data: Imagekitio::FileVersionDeleteEvent::Data, type: :"file-version.deleted" } diff --git a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs index 3058018..c61e069 100644 --- a/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unsafe_unwrap_webhook_event.rbs @@ -8,11 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::FileCreatedWebhookEvent - | Imagekitio::FileUpdatedWebhookEvent - | Imagekitio::FileDeletedWebhookEvent - | Imagekitio::FileVersionCreatedWebhookEvent - | Imagekitio::FileVersionDeletedWebhookEvent + | Imagekitio::FileCreateEvent + | Imagekitio::FileUpdateEvent + | Imagekitio::FileDeleteEvent + | Imagekitio::FileVersionCreateEvent + | Imagekitio::FileVersionDeleteEvent module UnsafeUnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/models/unwrap_webhook_event.rbs b/sig/imagekitio/models/unwrap_webhook_event.rbs index 737c44a..4468c7b 100644 --- a/sig/imagekitio/models/unwrap_webhook_event.rbs +++ b/sig/imagekitio/models/unwrap_webhook_event.rbs @@ -8,11 +8,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::FileCreatedWebhookEvent - | Imagekitio::FileUpdatedWebhookEvent - | Imagekitio::FileDeletedWebhookEvent - | Imagekitio::FileVersionCreatedWebhookEvent - | Imagekitio::FileVersionDeletedWebhookEvent + | Imagekitio::FileCreateEvent + | Imagekitio::FileUpdateEvent + | Imagekitio::FileDeleteEvent + | Imagekitio::FileVersionCreateEvent + | Imagekitio::FileVersionDeleteEvent module UnwrapWebhookEvent extend Imagekitio::Internal::Type::Union diff --git a/sig/imagekitio/resources/webhooks.rbs b/sig/imagekitio/resources/webhooks.rbs index a9a272a..5126929 100644 --- a/sig/imagekitio/resources/webhooks.rbs +++ b/sig/imagekitio/resources/webhooks.rbs @@ -10,11 +10,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::FileCreatedWebhookEvent - | Imagekitio::FileUpdatedWebhookEvent - | Imagekitio::FileDeletedWebhookEvent - | Imagekitio::FileVersionCreatedWebhookEvent - | Imagekitio::FileVersionDeletedWebhookEvent) + | Imagekitio::FileCreateEvent + | Imagekitio::FileUpdateEvent + | Imagekitio::FileDeleteEvent + | Imagekitio::FileVersionCreateEvent + | Imagekitio::FileVersionDeleteEvent) def unwrap: ( String payload, @@ -27,11 +27,11 @@ module Imagekitio | Imagekitio::UploadPreTransformErrorEvent | Imagekitio::UploadPostTransformSuccessEvent | Imagekitio::UploadPostTransformErrorEvent - | Imagekitio::FileCreatedWebhookEvent - | Imagekitio::FileUpdatedWebhookEvent - | Imagekitio::FileDeletedWebhookEvent - | Imagekitio::FileVersionCreatedWebhookEvent - | Imagekitio::FileVersionDeletedWebhookEvent) + | Imagekitio::FileCreateEvent + | Imagekitio::FileUpdateEvent + | Imagekitio::FileDeleteEvent + | Imagekitio::FileVersionCreateEvent + | Imagekitio::FileVersionDeleteEvent) def initialize: (client: Imagekitio::Client) -> void end From 77c9134775b106ac5107579f3059390870ced790 Mon Sep 17 00:00:00 2001 From: Manu Chaudhary Date: Fri, 10 Apr 2026 12:38:17 +0530 Subject: [PATCH 08/17] fix(docs): remove unnecessary password parameter from example --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fca3e5e..eb891d0 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,6 @@ require "imagekitio" image_kit = Imagekitio::Client.new( private_key: ENV["IMAGEKIT_PRIVATE_KEY"], # This is the default and can be omitted - password: ENV["OPTIONAL_IMAGEKIT_IGNORES_THIS"] # This is the default and can be omitted ) response = image_kit.files.upload( From 032586298410662b5f45b9b4189cc23ef74c1e40 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 00:58:42 +0000 Subject: [PATCH 09/17] fix(api): extract shared schemas to prevent Go webhook union breaking changes --- .stats.yml | 6 +- .../models/beta/v2/file_upload_response.rb | 218 +--------- lib/imagekitio/models/file.rb | 235 +--------- lib/imagekitio/models/file_upload_response.rb | 217 +--------- .../upload_pre_transform_success_event.rb | 228 +--------- .../models/beta/v2/file_upload_response.rbi | 401 +---------------- rbi/imagekitio/models/file.rbi | 408 +----------------- .../models/file_upload_response.rbi | 401 +---------------- .../upload_pre_transform_success_event.rbi | 401 +---------------- .../models/beta/v2/file_upload_response.rbs | 157 ------- sig/imagekitio/models/file.rbs | 157 ------- .../models/file_upload_response.rbs | 157 ------- .../upload_pre_transform_success_event.rbs | 157 ------- 13 files changed, 92 insertions(+), 3051 deletions(-) diff --git a/.stats.yml b/.stats.yml index aae6cba..92aebe1 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-d73a37dc3426586109bd153f02c6a605036b6a7396bba5173d013468c5291ce6.yml -openapi_spec_hash: c193c6e557ff477481ec8d5ac8a0c96e -config_hash: 32b155378f65c234d3abeb18519fb3cd +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-7c4c23556be689ded6bcafd05e1645b82239521c9c841c0f7e76336e2eefcffa.yml +openapi_spec_hash: eca5b039a0066c6536296248c3a80854 +config_hash: e3c2679d25f6235381dfb11962fbf3d9 diff --git a/lib/imagekitio/models/beta/v2/file_upload_response.rb b/lib/imagekitio/models/beta/v2/file_upload_response.rb index 1fe9248..c674c7e 100644 --- a/lib/imagekitio/models/beta/v2/file_upload_response.rb +++ b/lib/imagekitio/models/beta/v2/file_upload_response.rb @@ -7,7 +7,9 @@ module V2 # @see Imagekitio::Resources::Beta::V2::Files#upload class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. # # @return [Array, nil] optional :ai_tags, @@ -208,7 +210,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -272,9 +274,8 @@ class AITag < Imagekitio::Internal::Type::BaseModel optional :name, String # @!attribute source - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. # # @return [String, nil] optional :source, String @@ -287,7 +288,7 @@ class AITag < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the tag. # - # @param source [String] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi end # @see Imagekitio::Models::Beta::V2::FileUploadResponse#extension_status @@ -405,211 +406,6 @@ module RemoveBg end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - # @!attribute type - # Type of the custom metadata field. - # - # @return [Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type] - required :type, enum: -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type } - - # @!attribute default_value - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @return [String, Float, Boolean, Array, nil] - optional :default_value, - union: -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue }, - api_name: :defaultValue - - # @!attribute is_value_required - # Specifies if the custom metadata field is required or not. - # - # @return [Boolean, nil] - optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired - - # @!attribute max_length - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :max_length, Float, api_name: :maxLength - - # @!attribute max_value - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :max_value, - union: -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue }, - api_name: :maxValue - - # @!attribute min_length - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :min_length, Float, api_name: :minLength - - # @!attribute min_value - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :min_value, - union: -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue }, - api_name: :minValue - - # @!attribute read_only - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - # - # @return [Boolean, nil] - optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly - - # @!attribute select_options - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @return [Array, nil] - optional :select_options, - -> { Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption] }, - api_name: :selectOptions - - # @!attribute select_options_truncated - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - # - # @return [Boolean, nil] - optional :select_options_truncated, - Imagekitio::Internal::Type::Boolean, - api_name: :selectOptionsTruncated - - # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema} for - # more details. - # - # @param type [Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type] Type of the custom metadata field. - # - # @param default_value [String, Float, Boolean, Array] The default value for this custom metadata field. The value should match the `ty - # - # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not. - # - # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann - # - # @param select_options [Array] An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o - - # Type of the custom metadata field. - # - # @see Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema#type - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT = :Text - TEXTAREA = :Textarea - NUMBER = :Number - DATE = :Date - BOOLEAN = :Boolean - SINGLE_SELECT = :SingleSelect - MULTI_SELECT = :MultiSelect - - # @!method self.values - # @return [Array] - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @see Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema#default_value - module DefaultValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # Default value should be of type array when custom metadata field type is set to `MultiSelect`. - variant -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::MixedArray } - - module Mixed - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - - # @!method self.variants - # @return [Array(String, Float, Boolean, Array)] - - # @type [Imagekitio::Internal::Type::Converter] - MixedArray = - Imagekitio::Internal::Type::ArrayOf[union: -> { Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed }] - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema#max_value - module MaxValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema#min_value - module MinValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - end - # @see Imagekitio::Models::Beta::V2::FileUploadResponse#version_info class VersionInfo < Imagekitio::Internal::Type::BaseModel # @!attribute id diff --git a/lib/imagekitio/models/file.rb b/lib/imagekitio/models/file.rb index 294cff2..5971577 100644 --- a/lib/imagekitio/models/file.rb +++ b/lib/imagekitio/models/file.rb @@ -5,7 +5,9 @@ module Models # @see Imagekitio::Resources::Files#get class File < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # An array of tags assigned to the file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. # # @return [Array, nil] optional :ai_tags, @@ -39,7 +41,11 @@ class File < Imagekitio::Internal::Type::BaseModel optional :custom_coordinates, String, api_name: :customCoordinates, nil?: true # @!attribute custom_metadata - # An object with custom metadata for the file. + # A key-value data associated with the asset. Use `responseField` in API request + # to get `customMetadata` in the upload API response. Before setting any custom + # metadata on an asset, you have to create the field using custom metadata fields + # API. Send `customMetadata` in `responseFields` in API request to get the value + # of this field. # # @return [Hash{Symbol=>Object}, nil] optional :custom_metadata, @@ -61,7 +67,8 @@ class File < Imagekitio::Internal::Type::BaseModel # @!attribute embedded_metadata # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. + # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get + # embeddedMetadata in the upload API response. # # @return [Hash{Symbol=>Object}, nil] optional :embedded_metadata, @@ -179,7 +186,7 @@ class File < Imagekitio::Internal::Type::BaseModel optional :url, String # @!attribute version_info - # An object with details of the file version. + # An object containing the file or file version's `id` (versionId) and `name`. # # @return [Imagekitio::Models::File::VersionInfo, nil] optional :version_info, -> { Imagekitio::File::VersionInfo }, api_name: :versionInfo @@ -202,7 +209,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # Object containing details of a file or file version. # - # @param ai_tags [Array, nil] An array of tags assigned to the file by auto tagging. + # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be # # @param audio_codec [String] The audio codec used in the video (only for video/audio). # @@ -212,7 +219,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param custom_coordinates [String, nil] An string with custom coordinates of the file. # - # @param custom_metadata [Hash{Symbol=>Object}] An object with custom metadata for the file. + # @param custom_metadata [Hash{Symbol=>Object}] A key-value data associated with the asset. Use `responseField` in API request t # # @param description [String] Optional text to describe the contents of the file. Can be set by the user or th # @@ -252,7 +259,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param url [String] URL of the file. # - # @param version_info [Imagekitio::Models::File::VersionInfo] An object with details of the file version. + # @param version_info [Imagekitio::Models::File::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. # # @param video_codec [String] The video codec used in the video (only for video). # @@ -289,218 +296,6 @@ class AITag < Imagekitio::Internal::Type::BaseModel # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - # @!attribute type - # Type of the custom metadata field. - # - # @return [Symbol, Imagekitio::Models::File::SelectedFieldsSchema::Type] - required :type, enum: -> { Imagekitio::File::SelectedFieldsSchema::Type } - - # @!attribute default_value - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @return [String, Float, Boolean, Array, nil] - optional :default_value, - union: -> { Imagekitio::File::SelectedFieldsSchema::DefaultValue }, - api_name: :defaultValue - - # @!attribute is_value_required - # Specifies if the custom metadata field is required or not. - # - # @return [Boolean, nil] - optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired - - # @!attribute max_length - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :max_length, Float, api_name: :maxLength - - # @!attribute max_value - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :max_value, - union: -> { - Imagekitio::File::SelectedFieldsSchema::MaxValue - }, - api_name: :maxValue - - # @!attribute min_length - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :min_length, Float, api_name: :minLength - - # @!attribute min_value - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :min_value, - union: -> { - Imagekitio::File::SelectedFieldsSchema::MinValue - }, - api_name: :minValue - - # @!attribute read_only - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - # - # @return [Boolean, nil] - optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly - - # @!attribute select_options - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @return [Array, nil] - optional :select_options, - -> { - Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::File::SelectedFieldsSchema::SelectOption] - }, - api_name: :selectOptions - - # @!attribute select_options_truncated - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - # - # @return [Boolean, nil] - optional :select_options_truncated, - Imagekitio::Internal::Type::Boolean, - api_name: :selectOptionsTruncated - - # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::File::SelectedFieldsSchema} for more details. - # - # @param type [Symbol, Imagekitio::Models::File::SelectedFieldsSchema::Type] Type of the custom metadata field. - # - # @param default_value [String, Float, Boolean, Array] The default value for this custom metadata field. The value should match the `ty - # - # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not. - # - # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann - # - # @param select_options [Array] An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o - - # Type of the custom metadata field. - # - # @see Imagekitio::Models::File::SelectedFieldsSchema#type - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT = :Text - TEXTAREA = :Textarea - NUMBER = :Number - DATE = :Date - BOOLEAN = :Boolean - SINGLE_SELECT = :SingleSelect - MULTI_SELECT = :MultiSelect - - # @!method self.values - # @return [Array] - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @see Imagekitio::Models::File::SelectedFieldsSchema#default_value - module DefaultValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # Default value should be of type array when custom metadata field type is set to `MultiSelect`. - variant -> { Imagekitio::Models::File::SelectedFieldsSchema::DefaultValue::MixedArray } - - module Mixed - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - - # @!method self.variants - # @return [Array(String, Float, Boolean, Array)] - - # @type [Imagekitio::Internal::Type::Converter] - MixedArray = - Imagekitio::Internal::Type::ArrayOf[union: -> { - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed - }] - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::File::SelectedFieldsSchema#max_value - module MaxValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::File::SelectedFieldsSchema#min_value - module MinValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - end - # Type of the asset. # # @see Imagekitio::Models::File#type @@ -529,7 +324,7 @@ class VersionInfo < Imagekitio::Internal::Type::BaseModel optional :name, String # @!method initialize(id: nil, name: nil) - # An object with details of the file version. + # An object containing the file or file version's `id` (versionId) and `name`. # # @param id [String] Unique identifier of the file version. # diff --git a/lib/imagekitio/models/file_upload_response.rb b/lib/imagekitio/models/file_upload_response.rb index 04f81b0..d18bc1d 100644 --- a/lib/imagekitio/models/file_upload_response.rb +++ b/lib/imagekitio/models/file_upload_response.rb @@ -5,7 +5,9 @@ module Models # @see Imagekitio::Resources::Files#upload class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. # # @return [Array, nil] optional :ai_tags, @@ -204,7 +206,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -268,9 +270,8 @@ class AITag < Imagekitio::Internal::Type::BaseModel optional :name, String # @!attribute source - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. # # @return [String, nil] optional :source, String @@ -283,7 +284,7 @@ class AITag < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the tag. # - # @param source [String] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi end # @see Imagekitio::Models::FileUploadResponse#extension_status @@ -401,210 +402,6 @@ module RemoveBg end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - # @!attribute type - # Type of the custom metadata field. - # - # @return [Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type] - required :type, enum: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type } - - # @!attribute default_value - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @return [String, Float, Boolean, Array, nil] - optional :default_value, - union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue }, - api_name: :defaultValue - - # @!attribute is_value_required - # Specifies if the custom metadata field is required or not. - # - # @return [Boolean, nil] - optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired - - # @!attribute max_length - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :max_length, Float, api_name: :maxLength - - # @!attribute max_value - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :max_value, - union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue }, - api_name: :maxValue - - # @!attribute min_length - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :min_length, Float, api_name: :minLength - - # @!attribute min_value - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :min_value, - union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue }, - api_name: :minValue - - # @!attribute read_only - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - # - # @return [Boolean, nil] - optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly - - # @!attribute select_options - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @return [Array, nil] - optional :select_options, - -> { Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption] }, - api_name: :selectOptions - - # @!attribute select_options_truncated - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - # - # @return [Boolean, nil] - optional :select_options_truncated, - Imagekitio::Internal::Type::Boolean, - api_name: :selectOptionsTruncated - - # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema} for more details. - # - # @param type [Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type] Type of the custom metadata field. - # - # @param default_value [String, Float, Boolean, Array] The default value for this custom metadata field. The value should match the `ty - # - # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not. - # - # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann - # - # @param select_options [Array] An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o - - # Type of the custom metadata field. - # - # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#type - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT = :Text - TEXTAREA = :Textarea - NUMBER = :Number - DATE = :Date - BOOLEAN = :Boolean - SINGLE_SELECT = :SingleSelect - MULTI_SELECT = :MultiSelect - - # @!method self.values - # @return [Array] - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#default_value - module DefaultValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # Default value should be of type array when custom metadata field type is set to `MultiSelect`. - variant -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::MixedArray } - - module Mixed - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - - # @!method self.variants - # @return [Array(String, Float, Boolean, Array)] - - # @type [Imagekitio::Internal::Type::Converter] - MixedArray = - Imagekitio::Internal::Type::ArrayOf[union: -> { Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed }] - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#max_value - module MaxValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema#min_value - module MinValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - end - # @see Imagekitio::Models::FileUploadResponse#version_info class VersionInfo < Imagekitio::Internal::Type::BaseModel # @!attribute id diff --git a/lib/imagekitio/models/upload_pre_transform_success_event.rb b/lib/imagekitio/models/upload_pre_transform_success_event.rb index 3e6d4a6..7018f18 100644 --- a/lib/imagekitio/models/upload_pre_transform_success_event.rb +++ b/lib/imagekitio/models/upload_pre_transform_success_event.rb @@ -40,7 +40,9 @@ class UploadPreTransformSuccessEvent < Imagekitio::Models::BaseWebhookEvent class Data < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. # # @return [Array, nil] optional :ai_tags, @@ -245,7 +247,7 @@ class Data < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -309,9 +311,8 @@ class AITag < Imagekitio::Internal::Type::BaseModel optional :name, String # @!attribute source - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. # # @return [String, nil] optional :source, String @@ -325,7 +326,7 @@ class AITag < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the tag. # - # @param source [String] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi end # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data#extension_status @@ -449,221 +450,6 @@ module RemoveBg end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - # @!attribute type - # Type of the custom metadata field. - # - # @return [Symbol, Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type] - required :type, enum: -> { Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type } - - # @!attribute default_value - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @return [String, Float, Boolean, Array, nil] - optional :default_value, - union: -> { - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue - }, - api_name: :defaultValue - - # @!attribute is_value_required - # Specifies if the custom metadata field is required or not. - # - # @return [Boolean, nil] - optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired - - # @!attribute max_length - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :max_length, Float, api_name: :maxLength - - # @!attribute max_value - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :max_value, - union: -> { - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue - }, - api_name: :maxValue - - # @!attribute min_length - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @return [Float, nil] - optional :min_length, Float, api_name: :minLength - - # @!attribute min_value - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @return [String, Float, nil] - optional :min_value, - union: -> { - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue - }, - api_name: :minValue - - # @!attribute read_only - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - # - # @return [Boolean, nil] - optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly - - # @!attribute select_options - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @return [Array, nil] - optional :select_options, - -> { - Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption] - }, - api_name: :selectOptions - - # @!attribute select_options_truncated - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - # - # @return [Boolean, nil] - optional :select_options_truncated, - Imagekitio::Internal::Type::Boolean, - api_name: :selectOptionsTruncated - - # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema} - # for more details. - # - # @param type [Symbol, Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type] Type of the custom metadata field. - # - # @param default_value [String, Float, Boolean, Array] The default value for this custom metadata field. The value should match the `ty - # - # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not. - # - # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - # - # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D - # - # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann - # - # @param select_options [Array] An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - # - # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o - - # Type of the custom metadata field. - # - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema#type - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT = :Text - TEXTAREA = :Textarea - NUMBER = :Number - DATE = :Date - BOOLEAN = :Boolean - SINGLE_SELECT = :SingleSelect - MULTI_SELECT = :MultiSelect - - # @!method self.values - # @return [Array] - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - # - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema#default_value - module DefaultValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # Default value should be of type array when custom metadata field type is set to `MultiSelect`. - variant -> { Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::MixedArray } - - module Mixed - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - - # @!method self.variants - # @return [Array(String, Float, Boolean, Array)] - - # @type [Imagekitio::Internal::Type::Converter] - MixedArray = - Imagekitio::Internal::Type::ArrayOf[union: -> { - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed - }] - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema#max_value - module MaxValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - # - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema#min_value - module MinValue - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - # @!method self.variants - # @return [Array(String, Float)] - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - variant String - - variant Float - - variant Imagekitio::Internal::Type::Boolean - - # @!method self.variants - # @return [Array(String, Float, Boolean)] - end - end - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data#version_info class VersionInfo < Imagekitio::Internal::Type::BaseModel # @!attribute id diff --git a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi index c89e24c..be53cd7 100644 --- a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +++ b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi @@ -13,7 +13,9 @@ module Imagekitio ) end - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. sig do returns( T.nilable( @@ -301,7 +303,9 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, @@ -455,9 +459,8 @@ module Imagekitio sig { params(name: String).void } attr_writer :name - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. sig { returns(T.nilable(String)) } attr_reader :source @@ -474,9 +477,8 @@ module Imagekitio confidence: nil, # Name of the tag. name: nil, - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. source: nil ) end @@ -831,389 +833,6 @@ module Imagekitio end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema, - Imagekitio::Internal::AnyHash - ) - end - - # Type of the custom metadata field. - sig do - returns( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - end - attr_accessor :type - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - sig do - returns( - T.nilable( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ) - ) - end - attr_reader :default_value - - sig do - params( - default_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ).void - end - attr_writer :default_value - - # Specifies if the custom metadata field is required or not. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_value_required - - sig { params(is_value_required: T::Boolean).void } - attr_writer :is_value_required - - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :max_length - - sig { params(max_length: Float).void } - attr_writer :max_length - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ) - ) - end - attr_reader :max_value - - sig do - params( - max_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ).void - end - attr_writer :max_value - - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :min_length - - sig { params(min_length: Float).void } - attr_writer :min_length - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ) - ) - end - attr_reader :min_value - - sig do - params( - min_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ).void - end - attr_writer :min_value - - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :read_only - - sig { params(read_only: T::Boolean).void } - attr_writer :read_only - - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - sig do - returns( - T.nilable( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ) - ) - end - attr_reader :select_options - - sig do - params( - select_options: - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ).void - end - attr_writer :select_options - - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :select_options_truncated - - sig { params(select_options_truncated: T::Boolean).void } - attr_writer :select_options_truncated - - sig do - params( - type: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::OrSymbol, - default_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # Type of the custom metadata field. - type:, - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - default_value: nil, - # Specifies if the custom metadata field is required or not. - is_value_required: nil, - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - max_length: nil, - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - max_value: nil, - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - min_length: nil, - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - min_value: nil, - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - read_only: nil, - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - select_options: nil, - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - select_options_truncated: nil - ) - end - - sig do - override.returns( - { - type: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol, - default_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - } - ) - end - def to_hash - end - - # Type of the custom metadata field. - module Type - extend Imagekitio::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - TEXT = - T.let( - :Text, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - TEXTAREA = - T.let( - :Textarea, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - NUMBER = - T.let( - :Number, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - DATE = - T.let( - :Date, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - BOOLEAN = - T.let( - :Boolean, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - SINGLE_SELECT = - T.let( - :SingleSelect, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - MULTI_SELECT = - T.let( - :MultiSelect, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - module DefaultValue - extend Imagekitio::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - String, - Float, - T::Boolean, - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - - module Mixed - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - def self.variants - end - end - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ] - ) - end - def self.variants - end - - MixedArray = - T.let( - Imagekitio::Internal::Type::ArrayOf[ - union: - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed - ], - Imagekitio::Internal::Type::Converter - ) - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MaxValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ] - ) - end - def self.variants - end - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MinValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ] - ) - end - def self.variants - end - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ) - end - def self.variants - end - end - end - class VersionInfo < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/imagekitio/models/file.rbi b/rbi/imagekitio/models/file.rbi index 95a78ea..ef88b44 100644 --- a/rbi/imagekitio/models/file.rbi +++ b/rbi/imagekitio/models/file.rbi @@ -6,7 +6,9 @@ module Imagekitio OrHash = T.type_alias { T.any(Imagekitio::File, Imagekitio::Internal::AnyHash) } - # An array of tags assigned to the file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) } attr_accessor :ai_tags @@ -36,7 +38,11 @@ module Imagekitio sig { returns(T.nilable(String)) } attr_accessor :custom_coordinates - # An object with custom metadata for the file. + # A key-value data associated with the asset. Use `responseField` in API request + # to get `customMetadata` in the upload API response. Before setting any custom + # metadata on an asset, you have to create the field using custom metadata fields + # API. Send `customMetadata` in `responseFields` in API request to get the value + # of this field. sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_reader :custom_metadata @@ -59,7 +65,8 @@ module Imagekitio attr_writer :duration # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. + # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get + # embeddedMetadata in the upload API response. sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_reader :embedded_metadata @@ -196,7 +203,7 @@ module Imagekitio sig { params(url: String).void } attr_writer :url - # An object with details of the file version. + # An object containing the file or file version's `id` (versionId) and `name`. sig { returns(T.nilable(Imagekitio::File::VersionInfo)) } attr_reader :version_info @@ -252,7 +259,9 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # An array of tags assigned to the file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. ai_tags: nil, # The audio codec used in the video (only for video/audio). audio_codec: nil, @@ -263,7 +272,11 @@ module Imagekitio created_at: nil, # An string with custom coordinates of the file. custom_coordinates: nil, - # An object with custom metadata for the file. + # A key-value data associated with the asset. Use `responseField` in API request + # to get `customMetadata` in the upload API response. Before setting any custom + # metadata on an asset, you have to create the field using custom metadata fields + # API. Send `customMetadata` in `responseFields` in API request to get the value + # of this field. custom_metadata: nil, # Optional text to describe the contents of the file. Can be set by the user or # the ai-auto-description extension. @@ -271,7 +284,8 @@ module Imagekitio # The duration of the video in seconds (only for video). duration: nil, # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. + # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get + # embeddedMetadata in the upload API response. embedded_metadata: nil, # Unique identifier of the asset. file_id: nil, @@ -317,7 +331,7 @@ module Imagekitio updated_at: nil, # URL of the file. url: nil, - # An object with details of the file version. + # An object containing the file or file version's `id` (versionId) and `name`. version_info: nil, # The video codec used in the video (only for video). video_codec: nil, @@ -415,382 +429,6 @@ module Imagekitio end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::File::SelectedFieldsSchema, - Imagekitio::Internal::AnyHash - ) - end - - # Type of the custom metadata field. - sig do - returns(Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol) - end - attr_accessor :type - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - sig do - returns( - T.nilable( - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants - ) - ) - end - attr_reader :default_value - - sig do - params( - default_value: - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants - ).void - end - attr_writer :default_value - - # Specifies if the custom metadata field is required or not. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_value_required - - sig { params(is_value_required: T::Boolean).void } - attr_writer :is_value_required - - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :max_length - - sig { params(max_length: Float).void } - attr_writer :max_length - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants - ) - ) - end - attr_reader :max_value - - sig do - params( - max_value: - Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants - ).void - end - attr_writer :max_value - - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :min_length - - sig { params(min_length: Float).void } - attr_writer :min_length - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::File::SelectedFieldsSchema::MinValue::Variants - ) - ) - end - attr_reader :min_value - - sig do - params( - min_value: - Imagekitio::File::SelectedFieldsSchema::MinValue::Variants - ).void - end - attr_writer :min_value - - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :read_only - - sig { params(read_only: T::Boolean).void } - attr_writer :read_only - - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - sig do - returns( - T.nilable( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants - ] - ) - ) - end - attr_reader :select_options - - sig do - params( - select_options: - T::Array[ - Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants - ] - ).void - end - attr_writer :select_options - - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :select_options_truncated - - sig { params(select_options_truncated: T::Boolean).void } - attr_writer :select_options_truncated - - sig do - params( - type: Imagekitio::File::SelectedFieldsSchema::Type::OrSymbol, - default_value: - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::File::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # Type of the custom metadata field. - type:, - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - default_value: nil, - # Specifies if the custom metadata field is required or not. - is_value_required: nil, - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - max_length: nil, - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - max_value: nil, - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - min_length: nil, - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - min_value: nil, - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - read_only: nil, - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - select_options: nil, - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - select_options_truncated: nil - ) - end - - sig do - override.returns( - { - type: Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol, - default_value: - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::File::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - } - ) - end - def to_hash - end - - # Type of the custom metadata field. - module Type - extend Imagekitio::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all(Symbol, Imagekitio::File::SelectedFieldsSchema::Type) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - TEXT = - T.let( - :Text, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - TEXTAREA = - T.let( - :Textarea, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - NUMBER = - T.let( - :Number, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - DATE = - T.let( - :Date, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - BOOLEAN = - T.let( - :Boolean, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - SINGLE_SELECT = - T.let( - :SingleSelect, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - MULTI_SELECT = - T.let( - :MultiSelect, - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - module DefaultValue - extend Imagekitio::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - String, - Float, - T::Boolean, - T::Array[ - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - - module Mixed - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - def self.variants - end - end - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Variants - ] - ) - end - def self.variants - end - - MixedArray = - T.let( - Imagekitio::Internal::Type::ArrayOf[ - union: - Imagekitio::File::SelectedFieldsSchema::DefaultValue::Mixed - ], - Imagekitio::Internal::Type::Converter - ) - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MaxValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::MaxValue::Variants - ] - ) - end - def self.variants - end - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MinValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::MinValue::Variants - ] - ) - end - def self.variants - end - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::File::SelectedFieldsSchema::SelectOption::Variants - ] - ) - end - def self.variants - end - end - end - # Type of the asset. module Type extend Imagekitio::Internal::Type::Enum @@ -827,7 +465,7 @@ module Imagekitio sig { params(name: String).void } attr_writer :name - # An object with details of the file version. + # An object containing the file or file version's `id` (versionId) and `name`. sig { params(id: String, name: String).returns(T.attached_class) } def self.new( # Unique identifier of the file version. diff --git a/rbi/imagekitio/models/file_upload_response.rbi b/rbi/imagekitio/models/file_upload_response.rbi index 5db0236..d1d8645 100644 --- a/rbi/imagekitio/models/file_upload_response.rbi +++ b/rbi/imagekitio/models/file_upload_response.rbi @@ -11,7 +11,9 @@ module Imagekitio ) end - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. sig do returns( T.nilable(T::Array[Imagekitio::Models::FileUploadResponse::AITag]) @@ -287,7 +289,9 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, @@ -438,9 +442,8 @@ module Imagekitio sig { params(name: String).void } attr_writer :name - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. sig { returns(T.nilable(String)) } attr_reader :source @@ -457,9 +460,8 @@ module Imagekitio confidence: nil, # Name of the tag. name: nil, - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. source: nil ) end @@ -812,389 +814,6 @@ module Imagekitio end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema, - Imagekitio::Internal::AnyHash - ) - end - - # Type of the custom metadata field. - sig do - returns( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - end - attr_accessor :type - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - sig do - returns( - T.nilable( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ) - ) - end - attr_reader :default_value - - sig do - params( - default_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ).void - end - attr_writer :default_value - - # Specifies if the custom metadata field is required or not. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_value_required - - sig { params(is_value_required: T::Boolean).void } - attr_writer :is_value_required - - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :max_length - - sig { params(max_length: Float).void } - attr_writer :max_length - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ) - ) - end - attr_reader :max_value - - sig do - params( - max_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ).void - end - attr_writer :max_value - - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :min_length - - sig { params(min_length: Float).void } - attr_writer :min_length - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ) - ) - end - attr_reader :min_value - - sig do - params( - min_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ).void - end - attr_writer :min_value - - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :read_only - - sig { params(read_only: T::Boolean).void } - attr_writer :read_only - - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - sig do - returns( - T.nilable( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ) - ) - end - attr_reader :select_options - - sig do - params( - select_options: - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ).void - end - attr_writer :select_options - - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :select_options_truncated - - sig { params(select_options_truncated: T::Boolean).void } - attr_writer :select_options_truncated - - sig do - params( - type: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::OrSymbol, - default_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # Type of the custom metadata field. - type:, - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - default_value: nil, - # Specifies if the custom metadata field is required or not. - is_value_required: nil, - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - max_length: nil, - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - max_value: nil, - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - min_length: nil, - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - min_value: nil, - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - read_only: nil, - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - select_options: nil, - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - select_options_truncated: nil - ) - end - - sig do - override.returns( - { - type: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol, - default_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - } - ) - end - def to_hash - end - - # Type of the custom metadata field. - module Type - extend Imagekitio::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - TEXT = - T.let( - :Text, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - TEXTAREA = - T.let( - :Textarea, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - NUMBER = - T.let( - :Number, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - DATE = - T.let( - :Date, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - BOOLEAN = - T.let( - :Boolean, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - SINGLE_SELECT = - T.let( - :SingleSelect, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - MULTI_SELECT = - T.let( - :MultiSelect, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - module DefaultValue - extend Imagekitio::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - String, - Float, - T::Boolean, - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - - module Mixed - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - def self.variants - end - end - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Variants - ] - ) - end - def self.variants - end - - MixedArray = - T.let( - Imagekitio::Internal::Type::ArrayOf[ - union: - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::Mixed - ], - Imagekitio::Internal::Type::Converter - ) - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MaxValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MaxValue::Variants - ] - ) - end - def self.variants - end - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MinValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::MinValue::Variants - ] - ) - end - def self.variants - end - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::SelectOption::Variants - ] - ) - end - def self.variants - end - end - end - class VersionInfo < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi index d20ff55..3cab9e9 100644 --- a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +++ b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi @@ -82,7 +82,9 @@ module Imagekitio ) end - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. sig do returns( T.nilable( @@ -368,7 +370,9 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # An array of tags assigned to the uploaded file by auto tagging. + # Array of `AITags` associated with the image. If no `AITags` are set, it will be + # null. These tags can be added using the `google-auto-tagging` or + # `aws-auto-tagging` extensions. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, @@ -522,9 +526,8 @@ module Imagekitio sig { params(name: String).void } attr_writer :name - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. sig { returns(T.nilable(String)) } attr_reader :source @@ -541,9 +544,8 @@ module Imagekitio confidence: nil, # Name of the tag. name: nil, - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. source: nil ) end @@ -898,389 +900,6 @@ module Imagekitio end end - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema, - Imagekitio::Internal::AnyHash - ) - end - - # Type of the custom metadata field. - sig do - returns( - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - end - attr_accessor :type - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - sig do - returns( - T.nilable( - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants - ) - ) - end - attr_reader :default_value - - sig do - params( - default_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants - ).void - end - attr_writer :default_value - - # Specifies if the custom metadata field is required or not. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :is_value_required - - sig { params(is_value_required: T::Boolean).void } - attr_writer :is_value_required - - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :max_length - - sig { params(max_length: Float).void } - attr_writer :max_length - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants - ) - ) - end - attr_reader :max_value - - sig do - params( - max_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants - ).void - end - attr_writer :max_value - - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - sig { returns(T.nilable(Float)) } - attr_reader :min_length - - sig { params(min_length: Float).void } - attr_writer :min_length - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - sig do - returns( - T.nilable( - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants - ) - ) - end - attr_reader :min_value - - sig do - params( - min_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants - ).void - end - attr_writer :min_value - - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :read_only - - sig { params(read_only: T::Boolean).void } - attr_writer :read_only - - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - sig do - returns( - T.nilable( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants - ] - ) - ) - end - attr_reader :select_options - - sig do - params( - select_options: - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants - ] - ).void - end - attr_writer :select_options - - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :select_options_truncated - - sig { params(select_options_truncated: T::Boolean).void } - attr_writer :select_options_truncated - - sig do - params( - type: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::OrSymbol, - default_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - ).returns(T.attached_class) - end - def self.new( - # Type of the custom metadata field. - type:, - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - default_value: nil, - # Specifies if the custom metadata field is required or not. - is_value_required: nil, - # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. - max_length: nil, - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - max_value: nil, - # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. - min_length: nil, - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - min_value: nil, - # Indicates whether the custom metadata field is read only. A read only field - # cannot be modified after being set. This field is configurable only via the - # **Path policy** feature. - read_only: nil, - # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. - select_options: nil, - # Specifies if the selectOptions array is truncated. It is truncated when number - # of options are > 100. - select_options_truncated: nil - ) - end - - sig do - override.returns( - { - type: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol, - default_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants, - is_value_required: T::Boolean, - max_length: Float, - max_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants, - min_length: Float, - min_value: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants, - read_only: T::Boolean, - select_options: - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants - ], - select_options_truncated: T::Boolean - } - ) - end - def to_hash - end - - # Type of the custom metadata field. - module Type - extend Imagekitio::Internal::Type::Enum - - TaggedSymbol = - T.type_alias do - T.all( - Symbol, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type - ) - end - OrSymbol = T.type_alias { T.any(Symbol, String) } - - TEXT = - T.let( - :Text, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - TEXTAREA = - T.let( - :Textarea, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - NUMBER = - T.let( - :Number, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - DATE = - T.let( - :Date, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - BOOLEAN = - T.let( - :Boolean, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - SINGLE_SELECT = - T.let( - :SingleSelect, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - MULTI_SELECT = - T.let( - :MultiSelect, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ) - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::Type::TaggedSymbol - ] - ) - end - def self.values - end - end - - # The default value for this custom metadata field. The value should match the - # `type` of custom metadata field. - module DefaultValue - extend Imagekitio::Internal::Type::Union - - Variants = - T.type_alias do - T.any( - String, - Float, - T::Boolean, - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - - module Mixed - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed::Variants - ] - ) - end - def self.variants - end - end - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Variants - ] - ) - end - def self.variants - end - - MixedArray = - T.let( - Imagekitio::Internal::Type::ArrayOf[ - union: - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::Mixed - ], - Imagekitio::Internal::Type::Converter - ) - end - - # Maximum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MaxValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MaxValue::Variants - ] - ) - end - def self.variants - end - end - - # Minimum value of the field. Only set if field type is `Date` or `Number`. For - # `Date` type field, the value will be in ISO8601 string format. For `Number` type - # field, it will be a numeric value. - module MinValue - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float) } - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::MinValue::Variants - ] - ) - end - def self.variants - end - end - - module SelectOption - extend Imagekitio::Internal::Type::Union - - Variants = T.type_alias { T.any(String, Float, T::Boolean) } - - sig do - override.returns( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::SelectOption::Variants - ] - ) - end - def self.variants - end - end - end - class VersionInfo < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do diff --git a/sig/imagekitio/models/beta/v2/file_upload_response.rbs b/sig/imagekitio/models/beta/v2/file_upload_response.rbs index f552c5a..af06b3d 100644 --- a/sig/imagekitio/models/beta/v2/file_upload_response.rbs +++ b/sig/imagekitio/models/beta/v2/file_upload_response.rbs @@ -329,163 +329,6 @@ module Imagekitio end end - type selected_fields_schema = - { - type: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - attr_accessor type: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::type_ - - attr_reader default_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value? - - def default_value=: ( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value - ) -> Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value - - attr_reader is_value_required: bool? - - def is_value_required=: (bool) -> bool - - attr_reader max_length: Float? - - def max_length=: (Float) -> Float - - attr_reader max_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value? - - def max_value=: ( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value - ) -> Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value - - attr_reader min_length: Float? - - def min_length=: (Float) -> Float - - attr_reader min_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value? - - def min_value=: ( - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value - ) -> Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value - - attr_reader read_only: bool? - - def read_only=: (bool) -> bool - - attr_reader select_options: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option]? - - def select_options=: ( - ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option] - ) -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option] - - attr_reader select_options_truncated: bool? - - def select_options_truncated=: (bool) -> bool - - def initialize: ( - type: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::type_, - ?default_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value, - ?is_value_required: bool, - ?max_length: Float, - ?max_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value, - ?min_length: Float, - ?min_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value, - ?read_only: bool, - ?select_options: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option], - ?select_options_truncated: bool - ) -> void - - def to_hash: -> { - type: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - type type_ = - :Text - | :Textarea - | :Number - | :Date - | :Boolean - | :SingleSelect - | :MultiSelect - - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT: :Text - TEXTAREA: :Textarea - NUMBER: :Number - DATE: :Date - BOOLEAN: :Boolean - SINGLE_SELECT: :SingleSelect - MULTI_SELECT: :MultiSelect - - def self?.values: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::type_] - end - - type default_value = - String - | Float - | bool - | ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::mixed] - - module DefaultValue - extend Imagekitio::Internal::Type::Union - - type mixed = String | Float | bool - - module Mixed - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::DefaultValue::mixed] - end - - def self?.variants: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::default_value] - - MixedArray: Imagekitio::Internal::Type::Converter - end - - type max_value = String | Float - - module MaxValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::max_value] - end - - type min_value = String | Float - - module MinValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::min_value] - end - - type select_option = String | Float | bool - - module SelectOption - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::select_option] - end - end - type version_info = { id: String, name: String } class VersionInfo < Imagekitio::Internal::Type::BaseModel diff --git a/sig/imagekitio/models/file.rbs b/sig/imagekitio/models/file.rbs index 8915e78..e24710c 100644 --- a/sig/imagekitio/models/file.rbs +++ b/sig/imagekitio/models/file.rbs @@ -231,163 +231,6 @@ module Imagekitio def to_hash: -> { confidence: Float, name: String, source: String } end - type selected_fields_schema = - { - type: Imagekitio::Models::File::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::File::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::File::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::File::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - attr_accessor type: Imagekitio::Models::File::SelectedFieldsSchema::type_ - - attr_reader default_value: Imagekitio::Models::File::SelectedFieldsSchema::default_value? - - def default_value=: ( - Imagekitio::Models::File::SelectedFieldsSchema::default_value - ) -> Imagekitio::Models::File::SelectedFieldsSchema::default_value - - attr_reader is_value_required: bool? - - def is_value_required=: (bool) -> bool - - attr_reader max_length: Float? - - def max_length=: (Float) -> Float - - attr_reader max_value: Imagekitio::Models::File::SelectedFieldsSchema::max_value? - - def max_value=: ( - Imagekitio::Models::File::SelectedFieldsSchema::max_value - ) -> Imagekitio::Models::File::SelectedFieldsSchema::max_value - - attr_reader min_length: Float? - - def min_length=: (Float) -> Float - - attr_reader min_value: Imagekitio::Models::File::SelectedFieldsSchema::min_value? - - def min_value=: ( - Imagekitio::Models::File::SelectedFieldsSchema::min_value - ) -> Imagekitio::Models::File::SelectedFieldsSchema::min_value - - attr_reader read_only: bool? - - def read_only=: (bool) -> bool - - attr_reader select_options: ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option]? - - def select_options=: ( - ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option] - ) -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option] - - attr_reader select_options_truncated: bool? - - def select_options_truncated=: (bool) -> bool - - def initialize: ( - type: Imagekitio::Models::File::SelectedFieldsSchema::type_, - ?default_value: Imagekitio::Models::File::SelectedFieldsSchema::default_value, - ?is_value_required: bool, - ?max_length: Float, - ?max_value: Imagekitio::Models::File::SelectedFieldsSchema::max_value, - ?min_length: Float, - ?min_value: Imagekitio::Models::File::SelectedFieldsSchema::min_value, - ?read_only: bool, - ?select_options: ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option], - ?select_options_truncated: bool - ) -> void - - def to_hash: -> { - type: Imagekitio::Models::File::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::File::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::File::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::File::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - type type_ = - :Text - | :Textarea - | :Number - | :Date - | :Boolean - | :SingleSelect - | :MultiSelect - - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT: :Text - TEXTAREA: :Textarea - NUMBER: :Number - DATE: :Date - BOOLEAN: :Boolean - SINGLE_SELECT: :SingleSelect - MULTI_SELECT: :MultiSelect - - def self?.values: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::type_] - end - - type default_value = - String - | Float - | bool - | ::Array[Imagekitio::Models::File::SelectedFieldsSchema::DefaultValue::mixed] - - module DefaultValue - extend Imagekitio::Internal::Type::Union - - type mixed = String | Float | bool - - module Mixed - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::DefaultValue::mixed] - end - - def self?.variants: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::default_value] - - MixedArray: Imagekitio::Internal::Type::Converter - end - - type max_value = String | Float - - module MaxValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::max_value] - end - - type min_value = String | Float - - module MinValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::min_value] - end - - type select_option = String | Float | bool - - module SelectOption - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::File::SelectedFieldsSchema::select_option] - end - end - type type_ = :file | :"file-version" module Type diff --git a/sig/imagekitio/models/file_upload_response.rbs b/sig/imagekitio/models/file_upload_response.rbs index abb9c68..dd22fb5 100644 --- a/sig/imagekitio/models/file_upload_response.rbs +++ b/sig/imagekitio/models/file_upload_response.rbs @@ -327,163 +327,6 @@ module Imagekitio end end - type selected_fields_schema = - { - type: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - attr_accessor type: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::type_ - - attr_reader default_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value? - - def default_value=: ( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value - ) -> Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value - - attr_reader is_value_required: bool? - - def is_value_required=: (bool) -> bool - - attr_reader max_length: Float? - - def max_length=: (Float) -> Float - - attr_reader max_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value? - - def max_value=: ( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value - ) -> Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value - - attr_reader min_length: Float? - - def min_length=: (Float) -> Float - - attr_reader min_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value? - - def min_value=: ( - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value - ) -> Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value - - attr_reader read_only: bool? - - def read_only=: (bool) -> bool - - attr_reader select_options: ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option]? - - def select_options=: ( - ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option] - ) -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option] - - attr_reader select_options_truncated: bool? - - def select_options_truncated=: (bool) -> bool - - def initialize: ( - type: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::type_, - ?default_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value, - ?is_value_required: bool, - ?max_length: Float, - ?max_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value, - ?min_length: Float, - ?min_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value, - ?read_only: bool, - ?select_options: ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option], - ?select_options_truncated: bool - ) -> void - - def to_hash: -> { - type: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - type type_ = - :Text - | :Textarea - | :Number - | :Date - | :Boolean - | :SingleSelect - | :MultiSelect - - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT: :Text - TEXTAREA: :Textarea - NUMBER: :Number - DATE: :Date - BOOLEAN: :Boolean - SINGLE_SELECT: :SingleSelect - MULTI_SELECT: :MultiSelect - - def self?.values: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::type_] - end - - type default_value = - String - | Float - | bool - | ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::mixed] - - module DefaultValue - extend Imagekitio::Internal::Type::Union - - type mixed = String | Float | bool - - module Mixed - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::DefaultValue::mixed] - end - - def self?.variants: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::default_value] - - MixedArray: Imagekitio::Internal::Type::Converter - end - - type max_value = String | Float - - module MaxValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::max_value] - end - - type min_value = String | Float - - module MinValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::min_value] - end - - type select_option = String | Float | bool - - module SelectOption - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::select_option] - end - end - type version_info = { id: String, name: String } class VersionInfo < Imagekitio::Internal::Type::BaseModel diff --git a/sig/imagekitio/models/upload_pre_transform_success_event.rbs b/sig/imagekitio/models/upload_pre_transform_success_event.rbs index e7de4a8..5f7333f 100644 --- a/sig/imagekitio/models/upload_pre_transform_success_event.rbs +++ b/sig/imagekitio/models/upload_pre_transform_success_event.rbs @@ -372,163 +372,6 @@ module Imagekitio end end - type selected_fields_schema = - { - type: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - class SelectedFieldsSchema < Imagekitio::Internal::Type::BaseModel - attr_accessor type: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::type_ - - attr_reader default_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value? - - def default_value=: ( - Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value - ) -> Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value - - attr_reader is_value_required: bool? - - def is_value_required=: (bool) -> bool - - attr_reader max_length: Float? - - def max_length=: (Float) -> Float - - attr_reader max_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value? - - def max_value=: ( - Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value - ) -> Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value - - attr_reader min_length: Float? - - def min_length=: (Float) -> Float - - attr_reader min_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value? - - def min_value=: ( - Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value - ) -> Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value - - attr_reader read_only: bool? - - def read_only=: (bool) -> bool - - attr_reader select_options: ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option]? - - def select_options=: ( - ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option] - ) -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option] - - attr_reader select_options_truncated: bool? - - def select_options_truncated=: (bool) -> bool - - def initialize: ( - type: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::type_, - ?default_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value, - ?is_value_required: bool, - ?max_length: Float, - ?max_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value, - ?min_length: Float, - ?min_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value, - ?read_only: bool, - ?select_options: ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option], - ?select_options_truncated: bool - ) -> void - - def to_hash: -> { - type: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::type_, - default_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value, - is_value_required: bool, - max_length: Float, - max_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value, - min_length: Float, - min_value: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value, - read_only: bool, - select_options: ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option], - select_options_truncated: bool - } - - type type_ = - :Text - | :Textarea - | :Number - | :Date - | :Boolean - | :SingleSelect - | :MultiSelect - - module Type - extend Imagekitio::Internal::Type::Enum - - TEXT: :Text - TEXTAREA: :Textarea - NUMBER: :Number - DATE: :Date - BOOLEAN: :Boolean - SINGLE_SELECT: :SingleSelect - MULTI_SELECT: :MultiSelect - - def self?.values: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::type_] - end - - type default_value = - String - | Float - | bool - | ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::mixed] - - module DefaultValue - extend Imagekitio::Internal::Type::Union - - type mixed = String | Float | bool - - module Mixed - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::DefaultValue::mixed] - end - - def self?.variants: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::default_value] - - MixedArray: Imagekitio::Internal::Type::Converter - end - - type max_value = String | Float - - module MaxValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::max_value] - end - - type min_value = String | Float - - module MinValue - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::min_value] - end - - type select_option = String | Float | bool - - module SelectOption - extend Imagekitio::Internal::Type::Union - - def self?.variants: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::select_option] - end - end - type version_info = { id: String, name: String } class VersionInfo < Imagekitio::Internal::Type::BaseModel From 3d073676557eaac1a3ce9447866936e707f45566 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 01:00:14 +0000 Subject: [PATCH 10/17] fix(api): fix references of schema --- .stats.yml | 2 +- .../models/beta/v2/file_upload_response.rb | 53 ----------- lib/imagekitio/models/file.rb | 53 ----------- lib/imagekitio/models/file_upload_response.rb | 53 ----------- .../upload_pre_transform_success_event.rb | 54 ----------- .../models/beta/v2/file_upload_response.rbi | 94 ------------------- rbi/imagekitio/models/file.rbi | 86 ----------------- .../models/file_upload_response.rbi | 92 ------------------ .../upload_pre_transform_success_event.rbi | 94 ------------------- .../models/beta/v2/file_upload_response.rbs | 40 -------- sig/imagekitio/models/file.rbs | 40 -------- .../models/file_upload_response.rbs | 40 -------- .../upload_pre_transform_success_event.rbs | 40 -------- 13 files changed, 1 insertion(+), 740 deletions(-) diff --git a/.stats.yml b/.stats.yml index 92aebe1..c4bde9f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-7c4c23556be689ded6bcafd05e1645b82239521c9c841c0f7e76336e2eefcffa.yml openapi_spec_hash: eca5b039a0066c6536296248c3a80854 -config_hash: e3c2679d25f6235381dfb11962fbf3d9 +config_hash: f914ebc9670f6e7c7751660caa4e5556 diff --git a/lib/imagekitio/models/beta/v2/file_upload_response.rb b/lib/imagekitio/models/beta/v2/file_upload_response.rb index c674c7e..0b2ea8f 100644 --- a/lib/imagekitio/models/beta/v2/file_upload_response.rb +++ b/lib/imagekitio/models/beta/v2/file_upload_response.rb @@ -260,37 +260,6 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param width [Float] Width of the image in pixels (Only for Images) - class AITag < Imagekitio::Internal::Type::BaseModel - # @!attribute confidence - # Confidence score of the tag. - # - # @return [Float, nil] - optional :confidence, Float - - # @!attribute name - # Name of the tag. - # - # @return [String, nil] - optional :name, String - - # @!attribute source - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - # - # @return [String, nil] - optional :source, String - - # @!method initialize(confidence: nil, name: nil, source: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::Beta::V2::FileUploadResponse::AITag} for more details. - # - # @param confidence [Float] Confidence score of the tag. - # - # @param name [String] Name of the tag. - # - # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi - end - # @see Imagekitio::Models::Beta::V2::FileUploadResponse#extension_status class ExtensionStatus < Imagekitio::Internal::Type::BaseModel # @!attribute ai_auto_description @@ -405,28 +374,6 @@ module RemoveBg # @return [Array] end end - - # @see Imagekitio::Models::Beta::V2::FileUploadResponse#version_info - class VersionInfo < Imagekitio::Internal::Type::BaseModel - # @!attribute id - # Unique identifier of the file version. - # - # @return [String, nil] - optional :id, String - - # @!attribute name - # Name of the file version. - # - # @return [String, nil] - optional :name, String - - # @!method initialize(id: nil, name: nil) - # An object containing the file or file version's `id` (versionId) and `name`. - # - # @param id [String] Unique identifier of the file version. - # - # @param name [String] Name of the file version. - end end end end diff --git a/lib/imagekitio/models/file.rb b/lib/imagekitio/models/file.rb index 5971577..219e348 100644 --- a/lib/imagekitio/models/file.rb +++ b/lib/imagekitio/models/file.rb @@ -265,37 +265,6 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param width [Float] Width of the file. - class AITag < Imagekitio::Internal::Type::BaseModel - # @!attribute confidence - # Confidence score of the tag. - # - # @return [Float, nil] - optional :confidence, Float - - # @!attribute name - # Name of the tag. - # - # @return [String, nil] - optional :name, String - - # @!attribute source - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - # - # @return [String, nil] - optional :source, String - - # @!method initialize(confidence: nil, name: nil, source: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::File::AITag} for more details. - # - # @param confidence [Float] Confidence score of the tag. - # - # @param name [String] Name of the tag. - # - # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi - end - # Type of the asset. # # @see Imagekitio::Models::File#type @@ -308,28 +277,6 @@ module Type # @!method self.values # @return [Array] end - - # @see Imagekitio::Models::File#version_info - class VersionInfo < Imagekitio::Internal::Type::BaseModel - # @!attribute id - # Unique identifier of the file version. - # - # @return [String, nil] - optional :id, String - - # @!attribute name - # Name of the file version. - # - # @return [String, nil] - optional :name, String - - # @!method initialize(id: nil, name: nil) - # An object containing the file or file version's `id` (versionId) and `name`. - # - # @param id [String] Unique identifier of the file version. - # - # @param name [String] Name of the file version. - end end end end diff --git a/lib/imagekitio/models/file_upload_response.rb b/lib/imagekitio/models/file_upload_response.rb index d18bc1d..5dd6296 100644 --- a/lib/imagekitio/models/file_upload_response.rb +++ b/lib/imagekitio/models/file_upload_response.rb @@ -256,37 +256,6 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param width [Float] Width of the image in pixels (Only for Images) - class AITag < Imagekitio::Internal::Type::BaseModel - # @!attribute confidence - # Confidence score of the tag. - # - # @return [Float, nil] - optional :confidence, Float - - # @!attribute name - # Name of the tag. - # - # @return [String, nil] - optional :name, String - - # @!attribute source - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - # - # @return [String, nil] - optional :source, String - - # @!method initialize(confidence: nil, name: nil, source: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::FileUploadResponse::AITag} for more details. - # - # @param confidence [Float] Confidence score of the tag. - # - # @param name [String] Name of the tag. - # - # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi - end - # @see Imagekitio::Models::FileUploadResponse#extension_status class ExtensionStatus < Imagekitio::Internal::Type::BaseModel # @!attribute ai_auto_description @@ -401,28 +370,6 @@ module RemoveBg # @return [Array] end end - - # @see Imagekitio::Models::FileUploadResponse#version_info - class VersionInfo < Imagekitio::Internal::Type::BaseModel - # @!attribute id - # Unique identifier of the file version. - # - # @return [String, nil] - optional :id, String - - # @!attribute name - # Name of the file version. - # - # @return [String, nil] - optional :name, String - - # @!method initialize(id: nil, name: nil) - # An object containing the file or file version's `id` (versionId) and `name`. - # - # @param id [String] Unique identifier of the file version. - # - # @param name [String] Name of the file version. - end end end end diff --git a/lib/imagekitio/models/upload_pre_transform_success_event.rb b/lib/imagekitio/models/upload_pre_transform_success_event.rb index 7018f18..b5dc06c 100644 --- a/lib/imagekitio/models/upload_pre_transform_success_event.rb +++ b/lib/imagekitio/models/upload_pre_transform_success_event.rb @@ -297,38 +297,6 @@ class Data < Imagekitio::Internal::Type::BaseModel # # @param width [Float] Width of the image in pixels (Only for Images) - class AITag < Imagekitio::Internal::Type::BaseModel - # @!attribute confidence - # Confidence score of the tag. - # - # @return [Float, nil] - optional :confidence, Float - - # @!attribute name - # Name of the tag. - # - # @return [String, nil] - optional :name, String - - # @!attribute source - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - # - # @return [String, nil] - optional :source, String - - # @!method initialize(confidence: nil, name: nil, source: nil) - # Some parameter documentations has been truncated, see - # {Imagekitio::Models::UploadPreTransformSuccessEvent::Data::AITag} for more - # details. - # - # @param confidence [Float] Confidence score of the tag. - # - # @param name [String] Name of the tag. - # - # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi - end - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data#extension_status class ExtensionStatus < Imagekitio::Internal::Type::BaseModel # @!attribute ai_auto_description @@ -449,28 +417,6 @@ module RemoveBg # @return [Array] end end - - # @see Imagekitio::Models::UploadPreTransformSuccessEvent::Data#version_info - class VersionInfo < Imagekitio::Internal::Type::BaseModel - # @!attribute id - # Unique identifier of the file version. - # - # @return [String, nil] - optional :id, String - - # @!attribute name - # Name of the file version. - # - # @return [String, nil] - optional :name, String - - # @!method initialize(id: nil, name: nil) - # An object containing the file or file version's `id` (versionId) and `name`. - # - # @param id [String] Unique identifier of the file version. - # - # @param name [String] Name of the file version. - end end class Request < Imagekitio::Internal::Type::BaseModel diff --git a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi index be53cd7..e514db6 100644 --- a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +++ b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi @@ -436,62 +436,6 @@ module Imagekitio def to_hash end - class AITag < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::Beta::V2::FileUploadResponse::AITag, - Imagekitio::Internal::AnyHash - ) - end - - # Confidence score of the tag. - sig { returns(T.nilable(Float)) } - attr_reader :confidence - - sig { params(confidence: Float).void } - attr_writer :confidence - - # Name of the tag. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - sig { returns(T.nilable(String)) } - attr_reader :source - - sig { params(source: String).void } - attr_writer :source - - sig do - params(confidence: Float, name: String, source: String).returns( - T.attached_class - ) - end - def self.new( - # Confidence score of the tag. - confidence: nil, - # Name of the tag. - name: nil, - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - source: nil - ) - end - - sig do - override.returns( - { confidence: Float, name: String, source: String } - ) - end - def to_hash - end - end - class ExtensionStatus < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do @@ -832,44 +776,6 @@ module Imagekitio end end end - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, - Imagekitio::Internal::AnyHash - ) - end - - # Unique identifier of the file version. - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id - - # Name of the file version. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # An object containing the file or file version's `id` (versionId) and `name`. - sig { params(id: String, name: String).returns(T.attached_class) } - def self.new( - # Unique identifier of the file version. - id: nil, - # Name of the file version. - name: nil - ) - end - - sig { override.returns({ id: String, name: String }) } - def to_hash - end - end end end end diff --git a/rbi/imagekitio/models/file.rbi b/rbi/imagekitio/models/file.rbi index ef88b44..03d6494 100644 --- a/rbi/imagekitio/models/file.rbi +++ b/rbi/imagekitio/models/file.rbi @@ -378,57 +378,6 @@ module Imagekitio def to_hash end - class AITag < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Imagekitio::File::AITag, Imagekitio::Internal::AnyHash) - end - - # Confidence score of the tag. - sig { returns(T.nilable(Float)) } - attr_reader :confidence - - sig { params(confidence: Float).void } - attr_writer :confidence - - # Name of the tag. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - sig { returns(T.nilable(String)) } - attr_reader :source - - sig { params(source: String).void } - attr_writer :source - - sig do - params(confidence: Float, name: String, source: String).returns( - T.attached_class - ) - end - def self.new( - # Confidence score of the tag. - confidence: nil, - # Name of the tag. - name: nil, - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - source: nil - ) - end - - sig do - override.returns({ confidence: Float, name: String, source: String }) - end - def to_hash - end - end - # Type of the asset. module Type extend Imagekitio::Internal::Type::Enum @@ -444,41 +393,6 @@ module Imagekitio def self.values end end - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any(Imagekitio::File::VersionInfo, Imagekitio::Internal::AnyHash) - end - - # Unique identifier of the file version. - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id - - # Name of the file version. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # An object containing the file or file version's `id` (versionId) and `name`. - sig { params(id: String, name: String).returns(T.attached_class) } - def self.new( - # Unique identifier of the file version. - id: nil, - # Name of the file version. - name: nil - ) - end - - sig { override.returns({ id: String, name: String }) } - def to_hash - end - end end end end diff --git a/rbi/imagekitio/models/file_upload_response.rbi b/rbi/imagekitio/models/file_upload_response.rbi index d1d8645..34a1b7a 100644 --- a/rbi/imagekitio/models/file_upload_response.rbi +++ b/rbi/imagekitio/models/file_upload_response.rbi @@ -419,60 +419,6 @@ module Imagekitio def to_hash end - class AITag < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::FileUploadResponse::AITag, - Imagekitio::Internal::AnyHash - ) - end - - # Confidence score of the tag. - sig { returns(T.nilable(Float)) } - attr_reader :confidence - - sig { params(confidence: Float).void } - attr_writer :confidence - - # Name of the tag. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - sig { returns(T.nilable(String)) } - attr_reader :source - - sig { params(source: String).void } - attr_writer :source - - sig do - params(confidence: Float, name: String, source: String).returns( - T.attached_class - ) - end - def self.new( - # Confidence score of the tag. - confidence: nil, - # Name of the tag. - name: nil, - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - source: nil - ) - end - - sig do - override.returns({ confidence: Float, name: String, source: String }) - end - def to_hash - end - end - class ExtensionStatus < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do @@ -813,44 +759,6 @@ module Imagekitio end end end - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::Models::FileUploadResponse::VersionInfo, - Imagekitio::Internal::AnyHash - ) - end - - # Unique identifier of the file version. - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id - - # Name of the file version. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # An object containing the file or file version's `id` (versionId) and `name`. - sig { params(id: String, name: String).returns(T.attached_class) } - def self.new( - # Unique identifier of the file version. - id: nil, - # Name of the file version. - name: nil - ) - end - - sig { override.returns({ id: String, name: String }) } - def to_hash - end - end end end end diff --git a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi index 3cab9e9..eda1897 100644 --- a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +++ b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi @@ -503,62 +503,6 @@ module Imagekitio def to_hash end - class AITag < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::UploadPreTransformSuccessEvent::Data::AITag, - Imagekitio::Internal::AnyHash - ) - end - - # Confidence score of the tag. - sig { returns(T.nilable(Float)) } - attr_reader :confidence - - sig { params(confidence: Float).void } - attr_writer :confidence - - # Name of the tag. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - sig { returns(T.nilable(String)) } - attr_reader :source - - sig { params(source: String).void } - attr_writer :source - - sig do - params(confidence: Float, name: String, source: String).returns( - T.attached_class - ) - end - def self.new( - # Confidence score of the tag. - confidence: nil, - # Name of the tag. - name: nil, - # Source of the tag. Possible values are `google-auto-tagging` and - # `aws-auto-tagging`. - source: nil - ) - end - - sig do - override.returns( - { confidence: Float, name: String, source: String } - ) - end - def to_hash - end - end - class ExtensionStatus < Imagekitio::Internal::Type::BaseModel OrHash = T.type_alias do @@ -899,44 +843,6 @@ module Imagekitio end end end - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - OrHash = - T.type_alias do - T.any( - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo, - Imagekitio::Internal::AnyHash - ) - end - - # Unique identifier of the file version. - sig { returns(T.nilable(String)) } - attr_reader :id - - sig { params(id: String).void } - attr_writer :id - - # Name of the file version. - sig { returns(T.nilable(String)) } - attr_reader :name - - sig { params(name: String).void } - attr_writer :name - - # An object containing the file or file version's `id` (versionId) and `name`. - sig { params(id: String, name: String).returns(T.attached_class) } - def self.new( - # Unique identifier of the file version. - id: nil, - # Name of the file version. - name: nil - ) - end - - sig { override.returns({ id: String, name: String }) } - def to_hash - end - end end class Request < Imagekitio::Internal::Type::BaseModel diff --git a/sig/imagekitio/models/beta/v2/file_upload_response.rbs b/sig/imagekitio/models/beta/v2/file_upload_response.rbs index af06b3d..8f3beda 100644 --- a/sig/imagekitio/models/beta/v2/file_upload_response.rbs +++ b/sig/imagekitio/models/beta/v2/file_upload_response.rbs @@ -188,30 +188,6 @@ module Imagekitio width: Float } - type ai_tag = { confidence: Float, name: String, source: String } - - class AITag < Imagekitio::Internal::Type::BaseModel - attr_reader confidence: Float? - - def confidence=: (Float) -> Float - - attr_reader name: String? - - def name=: (String) -> String - - attr_reader source: String? - - def source=: (String) -> String - - def initialize: ( - ?confidence: Float, - ?name: String, - ?source: String - ) -> void - - def to_hash: -> { confidence: Float, name: String, source: String } - end - type extension_status = { ai_auto_description: Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus::ai_auto_description, @@ -328,22 +304,6 @@ module Imagekitio def self?.values: -> ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus::remove_bg] end end - - type version_info = { id: String, name: String } - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - attr_reader id: String? - - def id=: (String) -> String - - attr_reader name: String? - - def name=: (String) -> String - - def initialize: (?id: String, ?name: String) -> void - - def to_hash: -> { id: String, name: String } - end end end end diff --git a/sig/imagekitio/models/file.rbs b/sig/imagekitio/models/file.rbs index e24710c..9a2cc33 100644 --- a/sig/imagekitio/models/file.rbs +++ b/sig/imagekitio/models/file.rbs @@ -207,30 +207,6 @@ module Imagekitio width: Float } - type ai_tag = { confidence: Float, name: String, source: String } - - class AITag < Imagekitio::Internal::Type::BaseModel - attr_reader confidence: Float? - - def confidence=: (Float) -> Float - - attr_reader name: String? - - def name=: (String) -> String - - attr_reader source: String? - - def source=: (String) -> String - - def initialize: ( - ?confidence: Float, - ?name: String, - ?source: String - ) -> void - - def to_hash: -> { confidence: Float, name: String, source: String } - end - type type_ = :file | :"file-version" module Type @@ -241,22 +217,6 @@ module Imagekitio def self?.values: -> ::Array[Imagekitio::Models::File::type_] end - - type version_info = { id: String, name: String } - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - attr_reader id: String? - - def id=: (String) -> String - - attr_reader name: String? - - def name=: (String) -> String - - def initialize: (?id: String, ?name: String) -> void - - def to_hash: -> { id: String, name: String } - end end end end diff --git a/sig/imagekitio/models/file_upload_response.rbs b/sig/imagekitio/models/file_upload_response.rbs index dd22fb5..2ed3094 100644 --- a/sig/imagekitio/models/file_upload_response.rbs +++ b/sig/imagekitio/models/file_upload_response.rbs @@ -186,30 +186,6 @@ module Imagekitio width: Float } - type ai_tag = { confidence: Float, name: String, source: String } - - class AITag < Imagekitio::Internal::Type::BaseModel - attr_reader confidence: Float? - - def confidence=: (Float) -> Float - - attr_reader name: String? - - def name=: (String) -> String - - attr_reader source: String? - - def source=: (String) -> String - - def initialize: ( - ?confidence: Float, - ?name: String, - ?source: String - ) -> void - - def to_hash: -> { confidence: Float, name: String, source: String } - end - type extension_status = { ai_auto_description: Imagekitio::Models::FileUploadResponse::ExtensionStatus::ai_auto_description, @@ -326,22 +302,6 @@ module Imagekitio def self?.values: -> ::Array[Imagekitio::Models::FileUploadResponse::ExtensionStatus::remove_bg] end end - - type version_info = { id: String, name: String } - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - attr_reader id: String? - - def id=: (String) -> String - - attr_reader name: String? - - def name=: (String) -> String - - def initialize: (?id: String, ?name: String) -> void - - def to_hash: -> { id: String, name: String } - end end end end diff --git a/sig/imagekitio/models/upload_pre_transform_success_event.rbs b/sig/imagekitio/models/upload_pre_transform_success_event.rbs index 5f7333f..6593237 100644 --- a/sig/imagekitio/models/upload_pre_transform_success_event.rbs +++ b/sig/imagekitio/models/upload_pre_transform_success_event.rbs @@ -231,30 +231,6 @@ module Imagekitio width: Float } - type ai_tag = { confidence: Float, name: String, source: String } - - class AITag < Imagekitio::Internal::Type::BaseModel - attr_reader confidence: Float? - - def confidence=: (Float) -> Float - - attr_reader name: String? - - def name=: (String) -> String - - attr_reader source: String? - - def source=: (String) -> String - - def initialize: ( - ?confidence: Float, - ?name: String, - ?source: String - ) -> void - - def to_hash: -> { confidence: Float, name: String, source: String } - end - type extension_status = { ai_auto_description: Imagekitio::Models::UploadPreTransformSuccessEvent::Data::ExtensionStatus::ai_auto_description, @@ -371,22 +347,6 @@ module Imagekitio def self?.values: -> ::Array[Imagekitio::Models::UploadPreTransformSuccessEvent::Data::ExtensionStatus::remove_bg] end end - - type version_info = { id: String, name: String } - - class VersionInfo < Imagekitio::Internal::Type::BaseModel - attr_reader id: String? - - def id=: (String) -> String - - attr_reader name: String? - - def name=: (String) -> String - - def initialize: (?id: String, ?name: String) -> void - - def to_hash: -> { id: String, name: String } - end end type request = { transformation: String, x_request_id: String } From 01a4f00f0ce0b7f308f8f84351327c2a25a77408 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 01:33:14 +0000 Subject: [PATCH 11/17] refactor: AITags to singular AITag schema with array items pattern --- .stats.yml | 6 ++-- .../models/beta/v2/file_upload_response.rb | 6 ++-- lib/imagekitio/models/file.rb | 22 +++++-------- lib/imagekitio/models/file_upload_response.rb | 6 ++-- .../upload_pre_transform_success_event.rb | 6 ++-- .../models/beta/v2/file_upload_response.rbi | 8 ++--- rbi/imagekitio/models/file.rbi | 32 ++++++------------- .../models/file_upload_response.rbi | 8 ++--- .../upload_pre_transform_success_event.rbi | 8 ++--- 9 files changed, 33 insertions(+), 69 deletions(-) diff --git a/.stats.yml b/.stats.yml index c4bde9f..3d19128 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-7c4c23556be689ded6bcafd05e1645b82239521c9c841c0f7e76336e2eefcffa.yml -openapi_spec_hash: eca5b039a0066c6536296248c3a80854 -config_hash: f914ebc9670f6e7c7751660caa4e5556 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-70c42eda2bee929830b2537f758400a58dded1f1ef5686a286e2469c35a041a0.yml +openapi_spec_hash: cdaeed824e91657b45092765cf55eb42 +config_hash: e3c2679d25f6235381dfb11962fbf3d9 diff --git a/lib/imagekitio/models/beta/v2/file_upload_response.rb b/lib/imagekitio/models/beta/v2/file_upload_response.rb index 0b2ea8f..2c6f5f5 100644 --- a/lib/imagekitio/models/beta/v2/file_upload_response.rb +++ b/lib/imagekitio/models/beta/v2/file_upload_response.rb @@ -7,9 +7,7 @@ module V2 # @see Imagekitio::Resources::Beta::V2::Files#upload class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. # # @return [Array, nil] optional :ai_tags, @@ -210,7 +208,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # diff --git a/lib/imagekitio/models/file.rb b/lib/imagekitio/models/file.rb index 219e348..6a1495e 100644 --- a/lib/imagekitio/models/file.rb +++ b/lib/imagekitio/models/file.rb @@ -5,9 +5,8 @@ module Models # @see Imagekitio::Resources::Files#get class File < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Array of AI-generated tags associated with the image. If no AITags are set, it + # will be null. # # @return [Array, nil] optional :ai_tags, @@ -41,11 +40,7 @@ class File < Imagekitio::Internal::Type::BaseModel optional :custom_coordinates, String, api_name: :customCoordinates, nil?: true # @!attribute custom_metadata - # A key-value data associated with the asset. Use `responseField` in API request - # to get `customMetadata` in the upload API response. Before setting any custom - # metadata on an asset, you have to create the field using custom metadata fields - # API. Send `customMetadata` in `responseFields` in API request to get the value - # of this field. + # An object with custom metadata for the file. # # @return [Hash{Symbol=>Object}, nil] optional :custom_metadata, @@ -67,8 +62,7 @@ class File < Imagekitio::Internal::Type::BaseModel # @!attribute embedded_metadata # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get - # embeddedMetadata in the upload API response. + # and xmp data. # # @return [Hash{Symbol=>Object}, nil] optional :embedded_metadata, @@ -186,7 +180,7 @@ class File < Imagekitio::Internal::Type::BaseModel optional :url, String # @!attribute version_info - # An object containing the file or file version's `id` (versionId) and `name`. + # An object with details of the file version. # # @return [Imagekitio::Models::File::VersionInfo, nil] optional :version_info, -> { Imagekitio::File::VersionInfo }, api_name: :versionInfo @@ -209,7 +203,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # Object containing details of a file or file version. # - # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param ai_tags [Array, nil] Array of AI-generated tags associated with the image. If no AITags are set, it w # # @param audio_codec [String] The audio codec used in the video (only for video/audio). # @@ -219,7 +213,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param custom_coordinates [String, nil] An string with custom coordinates of the file. # - # @param custom_metadata [Hash{Symbol=>Object}] A key-value data associated with the asset. Use `responseField` in API request t + # @param custom_metadata [Hash{Symbol=>Object}] An object with custom metadata for the file. # # @param description [String] Optional text to describe the contents of the file. Can be set by the user or th # @@ -259,7 +253,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param url [String] URL of the file. # - # @param version_info [Imagekitio::Models::File::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. + # @param version_info [Imagekitio::Models::File::VersionInfo] An object with details of the file version. # # @param video_codec [String] The video codec used in the video (only for video). # diff --git a/lib/imagekitio/models/file_upload_response.rb b/lib/imagekitio/models/file_upload_response.rb index 5dd6296..7e55daf 100644 --- a/lib/imagekitio/models/file_upload_response.rb +++ b/lib/imagekitio/models/file_upload_response.rb @@ -5,9 +5,7 @@ module Models # @see Imagekitio::Resources::Files#upload class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. # # @return [Array, nil] optional :ai_tags, @@ -206,7 +204,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # diff --git a/lib/imagekitio/models/upload_pre_transform_success_event.rb b/lib/imagekitio/models/upload_pre_transform_success_event.rb index b5dc06c..6a35cd9 100644 --- a/lib/imagekitio/models/upload_pre_transform_success_event.rb +++ b/lib/imagekitio/models/upload_pre_transform_success_event.rb @@ -40,9 +40,7 @@ class UploadPreTransformSuccessEvent < Imagekitio::Models::BaseWebhookEvent class Data < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. # # @return [Array, nil] optional :ai_tags, @@ -247,7 +245,7 @@ class Data < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] Array of `AITags` associated with the image. If no `AITags` are set, it will be + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # diff --git a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi index e514db6..356a1d6 100644 --- a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +++ b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi @@ -13,9 +13,7 @@ module Imagekitio ) end - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. sig do returns( T.nilable( @@ -303,9 +301,7 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, diff --git a/rbi/imagekitio/models/file.rbi b/rbi/imagekitio/models/file.rbi index 03d6494..c0a9c5e 100644 --- a/rbi/imagekitio/models/file.rbi +++ b/rbi/imagekitio/models/file.rbi @@ -6,9 +6,8 @@ module Imagekitio OrHash = T.type_alias { T.any(Imagekitio::File, Imagekitio::Internal::AnyHash) } - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Array of AI-generated tags associated with the image. If no AITags are set, it + # will be null. sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) } attr_accessor :ai_tags @@ -38,11 +37,7 @@ module Imagekitio sig { returns(T.nilable(String)) } attr_accessor :custom_coordinates - # A key-value data associated with the asset. Use `responseField` in API request - # to get `customMetadata` in the upload API response. Before setting any custom - # metadata on an asset, you have to create the field using custom metadata fields - # API. Send `customMetadata` in `responseFields` in API request to get the value - # of this field. + # An object with custom metadata for the file. sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_reader :custom_metadata @@ -65,8 +60,7 @@ module Imagekitio attr_writer :duration # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get - # embeddedMetadata in the upload API response. + # and xmp data. sig { returns(T.nilable(T::Hash[Symbol, T.anything])) } attr_reader :embedded_metadata @@ -203,7 +197,7 @@ module Imagekitio sig { params(url: String).void } attr_writer :url - # An object containing the file or file version's `id` (versionId) and `name`. + # An object with details of the file version. sig { returns(T.nilable(Imagekitio::File::VersionInfo)) } attr_reader :version_info @@ -259,9 +253,8 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # Array of AI-generated tags associated with the image. If no AITags are set, it + # will be null. ai_tags: nil, # The audio codec used in the video (only for video/audio). audio_codec: nil, @@ -272,11 +265,7 @@ module Imagekitio created_at: nil, # An string with custom coordinates of the file. custom_coordinates: nil, - # A key-value data associated with the asset. Use `responseField` in API request - # to get `customMetadata` in the upload API response. Before setting any custom - # metadata on an asset, you have to create the field using custom metadata fields - # API. Send `customMetadata` in `responseFields` in API request to get the value - # of this field. + # An object with custom metadata for the file. custom_metadata: nil, # Optional text to describe the contents of the file. Can be set by the user or # the ai-auto-description extension. @@ -284,8 +273,7 @@ module Imagekitio # The duration of the video in seconds (only for video). duration: nil, # Consolidated embedded metadata associated with the file. It includes exif, iptc, - # and xmp data. Send `embeddedMetadata` in `responseFields` in API request to get - # embeddedMetadata in the upload API response. + # and xmp data. embedded_metadata: nil, # Unique identifier of the asset. file_id: nil, @@ -331,7 +319,7 @@ module Imagekitio updated_at: nil, # URL of the file. url: nil, - # An object containing the file or file version's `id` (versionId) and `name`. + # An object with details of the file version. version_info: nil, # The video codec used in the video (only for video). video_codec: nil, diff --git a/rbi/imagekitio/models/file_upload_response.rbi b/rbi/imagekitio/models/file_upload_response.rbi index 34a1b7a..a3a0fb6 100644 --- a/rbi/imagekitio/models/file_upload_response.rbi +++ b/rbi/imagekitio/models/file_upload_response.rbi @@ -11,9 +11,7 @@ module Imagekitio ) end - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. sig do returns( T.nilable(T::Array[Imagekitio::Models::FileUploadResponse::AITag]) @@ -289,9 +287,7 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, diff --git a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi index eda1897..2a8a3d5 100644 --- a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +++ b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi @@ -82,9 +82,7 @@ module Imagekitio ) end - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. sig do returns( T.nilable( @@ -370,9 +368,7 @@ module Imagekitio ).returns(T.attached_class) end def self.new( - # Array of `AITags` associated with the image. If no `AITags` are set, it will be - # null. These tags can be added using the `google-auto-tagging` or - # `aws-auto-tagging` extensions. + # An array of tags assigned to the uploaded file by auto tagging. ai_tags: nil, # The audio codec used in the video (only for video). audio_codec: nil, From 6a074df0249e9ac9969c2bc4b8d12d9abbd1e233 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 02:09:00 +0000 Subject: [PATCH 12/17] feat(api): add missing types in ruby --- .stats.yml | 2 +- lib/imagekitio.rb | 5 + lib/imagekitio/internal/type/base_model.rb | 10 +- lib/imagekitio/models.rb | 15 + lib/imagekitio/models/ai_tag.rb | 39 ++ .../models/beta/v2/file_upload_response.rb | 20 +- lib/imagekitio/models/custom_metadata.rb | 8 + lib/imagekitio/models/embedded_metadata.rb | 8 + lib/imagekitio/models/file.rb | 18 +- lib/imagekitio/models/file_upload_response.rb | 18 +- .../models/selected_fields_schema.rb | 212 ++++++++++ .../upload_pre_transform_success_event.rb | 24 +- lib/imagekitio/models/version_info.rb | 26 ++ rbi/imagekitio/models.rbi | 24 ++ rbi/imagekitio/models/ai_tag.rbi | 56 +++ .../models/beta/v2/file_upload_response.rbi | 67 +--- rbi/imagekitio/models/custom_metadata.rbi | 11 + rbi/imagekitio/models/embedded_metadata.rbi | 11 + rbi/imagekitio/models/file.rbi | 22 +- .../models/file_upload_response.rbi | 54 +-- .../models/selected_fields_schema.rbi | 364 ++++++++++++++++++ .../upload_pre_transform_success_event.rbi | 65 +--- rbi/imagekitio/models/version_info.rbi | 40 ++ sig/imagekitio/models.rbs | 12 + sig/imagekitio/models/ai_tag.rbs | 27 ++ .../models/beta/v2/file_upload_response.rbs | 56 +-- sig/imagekitio/models/custom_metadata.rbs | 7 + sig/imagekitio/models/embedded_metadata.rbs | 7 + sig/imagekitio/models/file.rbs | 56 +-- .../models/file_upload_response.rbs | 56 +-- .../models/selected_fields_schema.rbs | 165 ++++++++ .../upload_pre_transform_success_event.rbs | 56 +-- sig/imagekitio/models/version_info.rbs | 19 + .../resources/beta/v2/files_test.rb | 6 +- .../resources/files/versions_test.rb | 12 +- test/imagekitio/resources/files_test.rb | 12 +- 36 files changed, 1274 insertions(+), 336 deletions(-) create mode 100644 lib/imagekitio/models/ai_tag.rb create mode 100644 lib/imagekitio/models/custom_metadata.rb create mode 100644 lib/imagekitio/models/embedded_metadata.rb create mode 100644 lib/imagekitio/models/selected_fields_schema.rb create mode 100644 lib/imagekitio/models/version_info.rb create mode 100644 rbi/imagekitio/models/ai_tag.rbi create mode 100644 rbi/imagekitio/models/custom_metadata.rbi create mode 100644 rbi/imagekitio/models/embedded_metadata.rbi create mode 100644 rbi/imagekitio/models/selected_fields_schema.rbi create mode 100644 rbi/imagekitio/models/version_info.rbi create mode 100644 sig/imagekitio/models/ai_tag.rbs create mode 100644 sig/imagekitio/models/custom_metadata.rbs create mode 100644 sig/imagekitio/models/embedded_metadata.rbs create mode 100644 sig/imagekitio/models/selected_fields_schema.rbs create mode 100644 sig/imagekitio/models/version_info.rbs diff --git a/.stats.yml b/.stats.yml index 3d19128..1ee5069 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 47 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/imagekit-inc%2Fimagekit-70c42eda2bee929830b2537f758400a58dded1f1ef5686a286e2469c35a041a0.yml openapi_spec_hash: cdaeed824e91657b45092765cf55eb42 -config_hash: e3c2679d25f6235381dfb11962fbf3d9 +config_hash: 83967503e501e4199b4042d0d0f2b615 diff --git a/lib/imagekitio.rb b/lib/imagekitio.rb index 1a186f1..9dfc5b8 100644 --- a/lib/imagekitio.rb +++ b/lib/imagekitio.rb @@ -76,6 +76,7 @@ require_relative "imagekitio/models/accounts/url_endpoint_update_params" require_relative "imagekitio/models/accounts/usage_get_params" require_relative "imagekitio/models/accounts/usage_get_response" +require_relative "imagekitio/models/ai_tag" require_relative "imagekitio/models/asset_list_params" require_relative "imagekitio/models/asset_list_response" require_relative "imagekitio/models/beta/v2/file_upload_params" @@ -84,6 +85,7 @@ require_relative "imagekitio/models/cache/invalidation_create_response" require_relative "imagekitio/models/cache/invalidation_get_params" require_relative "imagekitio/models/cache/invalidation_get_response" +require_relative "imagekitio/models/custom_metadata" require_relative "imagekitio/models/custom_metadata_field" require_relative "imagekitio/models/custom_metadata_field_create_params" require_relative "imagekitio/models/custom_metadata_field_delete_params" @@ -91,6 +93,7 @@ require_relative "imagekitio/models/custom_metadata_field_list_params" require_relative "imagekitio/models/custom_metadata_field_list_response" require_relative "imagekitio/models/custom_metadata_field_update_params" +require_relative "imagekitio/models/embedded_metadata" require_relative "imagekitio/models/extension_config" require_relative "imagekitio/models/extensions" require_relative "imagekitio/models/file_copy_params" @@ -153,6 +156,7 @@ require_relative "imagekitio/models/saved_extension_list_params" require_relative "imagekitio/models/saved_extension_list_response" require_relative "imagekitio/models/saved_extension_update_params" +require_relative "imagekitio/models/selected_fields_schema" require_relative "imagekitio/models/solid_color_overlay" require_relative "imagekitio/models/solid_color_overlay_transformation" require_relative "imagekitio/models/streaming_resolution" @@ -168,6 +172,7 @@ require_relative "imagekitio/models/upload_post_transform_success_event" require_relative "imagekitio/models/upload_pre_transform_error_event" require_relative "imagekitio/models/upload_pre_transform_success_event" +require_relative "imagekitio/models/version_info" require_relative "imagekitio/models/video_overlay" require_relative "imagekitio/models/video_transformation_accepted_event" require_relative "imagekitio/models/video_transformation_error_event" diff --git a/lib/imagekitio/internal/type/base_model.rb b/lib/imagekitio/internal/type/base_model.rb index 907a0f3..5a5e8c1 100644 --- a/lib/imagekitio/internal/type/base_model.rb +++ b/lib/imagekitio/internal/type/base_model.rb @@ -438,11 +438,11 @@ def deep_to_h = self.class.recursively_to_h(@data, convert: false) # @return [Hash{Symbol=>Object}] # # @example - # # `base_overlay` is a `Imagekitio::BaseOverlay` - # base_overlay => { - # layer_mode: layer_mode, - # position: position, - # timing: timing + # # `ai_tag` is a `Imagekitio::AITag` + # ai_tag => { + # confidence: confidence, + # name: name, + # source: source # } def deconstruct_keys(keys) (keys || self.class.known_fields.keys) diff --git a/lib/imagekitio/models.rb b/lib/imagekitio/models.rb index 5d531d8..755cec6 100644 --- a/lib/imagekitio/models.rb +++ b/lib/imagekitio/models.rb @@ -41,6 +41,8 @@ module Imagekitio Accounts = Imagekitio::Models::Accounts + AITag = Imagekitio::Models::AITag + AssetListParams = Imagekitio::Models::AssetListParams BaseOverlay = Imagekitio::Models::BaseOverlay @@ -51,6 +53,9 @@ module Imagekitio Cache = Imagekitio::Models::Cache + # @type [Imagekitio::Internal::Type::Converter] + CustomMetadata = Imagekitio::Models::CustomMetadata + CustomMetadataField = Imagekitio::Models::CustomMetadataField CustomMetadataFieldCreateParams = Imagekitio::Models::CustomMetadataFieldCreateParams @@ -61,6 +66,9 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + # @type [Imagekitio::Internal::Type::Converter] + EmbeddedMetadata = Imagekitio::Models::EmbeddedMetadata + ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem @@ -136,6 +144,11 @@ module Imagekitio SavedExtensionUpdateParams = Imagekitio::Models::SavedExtensionUpdateParams + # @type [Imagekitio::Internal::Type::Converter] + SelectedFieldsSchema = Imagekitio::Models::SelectedFieldsSchema + + SelectedFieldsSchemaItem = Imagekitio::Models::SelectedFieldsSchemaItem + SolidColorOverlay = Imagekitio::Models::SolidColorOverlay SolidColorOverlayTransformation = Imagekitio::Models::SolidColorOverlayTransformation @@ -170,6 +183,8 @@ module Imagekitio UploadPreTransformSuccessEvent = Imagekitio::Models::UploadPreTransformSuccessEvent + VersionInfo = Imagekitio::Models::VersionInfo + VideoOverlay = Imagekitio::Models::VideoOverlay VideoTransformationAcceptedEvent = Imagekitio::Models::VideoTransformationAcceptedEvent diff --git a/lib/imagekitio/models/ai_tag.rb b/lib/imagekitio/models/ai_tag.rb new file mode 100644 index 0000000..4c024d3 --- /dev/null +++ b/lib/imagekitio/models/ai_tag.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class AITag < Imagekitio::Internal::Type::BaseModel + # @!attribute confidence + # Confidence score of the tag. + # + # @return [Float, nil] + optional :confidence, Float + + # @!attribute name + # Name of the tag. + # + # @return [String, nil] + optional :name, String + + # @!attribute source + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. + # + # @return [String, nil] + optional :source, String + + # @!method initialize(confidence: nil, name: nil, source: nil) + # Some parameter documentations has been truncated, see + # {Imagekitio::Models::AITag} for more details. + # + # AI-generated tag associated with an image. These tags can be added using the + # `google-auto-tagging` or `aws-auto-tagging` extensions. + # + # @param confidence [Float] Confidence score of the tag. + # + # @param name [String] Name of the tag. + # + # @param source [String] Source of the tag. Possible values are `google-auto-tagging` and `aws-auto-taggi + end + end +end diff --git a/lib/imagekitio/models/beta/v2/file_upload_response.rb b/lib/imagekitio/models/beta/v2/file_upload_response.rb index 2c6f5f5..219adf3 100644 --- a/lib/imagekitio/models/beta/v2/file_upload_response.rb +++ b/lib/imagekitio/models/beta/v2/file_upload_response.rb @@ -9,9 +9,9 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags # An array of tags assigned to the uploaded file by auto tagging. # - # @return [Array, nil] + # @return [Array, nil] optional :ai_tags, - -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag] }, + -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag] }, api_name: :AITags, nil?: true @@ -151,9 +151,9 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # Keys are the names of the custom metadata fields; the value object has details # about the custom metadata schema. # - # @return [Hash{Symbol=>Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema}, nil] + # @return [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}, nil] optional :selected_fields_schema, - -> { Imagekitio::Internal::Type::HashOf[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema] }, + -> { Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem] }, api_name: :selectedFieldsSchema # @!attribute size @@ -185,10 +185,8 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute version_info # An object containing the file or file version's `id` (versionId) and `name`. # - # @return [Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, nil] - optional :version_info, - -> { Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo }, - api_name: :versionInfo + # @return [Imagekitio::Models::VersionInfo, nil] + optional :version_info, -> { Imagekitio::VersionInfo }, api_name: :versionInfo # @!attribute video_codec # The video codec used in the video (only for video). @@ -208,7 +206,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -242,7 +240,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the asset. # - # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema}] This field is included in the response only if the Path policy feature is availa + # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}] This field is included in the response only if the Path policy feature is availa # # @param size [Float] Size of the image file in Bytes. # @@ -252,7 +250,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param url [String] A publicly accessible URL of the file. # - # @param version_info [Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. + # @param version_info [Imagekitio::Models::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. # # @param video_codec [String] The video codec used in the video (only for video). # diff --git a/lib/imagekitio/models/custom_metadata.rb b/lib/imagekitio/models/custom_metadata.rb new file mode 100644 index 0000000..6f43e05 --- /dev/null +++ b/lib/imagekitio/models/custom_metadata.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + # @type [Imagekitio::Internal::Type::Converter] + CustomMetadata = Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown] + end +end diff --git a/lib/imagekitio/models/embedded_metadata.rb b/lib/imagekitio/models/embedded_metadata.rb new file mode 100644 index 0000000..78d9a9c --- /dev/null +++ b/lib/imagekitio/models/embedded_metadata.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + # @type [Imagekitio::Internal::Type::Converter] + EmbeddedMetadata = Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown] + end +end diff --git a/lib/imagekitio/models/file.rb b/lib/imagekitio/models/file.rb index 6a1495e..fd3849f 100644 --- a/lib/imagekitio/models/file.rb +++ b/lib/imagekitio/models/file.rb @@ -8,9 +8,9 @@ class File < Imagekitio::Internal::Type::BaseModel # Array of AI-generated tags associated with the image. If no AITags are set, it # will be null. # - # @return [Array, nil] + # @return [Array, nil] optional :ai_tags, - -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::File::AITag] }, + -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag] }, api_name: :AITags, nil?: true @@ -135,9 +135,9 @@ class File < Imagekitio::Internal::Type::BaseModel # Keys are the names of the custom metadata fields; the value object has details # about the custom metadata schema. # - # @return [Hash{Symbol=>Imagekitio::Models::File::SelectedFieldsSchema}, nil] + # @return [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}, nil] optional :selected_fields_schema, - -> { Imagekitio::Internal::Type::HashOf[Imagekitio::File::SelectedFieldsSchema] }, + -> { Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem] }, api_name: :selectedFieldsSchema # @!attribute size @@ -182,8 +182,8 @@ class File < Imagekitio::Internal::Type::BaseModel # @!attribute version_info # An object with details of the file version. # - # @return [Imagekitio::Models::File::VersionInfo, nil] - optional :version_info, -> { Imagekitio::File::VersionInfo }, api_name: :versionInfo + # @return [Imagekitio::Models::VersionInfo, nil] + optional :version_info, -> { Imagekitio::VersionInfo }, api_name: :versionInfo # @!attribute video_codec # The video codec used in the video (only for video). @@ -203,7 +203,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # Object containing details of a file or file version. # - # @param ai_tags [Array, nil] Array of AI-generated tags associated with the image. If no AITags are set, it w + # @param ai_tags [Array, nil] Array of AI-generated tags associated with the image. If no AITags are set, it w # # @param audio_codec [String] The audio codec used in the video (only for video/audio). # @@ -239,7 +239,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the asset. # - # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::File::SelectedFieldsSchema}] This field is included in the response only if the Path policy feature is availa + # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}] This field is included in the response only if the Path policy feature is availa # # @param size [Float] Size of the file in bytes. # @@ -253,7 +253,7 @@ class File < Imagekitio::Internal::Type::BaseModel # # @param url [String] URL of the file. # - # @param version_info [Imagekitio::Models::File::VersionInfo] An object with details of the file version. + # @param version_info [Imagekitio::Models::VersionInfo] An object with details of the file version. # # @param video_codec [String] The video codec used in the video (only for video). # diff --git a/lib/imagekitio/models/file_upload_response.rb b/lib/imagekitio/models/file_upload_response.rb index 7e55daf..e7d69c9 100644 --- a/lib/imagekitio/models/file_upload_response.rb +++ b/lib/imagekitio/models/file_upload_response.rb @@ -7,9 +7,9 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags # An array of tags assigned to the uploaded file by auto tagging. # - # @return [Array, nil] + # @return [Array, nil] optional :ai_tags, - -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::Models::FileUploadResponse::AITag] }, + -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag] }, api_name: :AITags, nil?: true @@ -149,9 +149,9 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # Keys are the names of the custom metadata fields; the value object has details # about the custom metadata schema. # - # @return [Hash{Symbol=>Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema}, nil] + # @return [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}, nil] optional :selected_fields_schema, - -> { Imagekitio::Internal::Type::HashOf[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema] }, + -> { Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem] }, api_name: :selectedFieldsSchema # @!attribute size @@ -183,8 +183,8 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # @!attribute version_info # An object containing the file or file version's `id` (versionId) and `name`. # - # @return [Imagekitio::Models::FileUploadResponse::VersionInfo, nil] - optional :version_info, -> { Imagekitio::Models::FileUploadResponse::VersionInfo }, api_name: :versionInfo + # @return [Imagekitio::Models::VersionInfo, nil] + optional :version_info, -> { Imagekitio::VersionInfo }, api_name: :versionInfo # @!attribute video_codec # The video codec used in the video (only for video). @@ -204,7 +204,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -238,7 +238,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the asset. # - # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema}] This field is included in the response only if the Path policy feature is availa + # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}] This field is included in the response only if the Path policy feature is availa # # @param size [Float] Size of the image file in Bytes. # @@ -248,7 +248,7 @@ class FileUploadResponse < Imagekitio::Internal::Type::BaseModel # # @param url [String] A publicly accessible URL of the file. # - # @param version_info [Imagekitio::Models::FileUploadResponse::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. + # @param version_info [Imagekitio::Models::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. # # @param video_codec [String] The video codec used in the video (only for video). # diff --git a/lib/imagekitio/models/selected_fields_schema.rb b/lib/imagekitio/models/selected_fields_schema.rb new file mode 100644 index 0000000..7fefd98 --- /dev/null +++ b/lib/imagekitio/models/selected_fields_schema.rb @@ -0,0 +1,212 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class SelectedFieldsSchemaItem < Imagekitio::Internal::Type::BaseModel + # @!attribute type + # Type of the custom metadata field. + # + # @return [Symbol, Imagekitio::Models::SelectedFieldsSchemaItem::Type] + required :type, enum: -> { Imagekitio::SelectedFieldsSchemaItem::Type } + + # @!attribute default_value + # The default value for this custom metadata field. The value should match the + # `type` of custom metadata field. + # + # @return [String, Float, Boolean, Array, nil] + optional :default_value, + union: -> { Imagekitio::SelectedFieldsSchemaItem::DefaultValue }, + api_name: :defaultValue + + # @!attribute is_value_required + # Specifies if the custom metadata field is required or not. + # + # @return [Boolean, nil] + optional :is_value_required, Imagekitio::Internal::Type::Boolean, api_name: :isValueRequired + + # @!attribute max_length + # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. + # + # @return [Float, nil] + optional :max_length, Float, api_name: :maxLength + + # @!attribute max_value + # Maximum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + # + # @return [String, Float, nil] + optional :max_value, union: -> { Imagekitio::SelectedFieldsSchemaItem::MaxValue }, api_name: :maxValue + + # @!attribute min_length + # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. + # + # @return [Float, nil] + optional :min_length, Float, api_name: :minLength + + # @!attribute min_value + # Minimum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + # + # @return [String, Float, nil] + optional :min_value, union: -> { Imagekitio::SelectedFieldsSchemaItem::MinValue }, api_name: :minValue + + # @!attribute read_only + # Indicates whether the custom metadata field is read only. A read only field + # cannot be modified after being set. This field is configurable only via the + # **Path policy** feature. + # + # @return [Boolean, nil] + optional :read_only, Imagekitio::Internal::Type::Boolean, api_name: :readOnly + + # @!attribute select_options + # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. + # + # @return [Array, nil] + optional :select_options, + -> { + Imagekitio::Internal::Type::ArrayOf[union: Imagekitio::SelectedFieldsSchemaItem::SelectOption] + }, + api_name: :selectOptions + + # @!attribute select_options_truncated + # Specifies if the selectOptions array is truncated. It is truncated when number + # of options are > 100. + # + # @return [Boolean, nil] + optional :select_options_truncated, + Imagekitio::Internal::Type::Boolean, + api_name: :selectOptionsTruncated + + # @!method initialize(type:, default_value: nil, is_value_required: nil, max_length: nil, max_value: nil, min_length: nil, min_value: nil, read_only: nil, select_options: nil, select_options_truncated: nil) + # Some parameter documentations has been truncated, see + # {Imagekitio::Models::SelectedFieldsSchemaItem} for more details. + # + # @param type [Symbol, Imagekitio::Models::SelectedFieldsSchemaItem::Type] Type of the custom metadata field. + # + # @param default_value [String, Float, Boolean, Array] The default value for this custom metadata field. The value should match the `ty + # + # @param is_value_required [Boolean] Specifies if the custom metadata field is required or not. + # + # @param max_length [Float] Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. + # + # @param max_value [String, Float] Maximum value of the field. Only set if field type is `Date` or `Number`. For `D + # + # @param min_length [Float] Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. + # + # @param min_value [String, Float] Minimum value of the field. Only set if field type is `Date` or `Number`. For `D + # + # @param read_only [Boolean] Indicates whether the custom metadata field is read only. A read only field cann + # + # @param select_options [Array] An array of allowed values when field type is `SingleSelect` or `MultiSelect`. + # + # @param select_options_truncated [Boolean] Specifies if the selectOptions array is truncated. It is truncated when number o + + # Type of the custom metadata field. + # + # @see Imagekitio::Models::SelectedFieldsSchemaItem#type + module Type + extend Imagekitio::Internal::Type::Enum + + TEXT = :Text + TEXTAREA = :Textarea + NUMBER = :Number + DATE = :Date + BOOLEAN = :Boolean + SINGLE_SELECT = :SingleSelect + MULTI_SELECT = :MultiSelect + + # @!method self.values + # @return [Array] + end + + # The default value for this custom metadata field. The value should match the + # `type` of custom metadata field. + # + # @see Imagekitio::Models::SelectedFieldsSchemaItem#default_value + module DefaultValue + extend Imagekitio::Internal::Type::Union + + variant String + + variant Float + + variant Imagekitio::Internal::Type::Boolean + + # Default value should be of type array when custom metadata field type is set to `MultiSelect`. + variant -> { Imagekitio::Models::SelectedFieldsSchemaItem::DefaultValue::MixedArray } + + module Mixed + extend Imagekitio::Internal::Type::Union + + variant String + + variant Float + + variant Imagekitio::Internal::Type::Boolean + + # @!method self.variants + # @return [Array(String, Float, Boolean)] + end + + # @!method self.variants + # @return [Array(String, Float, Boolean, Array)] + + # @type [Imagekitio::Internal::Type::Converter] + MixedArray = + Imagekitio::Internal::Type::ArrayOf[union: -> { + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Mixed + }] + end + + # Maximum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + # + # @see Imagekitio::Models::SelectedFieldsSchemaItem#max_value + module MaxValue + extend Imagekitio::Internal::Type::Union + + variant String + + variant Float + + # @!method self.variants + # @return [Array(String, Float)] + end + + # Minimum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + # + # @see Imagekitio::Models::SelectedFieldsSchemaItem#min_value + module MinValue + extend Imagekitio::Internal::Type::Union + + variant String + + variant Float + + # @!method self.variants + # @return [Array(String, Float)] + end + + module SelectOption + extend Imagekitio::Internal::Type::Union + + variant String + + variant Float + + variant Imagekitio::Internal::Type::Boolean + + # @!method self.variants + # @return [Array(String, Float, Boolean)] + end + end + + # @type [Imagekitio::Internal::Type::Converter] + SelectedFieldsSchema = Imagekitio::Internal::Type::HashOf[-> { Imagekitio::SelectedFieldsSchemaItem }] + end +end diff --git a/lib/imagekitio/models/upload_pre_transform_success_event.rb b/lib/imagekitio/models/upload_pre_transform_success_event.rb index 6a35cd9..bdf641a 100644 --- a/lib/imagekitio/models/upload_pre_transform_success_event.rb +++ b/lib/imagekitio/models/upload_pre_transform_success_event.rb @@ -42,11 +42,9 @@ class Data < Imagekitio::Internal::Type::BaseModel # @!attribute ai_tags # An array of tags assigned to the uploaded file by auto tagging. # - # @return [Array, nil] + # @return [Array, nil] optional :ai_tags, - -> { - Imagekitio::Internal::Type::ArrayOf[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag] - }, + -> { Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag] }, api_name: :AITags, nil?: true @@ -186,11 +184,9 @@ class Data < Imagekitio::Internal::Type::BaseModel # Keys are the names of the custom metadata fields; the value object has details # about the custom metadata schema. # - # @return [Hash{Symbol=>Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema}, nil] + # @return [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}, nil] optional :selected_fields_schema, - -> { - Imagekitio::Internal::Type::HashOf[Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema] - }, + -> { Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem] }, api_name: :selectedFieldsSchema # @!attribute size @@ -222,10 +218,8 @@ class Data < Imagekitio::Internal::Type::BaseModel # @!attribute version_info # An object containing the file or file version's `id` (versionId) and `name`. # - # @return [Imagekitio::Models::UploadPreTransformSuccessEvent::Data::VersionInfo, nil] - optional :version_info, - -> { Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo }, - api_name: :versionInfo + # @return [Imagekitio::Models::VersionInfo, nil] + optional :version_info, -> { Imagekitio::VersionInfo }, api_name: :versionInfo # @!attribute video_codec # The video codec used in the video (only for video). @@ -245,7 +239,7 @@ class Data < Imagekitio::Internal::Type::BaseModel # # Object containing details of a successful upload. # - # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. + # @param ai_tags [Array, nil] An array of tags assigned to the uploaded file by auto tagging. # # @param audio_codec [String] The audio codec used in the video (only for video). # @@ -279,7 +273,7 @@ class Data < Imagekitio::Internal::Type::BaseModel # # @param name [String] Name of the asset. # - # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema}] This field is included in the response only if the Path policy feature is availa + # @param selected_fields_schema [Hash{Symbol=>Imagekitio::Models::SelectedFieldsSchemaItem}] This field is included in the response only if the Path policy feature is availa # # @param size [Float] Size of the image file in Bytes. # @@ -289,7 +283,7 @@ class Data < Imagekitio::Internal::Type::BaseModel # # @param url [String] A publicly accessible URL of the file. # - # @param version_info [Imagekitio::Models::UploadPreTransformSuccessEvent::Data::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. + # @param version_info [Imagekitio::Models::VersionInfo] An object containing the file or file version's `id` (versionId) and `name`. # # @param video_codec [String] The video codec used in the video (only for video). # diff --git a/lib/imagekitio/models/version_info.rb b/lib/imagekitio/models/version_info.rb new file mode 100644 index 0000000..32d7f45 --- /dev/null +++ b/lib/imagekitio/models/version_info.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Imagekitio + module Models + class VersionInfo < Imagekitio::Internal::Type::BaseModel + # @!attribute id + # Unique identifier of the file version. + # + # @return [String, nil] + optional :id, String + + # @!attribute name + # Name of the file version. + # + # @return [String, nil] + optional :name, String + + # @!method initialize(id: nil, name: nil) + # An object containing the file or file version's `id` (versionId) and `name`. + # + # @param id [String] Unique identifier of the file version. + # + # @param name [String] Name of the file version. + end + end +end diff --git a/rbi/imagekitio/models.rbi b/rbi/imagekitio/models.rbi index b010079..9bd10e6 100644 --- a/rbi/imagekitio/models.rbi +++ b/rbi/imagekitio/models.rbi @@ -3,6 +3,8 @@ module Imagekitio Accounts = Imagekitio::Models::Accounts + AITag = Imagekitio::Models::AITag + AssetListParams = Imagekitio::Models::AssetListParams BaseOverlay = Imagekitio::Models::BaseOverlay @@ -13,6 +15,12 @@ module Imagekitio Cache = Imagekitio::Models::Cache + CustomMetadata = + T.let( + Imagekitio::Models::CustomMetadata, + Imagekitio::Internal::Type::Converter + ) + CustomMetadataField = Imagekitio::Models::CustomMetadataField CustomMetadataFieldCreateParams = @@ -27,6 +35,12 @@ module Imagekitio CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + EmbeddedMetadata = + T.let( + Imagekitio::Models::EmbeddedMetadata, + Imagekitio::Internal::Type::Converter + ) + ExtensionConfig = Imagekitio::Models::ExtensionConfig ExtensionItem = Imagekitio::Models::ExtensionItem @@ -102,6 +116,14 @@ module Imagekitio SavedExtensionUpdateParams = Imagekitio::Models::SavedExtensionUpdateParams + SelectedFieldsSchema = + T.let( + Imagekitio::Models::SelectedFieldsSchema, + Imagekitio::Internal::Type::Converter + ) + + SelectedFieldsSchemaItem = Imagekitio::Models::SelectedFieldsSchemaItem + SolidColorOverlay = Imagekitio::Models::SolidColorOverlay SolidColorOverlayTransformation = @@ -142,6 +164,8 @@ module Imagekitio UploadPreTransformSuccessEvent = Imagekitio::Models::UploadPreTransformSuccessEvent + VersionInfo = Imagekitio::Models::VersionInfo + VideoOverlay = Imagekitio::Models::VideoOverlay VideoTransformationAcceptedEvent = diff --git a/rbi/imagekitio/models/ai_tag.rbi b/rbi/imagekitio/models/ai_tag.rbi new file mode 100644 index 0000000..2ae035f --- /dev/null +++ b/rbi/imagekitio/models/ai_tag.rbi @@ -0,0 +1,56 @@ +# typed: strong + +module Imagekitio + module Models + class AITag < Imagekitio::Internal::Type::BaseModel + OrHash = + T.type_alias { T.any(Imagekitio::AITag, Imagekitio::Internal::AnyHash) } + + # Confidence score of the tag. + sig { returns(T.nilable(Float)) } + attr_reader :confidence + + sig { params(confidence: Float).void } + attr_writer :confidence + + # Name of the tag. + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. + sig { returns(T.nilable(String)) } + attr_reader :source + + sig { params(source: String).void } + attr_writer :source + + # AI-generated tag associated with an image. These tags can be added using the + # `google-auto-tagging` or `aws-auto-tagging` extensions. + sig do + params(confidence: Float, name: String, source: String).returns( + T.attached_class + ) + end + def self.new( + # Confidence score of the tag. + confidence: nil, + # Name of the tag. + name: nil, + # Source of the tag. Possible values are `google-auto-tagging` and + # `aws-auto-tagging`. + source: nil + ) + end + + sig do + override.returns({ confidence: Float, name: String, source: String }) + end + def to_hash + end + end + end +end diff --git a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi index 356a1d6..7078894 100644 --- a/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +++ b/rbi/imagekitio/models/beta/v2/file_upload_response.rbi @@ -14,15 +14,7 @@ module Imagekitio end # An array of tags assigned to the uploaded file by auto tagging. - sig do - returns( - T.nilable( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::AITag - ] - ) - ) - end + sig { returns(T.nilable(T::Array[Imagekitio::AITag])) } attr_accessor :ai_tags # The audio codec used in the video (only for video). @@ -179,12 +171,7 @@ module Imagekitio # about the custom metadata schema. sig do returns( - T.nilable( - T::Hash[ - Symbol, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema - ] - ) + T.nilable(T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem]) ) end attr_reader :selected_fields_schema @@ -192,10 +179,7 @@ module Imagekitio sig do params( selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::OrHash - ] + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash] ).void end attr_writer :selected_fields_schema @@ -228,21 +212,10 @@ module Imagekitio attr_writer :url # An object containing the file or file version's `id` (versionId) and `name`. - sig do - returns( - T.nilable( - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo - ) - ) - end + sig { returns(T.nilable(Imagekitio::VersionInfo)) } attr_reader :version_info - sig do - params( - version_info: - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo::OrHash - ).void - end + sig { params(version_info: Imagekitio::VersionInfo::OrHash).void } attr_writer :version_info # The video codec used in the video (only for video). @@ -262,12 +235,7 @@ module Imagekitio # Object containing details of a successful upload. sig do params( - ai_tags: - T.nilable( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::AITag::OrHash - ] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag::OrHash]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -286,16 +254,12 @@ module Imagekitio metadata: Imagekitio::Metadata::OrHash, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema::OrHash - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo::OrHash, + version_info: Imagekitio::VersionInfo::OrHash, video_codec: String, width: Float ).returns(T.attached_class) @@ -390,12 +354,7 @@ module Imagekitio sig do override.returns( { - ai_tags: - T.nilable( - T::Array[ - Imagekitio::Models::Beta::V2::FileUploadResponse::AITag - ] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -414,16 +373,12 @@ module Imagekitio metadata: Imagekitio::Metadata, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/rbi/imagekitio/models/custom_metadata.rbi b/rbi/imagekitio/models/custom_metadata.rbi new file mode 100644 index 0000000..84f40e7 --- /dev/null +++ b/rbi/imagekitio/models/custom_metadata.rbi @@ -0,0 +1,11 @@ +# typed: strong + +module Imagekitio + module Models + CustomMetadata = + T.let( + Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown], + Imagekitio::Internal::Type::Converter + ) + end +end diff --git a/rbi/imagekitio/models/embedded_metadata.rbi b/rbi/imagekitio/models/embedded_metadata.rbi new file mode 100644 index 0000000..51a71b7 --- /dev/null +++ b/rbi/imagekitio/models/embedded_metadata.rbi @@ -0,0 +1,11 @@ +# typed: strong + +module Imagekitio + module Models + EmbeddedMetadata = + T.let( + Imagekitio::Internal::Type::HashOf[Imagekitio::Internal::Type::Unknown], + Imagekitio::Internal::Type::Converter + ) + end +end diff --git a/rbi/imagekitio/models/file.rbi b/rbi/imagekitio/models/file.rbi index c0a9c5e..0c5897b 100644 --- a/rbi/imagekitio/models/file.rbi +++ b/rbi/imagekitio/models/file.rbi @@ -8,7 +8,7 @@ module Imagekitio # Array of AI-generated tags associated with the image. If no AITags are set, it # will be null. - sig { returns(T.nilable(T::Array[Imagekitio::File::AITag])) } + sig { returns(T.nilable(T::Array[Imagekitio::AITag])) } attr_accessor :ai_tags # The audio codec used in the video (only for video/audio). @@ -142,7 +142,7 @@ module Imagekitio # about the custom metadata schema. sig do returns( - T.nilable(T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema]) + T.nilable(T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem]) ) end attr_reader :selected_fields_schema @@ -150,7 +150,7 @@ module Imagekitio sig do params( selected_fields_schema: - T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash] + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash] ).void end attr_writer :selected_fields_schema @@ -198,10 +198,10 @@ module Imagekitio attr_writer :url # An object with details of the file version. - sig { returns(T.nilable(Imagekitio::File::VersionInfo)) } + sig { returns(T.nilable(Imagekitio::VersionInfo)) } attr_reader :version_info - sig { params(version_info: Imagekitio::File::VersionInfo::OrHash).void } + sig { params(version_info: Imagekitio::VersionInfo::OrHash).void } attr_writer :version_info # The video codec used in the video (only for video). @@ -221,7 +221,7 @@ module Imagekitio # Object containing details of a file or file version. sig do params( - ai_tags: T.nilable(T::Array[Imagekitio::File::AITag::OrHash]), + ai_tags: T.nilable(T::Array[Imagekitio::AITag::OrHash]), audio_codec: String, bit_rate: Integer, created_at: Time, @@ -240,14 +240,14 @@ module Imagekitio mime: String, name: String, selected_fields_schema: - T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema::OrHash], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash], size: Float, tags: T.nilable(T::Array[String]), thumbnail: String, type: Imagekitio::File::Type::OrSymbol, updated_at: Time, url: String, - version_info: Imagekitio::File::VersionInfo::OrHash, + version_info: Imagekitio::VersionInfo::OrHash, video_codec: String, width: Float ).returns(T.attached_class) @@ -331,7 +331,7 @@ module Imagekitio sig do override.returns( { - ai_tags: T.nilable(T::Array[Imagekitio::File::AITag]), + ai_tags: T.nilable(T::Array[Imagekitio::AITag]), audio_codec: String, bit_rate: Integer, created_at: Time, @@ -350,14 +350,14 @@ module Imagekitio mime: String, name: String, selected_fields_schema: - T::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem], size: Float, tags: T.nilable(T::Array[String]), thumbnail: String, type: Imagekitio::File::Type::TaggedSymbol, updated_at: Time, url: String, - version_info: Imagekitio::File::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/rbi/imagekitio/models/file_upload_response.rbi b/rbi/imagekitio/models/file_upload_response.rbi index a3a0fb6..63c23ea 100644 --- a/rbi/imagekitio/models/file_upload_response.rbi +++ b/rbi/imagekitio/models/file_upload_response.rbi @@ -12,11 +12,7 @@ module Imagekitio end # An array of tags assigned to the uploaded file by auto tagging. - sig do - returns( - T.nilable(T::Array[Imagekitio::Models::FileUploadResponse::AITag]) - ) - end + sig { returns(T.nilable(T::Array[Imagekitio::AITag])) } attr_accessor :ai_tags # The audio codec used in the video (only for video). @@ -171,12 +167,7 @@ module Imagekitio # about the custom metadata schema. sig do returns( - T.nilable( - T::Hash[ - Symbol, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema - ] - ) + T.nilable(T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem]) ) end attr_reader :selected_fields_schema @@ -184,10 +175,7 @@ module Imagekitio sig do params( selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::OrHash - ] + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash] ).void end attr_writer :selected_fields_schema @@ -220,17 +208,10 @@ module Imagekitio attr_writer :url # An object containing the file or file version's `id` (versionId) and `name`. - sig do - returns(T.nilable(Imagekitio::Models::FileUploadResponse::VersionInfo)) - end + sig { returns(T.nilable(Imagekitio::VersionInfo)) } attr_reader :version_info - sig do - params( - version_info: - Imagekitio::Models::FileUploadResponse::VersionInfo::OrHash - ).void - end + sig { params(version_info: Imagekitio::VersionInfo::OrHash).void } attr_writer :version_info # The video codec used in the video (only for video). @@ -250,10 +231,7 @@ module Imagekitio # Object containing details of a successful upload. sig do params( - ai_tags: - T.nilable( - T::Array[Imagekitio::Models::FileUploadResponse::AITag::OrHash] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag::OrHash]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -272,16 +250,12 @@ module Imagekitio metadata: Imagekitio::Metadata::OrHash, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema::OrHash - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: - Imagekitio::Models::FileUploadResponse::VersionInfo::OrHash, + version_info: Imagekitio::VersionInfo::OrHash, video_codec: String, width: Float ).returns(T.attached_class) @@ -376,10 +350,7 @@ module Imagekitio sig do override.returns( { - ai_tags: - T.nilable( - T::Array[Imagekitio::Models::FileUploadResponse::AITag] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -398,15 +369,12 @@ module Imagekitio metadata: Imagekitio::Metadata, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: Imagekitio::Models::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/rbi/imagekitio/models/selected_fields_schema.rbi b/rbi/imagekitio/models/selected_fields_schema.rbi new file mode 100644 index 0000000..d6b205f --- /dev/null +++ b/rbi/imagekitio/models/selected_fields_schema.rbi @@ -0,0 +1,364 @@ +# typed: strong + +module Imagekitio + module Models + class SelectedFieldsSchemaItem < Imagekitio::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any( + Imagekitio::SelectedFieldsSchemaItem, + Imagekitio::Internal::AnyHash + ) + end + + # Type of the custom metadata field. + sig { returns(Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol) } + attr_accessor :type + + # The default value for this custom metadata field. The value should match the + # `type` of custom metadata field. + sig do + returns( + T.nilable( + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Variants + ) + ) + end + attr_reader :default_value + + sig do + params( + default_value: + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Variants + ).void + end + attr_writer :default_value + + # Specifies if the custom metadata field is required or not. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :is_value_required + + sig { params(is_value_required: T::Boolean).void } + attr_writer :is_value_required + + # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. + sig { returns(T.nilable(Float)) } + attr_reader :max_length + + sig { params(max_length: Float).void } + attr_writer :max_length + + # Maximum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + sig do + returns( + T.nilable(Imagekitio::SelectedFieldsSchemaItem::MaxValue::Variants) + ) + end + attr_reader :max_value + + sig do + params( + max_value: Imagekitio::SelectedFieldsSchemaItem::MaxValue::Variants + ).void + end + attr_writer :max_value + + # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. + sig { returns(T.nilable(Float)) } + attr_reader :min_length + + sig { params(min_length: Float).void } + attr_writer :min_length + + # Minimum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + sig do + returns( + T.nilable(Imagekitio::SelectedFieldsSchemaItem::MinValue::Variants) + ) + end + attr_reader :min_value + + sig do + params( + min_value: Imagekitio::SelectedFieldsSchemaItem::MinValue::Variants + ).void + end + attr_writer :min_value + + # Indicates whether the custom metadata field is read only. A read only field + # cannot be modified after being set. This field is configurable only via the + # **Path policy** feature. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :read_only + + sig { params(read_only: T::Boolean).void } + attr_writer :read_only + + # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. + sig do + returns( + T.nilable( + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::SelectOption::Variants + ] + ) + ) + end + attr_reader :select_options + + sig do + params( + select_options: + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::SelectOption::Variants + ] + ).void + end + attr_writer :select_options + + # Specifies if the selectOptions array is truncated. It is truncated when number + # of options are > 100. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :select_options_truncated + + sig { params(select_options_truncated: T::Boolean).void } + attr_writer :select_options_truncated + + sig do + params( + type: Imagekitio::SelectedFieldsSchemaItem::Type::OrSymbol, + default_value: + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Variants, + is_value_required: T::Boolean, + max_length: Float, + max_value: Imagekitio::SelectedFieldsSchemaItem::MaxValue::Variants, + min_length: Float, + min_value: Imagekitio::SelectedFieldsSchemaItem::MinValue::Variants, + read_only: T::Boolean, + select_options: + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::SelectOption::Variants + ], + select_options_truncated: T::Boolean + ).returns(T.attached_class) + end + def self.new( + # Type of the custom metadata field. + type:, + # The default value for this custom metadata field. The value should match the + # `type` of custom metadata field. + default_value: nil, + # Specifies if the custom metadata field is required or not. + is_value_required: nil, + # Maximum length of string. Only set if `type` is set to `Text` or `Textarea`. + max_length: nil, + # Maximum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + max_value: nil, + # Minimum length of string. Only set if `type` is set to `Text` or `Textarea`. + min_length: nil, + # Minimum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + min_value: nil, + # Indicates whether the custom metadata field is read only. A read only field + # cannot be modified after being set. This field is configurable only via the + # **Path policy** feature. + read_only: nil, + # An array of allowed values when field type is `SingleSelect` or `MultiSelect`. + select_options: nil, + # Specifies if the selectOptions array is truncated. It is truncated when number + # of options are > 100. + select_options_truncated: nil + ) + end + + sig do + override.returns( + { + type: Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol, + default_value: + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Variants, + is_value_required: T::Boolean, + max_length: Float, + max_value: Imagekitio::SelectedFieldsSchemaItem::MaxValue::Variants, + min_length: Float, + min_value: Imagekitio::SelectedFieldsSchemaItem::MinValue::Variants, + read_only: T::Boolean, + select_options: + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::SelectOption::Variants + ], + select_options_truncated: T::Boolean + } + ) + end + def to_hash + end + + # Type of the custom metadata field. + module Type + extend Imagekitio::Internal::Type::Enum + + TaggedSymbol = + T.type_alias do + T.all(Symbol, Imagekitio::SelectedFieldsSchemaItem::Type) + end + OrSymbol = T.type_alias { T.any(Symbol, String) } + + TEXT = + T.let(:Text, Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol) + TEXTAREA = + T.let( + :Textarea, + Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol + ) + NUMBER = + T.let( + :Number, + Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol + ) + DATE = + T.let(:Date, Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol) + BOOLEAN = + T.let( + :Boolean, + Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol + ) + SINGLE_SELECT = + T.let( + :SingleSelect, + Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol + ) + MULTI_SELECT = + T.let( + :MultiSelect, + Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol + ) + + sig do + override.returns( + T::Array[Imagekitio::SelectedFieldsSchemaItem::Type::TaggedSymbol] + ) + end + def self.values + end + end + + # The default value for this custom metadata field. The value should match the + # `type` of custom metadata field. + module DefaultValue + extend Imagekitio::Internal::Type::Union + + Variants = + T.type_alias do + T.any( + String, + Float, + T::Boolean, + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Mixed::Variants + ] + ) + end + + module Mixed + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(String, Float, T::Boolean) } + + sig do + override.returns( + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Mixed::Variants + ] + ) + end + def self.variants + end + end + + sig do + override.returns( + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Variants + ] + ) + end + def self.variants + end + + MixedArray = + T.let( + Imagekitio::Internal::Type::ArrayOf[ + union: Imagekitio::SelectedFieldsSchemaItem::DefaultValue::Mixed + ], + Imagekitio::Internal::Type::Converter + ) + end + + # Maximum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + module MaxValue + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(String, Float) } + + sig do + override.returns( + T::Array[Imagekitio::SelectedFieldsSchemaItem::MaxValue::Variants] + ) + end + def self.variants + end + end + + # Minimum value of the field. Only set if field type is `Date` or `Number`. For + # `Date` type field, the value will be in ISO8601 string format. For `Number` type + # field, it will be a numeric value. + module MinValue + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(String, Float) } + + sig do + override.returns( + T::Array[Imagekitio::SelectedFieldsSchemaItem::MinValue::Variants] + ) + end + def self.variants + end + end + + module SelectOption + extend Imagekitio::Internal::Type::Union + + Variants = T.type_alias { T.any(String, Float, T::Boolean) } + + sig do + override.returns( + T::Array[ + Imagekitio::SelectedFieldsSchemaItem::SelectOption::Variants + ] + ) + end + def self.variants + end + end + end + + SelectedFieldsSchema = + T.let( + Imagekitio::Internal::Type::HashOf[ + Imagekitio::SelectedFieldsSchemaItem + ], + Imagekitio::Internal::Type::Converter + ) + end +end diff --git a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi index 2a8a3d5..8aa7bb7 100644 --- a/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +++ b/rbi/imagekitio/models/upload_pre_transform_success_event.rbi @@ -83,13 +83,7 @@ module Imagekitio end # An array of tags assigned to the uploaded file by auto tagging. - sig do - returns( - T.nilable( - T::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag] - ) - ) - end + sig { returns(T.nilable(T::Array[Imagekitio::AITag])) } attr_accessor :ai_tags # The audio codec used in the video (only for video). @@ -246,12 +240,7 @@ module Imagekitio # about the custom metadata schema. sig do returns( - T.nilable( - T::Hash[ - Symbol, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema - ] - ) + T.nilable(T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem]) ) end attr_reader :selected_fields_schema @@ -259,10 +248,7 @@ module Imagekitio sig do params( selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::OrHash - ] + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash] ).void end attr_writer :selected_fields_schema @@ -295,21 +281,10 @@ module Imagekitio attr_writer :url # An object containing the file or file version's `id` (versionId) and `name`. - sig do - returns( - T.nilable( - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo - ) - ) - end + sig { returns(T.nilable(Imagekitio::VersionInfo)) } attr_reader :version_info - sig do - params( - version_info: - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo::OrHash - ).void - end + sig { params(version_info: Imagekitio::VersionInfo::OrHash).void } attr_writer :version_info # The video codec used in the video (only for video). @@ -329,12 +304,7 @@ module Imagekitio # Object containing details of a successful upload. sig do params( - ai_tags: - T.nilable( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::AITag::OrHash - ] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag::OrHash]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -353,16 +323,12 @@ module Imagekitio metadata: Imagekitio::Metadata::OrHash, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema::OrHash - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem::OrHash], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo::OrHash, + version_info: Imagekitio::VersionInfo::OrHash, video_codec: String, width: Float ).returns(T.attached_class) @@ -457,12 +423,7 @@ module Imagekitio sig do override.returns( { - ai_tags: - T.nilable( - T::Array[ - Imagekitio::UploadPreTransformSuccessEvent::Data::AITag - ] - ), + ai_tags: T.nilable(T::Array[Imagekitio::AITag]), audio_codec: String, bit_rate: Integer, custom_coordinates: T.nilable(String), @@ -481,16 +442,12 @@ module Imagekitio metadata: Imagekitio::Metadata, name: String, selected_fields_schema: - T::Hash[ - Symbol, - Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema - ], + T::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem], size: Float, tags: T.nilable(T::Array[String]), thumbnail_url: String, url: String, - version_info: - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/rbi/imagekitio/models/version_info.rbi b/rbi/imagekitio/models/version_info.rbi new file mode 100644 index 0000000..ad85e52 --- /dev/null +++ b/rbi/imagekitio/models/version_info.rbi @@ -0,0 +1,40 @@ +# typed: strong + +module Imagekitio + module Models + class VersionInfo < Imagekitio::Internal::Type::BaseModel + OrHash = + T.type_alias do + T.any(Imagekitio::VersionInfo, Imagekitio::Internal::AnyHash) + end + + # Unique identifier of the file version. + sig { returns(T.nilable(String)) } + attr_reader :id + + sig { params(id: String).void } + attr_writer :id + + # Name of the file version. + sig { returns(T.nilable(String)) } + attr_reader :name + + sig { params(name: String).void } + attr_writer :name + + # An object containing the file or file version's `id` (versionId) and `name`. + sig { params(id: String, name: String).returns(T.attached_class) } + def self.new( + # Unique identifier of the file version. + id: nil, + # Name of the file version. + name: nil + ) + end + + sig { override.returns({ id: String, name: String }) } + def to_hash + end + end + end +end diff --git a/sig/imagekitio/models.rbs b/sig/imagekitio/models.rbs index 0e63137..865f1c5 100644 --- a/sig/imagekitio/models.rbs +++ b/sig/imagekitio/models.rbs @@ -1,6 +1,8 @@ module Imagekitio module Accounts = Imagekitio::Models::Accounts + class AITag = Imagekitio::Models::AITag + class AssetListParams = Imagekitio::Models::AssetListParams class BaseOverlay = Imagekitio::Models::BaseOverlay @@ -11,6 +13,8 @@ module Imagekitio module Cache = Imagekitio::Models::Cache + CustomMetadata: Imagekitio::Internal::Type::Converter + class CustomMetadataField = Imagekitio::Models::CustomMetadataField class CustomMetadataFieldCreateParams = Imagekitio::Models::CustomMetadataFieldCreateParams @@ -21,6 +25,8 @@ module Imagekitio class CustomMetadataFieldUpdateParams = Imagekitio::Models::CustomMetadataFieldUpdateParams + EmbeddedMetadata: Imagekitio::Internal::Type::Converter + type extension_item = Imagekitio::Models::extension_item module ExtensionConfig = Imagekitio::Models::ExtensionConfig @@ -95,6 +101,10 @@ module Imagekitio class SavedExtensionUpdateParams = Imagekitio::Models::SavedExtensionUpdateParams + SelectedFieldsSchema: Imagekitio::Internal::Type::Converter + + class SelectedFieldsSchemaItem = Imagekitio::Models::SelectedFieldsSchemaItem + class SolidColorOverlay = Imagekitio::Models::SolidColorOverlay class SolidColorOverlayTransformation = Imagekitio::Models::SolidColorOverlayTransformation @@ -129,6 +139,8 @@ module Imagekitio class UploadPreTransformSuccessEvent = Imagekitio::Models::UploadPreTransformSuccessEvent + class VersionInfo = Imagekitio::Models::VersionInfo + class VideoOverlay = Imagekitio::Models::VideoOverlay class VideoTransformationAcceptedEvent = Imagekitio::Models::VideoTransformationAcceptedEvent diff --git a/sig/imagekitio/models/ai_tag.rbs b/sig/imagekitio/models/ai_tag.rbs new file mode 100644 index 0000000..2bc338c --- /dev/null +++ b/sig/imagekitio/models/ai_tag.rbs @@ -0,0 +1,27 @@ +module Imagekitio + module Models + type ai_tag = { confidence: Float, name: String, source: String } + + class AITag < Imagekitio::Internal::Type::BaseModel + attr_reader confidence: Float? + + def confidence=: (Float) -> Float + + attr_reader name: String? + + def name=: (String) -> String + + attr_reader source: String? + + def source=: (String) -> String + + def initialize: ( + ?confidence: Float, + ?name: String, + ?source: String + ) -> void + + def to_hash: -> { confidence: Float, name: String, source: String } + end + end +end diff --git a/sig/imagekitio/models/beta/v2/file_upload_response.rbs b/sig/imagekitio/models/beta/v2/file_upload_response.rbs index 8f3beda..421d0e5 100644 --- a/sig/imagekitio/models/beta/v2/file_upload_response.rbs +++ b/sig/imagekitio/models/beta/v2/file_upload_response.rbs @@ -4,14 +4,14 @@ module Imagekitio module V2 type file_upload_response = { - ai_tags: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus, file_id: String, file_path: String, @@ -21,18 +21,18 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } class FileUploadResponse < Imagekitio::Internal::Type::BaseModel - attr_accessor ai_tags: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag]? + attr_accessor ai_tags: ::Array[Imagekitio::AITag]? attr_reader audio_codec: String? @@ -44,9 +44,11 @@ module Imagekitio attr_accessor custom_coordinates: String? - attr_reader custom_metadata: ::Hash[Symbol, top]? + attr_reader custom_metadata: Imagekitio::Models::custom_metadata? - def custom_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def custom_metadata=: ( + Imagekitio::Models::custom_metadata + ) -> Imagekitio::Models::custom_metadata attr_reader description: String? @@ -56,9 +58,11 @@ module Imagekitio def duration=: (Integer) -> Integer - attr_reader embedded_metadata: ::Hash[Symbol, top]? + attr_reader embedded_metadata: Imagekitio::Models::embedded_metadata? - def embedded_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def embedded_metadata=: ( + Imagekitio::Models::embedded_metadata + ) -> Imagekitio::Models::embedded_metadata attr_reader extension_status: Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus? @@ -98,11 +102,11 @@ module Imagekitio def name=: (String) -> String - attr_reader selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema]? + attr_reader selected_fields_schema: Imagekitio::Models::selected_fields_schema? def selected_fields_schema=: ( - ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema] - ) -> ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema] + Imagekitio::Models::selected_fields_schema + ) -> Imagekitio::Models::selected_fields_schema attr_reader size: Float? @@ -118,11 +122,11 @@ module Imagekitio def url=: (String) -> String - attr_reader version_info: Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo? + attr_reader version_info: Imagekitio::VersionInfo? def version_info=: ( - Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo - ) -> Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo + Imagekitio::VersionInfo + ) -> Imagekitio::VersionInfo attr_reader video_codec: String? @@ -133,14 +137,14 @@ module Imagekitio def width=: (Float) -> Float def initialize: ( - ?ai_tags: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag]?, + ?ai_tags: ::Array[Imagekitio::AITag]?, ?audio_codec: String, ?bit_rate: Integer, ?custom_coordinates: String?, - ?custom_metadata: ::Hash[Symbol, top], + ?custom_metadata: Imagekitio::Models::custom_metadata, ?description: String, ?duration: Integer, - ?embedded_metadata: ::Hash[Symbol, top], + ?embedded_metadata: Imagekitio::Models::embedded_metadata, ?extension_status: Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus, ?file_id: String, ?file_path: String, @@ -150,25 +154,25 @@ module Imagekitio ?is_published: bool, ?metadata: Imagekitio::Metadata, ?name: String, - ?selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema], + ?selected_fields_schema: Imagekitio::Models::selected_fields_schema, ?size: Float, ?tags: ::Array[String]?, ?thumbnail_url: String, ?url: String, - ?version_info: Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, + ?version_info: Imagekitio::VersionInfo, ?video_codec: String, ?width: Float ) -> void def to_hash: -> { - ai_tags: ::Array[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::Models::Beta::V2::FileUploadResponse::ExtensionStatus, file_id: String, file_path: String, @@ -178,12 +182,12 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/sig/imagekitio/models/custom_metadata.rbs b/sig/imagekitio/models/custom_metadata.rbs new file mode 100644 index 0000000..3d5f88d --- /dev/null +++ b/sig/imagekitio/models/custom_metadata.rbs @@ -0,0 +1,7 @@ +module Imagekitio + module Models + type custom_metadata = ::Hash[Symbol, top] + + CustomMetadata: Imagekitio::Internal::Type::Converter + end +end diff --git a/sig/imagekitio/models/embedded_metadata.rbs b/sig/imagekitio/models/embedded_metadata.rbs new file mode 100644 index 0000000..22a038e --- /dev/null +++ b/sig/imagekitio/models/embedded_metadata.rbs @@ -0,0 +1,7 @@ +module Imagekitio + module Models + type embedded_metadata = ::Hash[Symbol, top] + + EmbeddedMetadata: Imagekitio::Internal::Type::Converter + end +end diff --git a/sig/imagekitio/models/file.rbs b/sig/imagekitio/models/file.rbs index 9a2cc33..0ffa762 100644 --- a/sig/imagekitio/models/file.rbs +++ b/sig/imagekitio/models/file.rbs @@ -2,15 +2,15 @@ module Imagekitio module Models type file = { - ai_tags: ::Array[Imagekitio::File::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, created_at: Time, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, file_id: String, file_path: String, file_type: String, @@ -20,20 +20,20 @@ module Imagekitio is_published: bool, mime: String, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail: String, type: Imagekitio::Models::File::type_, updated_at: Time, url: String, - version_info: Imagekitio::File::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } class File < Imagekitio::Internal::Type::BaseModel - attr_accessor ai_tags: ::Array[Imagekitio::File::AITag]? + attr_accessor ai_tags: ::Array[Imagekitio::AITag]? attr_reader audio_codec: String? @@ -49,9 +49,11 @@ module Imagekitio attr_accessor custom_coordinates: String? - attr_reader custom_metadata: ::Hash[Symbol, top]? + attr_reader custom_metadata: Imagekitio::Models::custom_metadata? - def custom_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def custom_metadata=: ( + Imagekitio::Models::custom_metadata + ) -> Imagekitio::Models::custom_metadata attr_reader description: String? @@ -61,9 +63,11 @@ module Imagekitio def duration=: (Integer) -> Integer - attr_reader embedded_metadata: ::Hash[Symbol, top]? + attr_reader embedded_metadata: Imagekitio::Models::embedded_metadata? - def embedded_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def embedded_metadata=: ( + Imagekitio::Models::embedded_metadata + ) -> Imagekitio::Models::embedded_metadata attr_reader file_id: String? @@ -101,11 +105,11 @@ module Imagekitio def name=: (String) -> String - attr_reader selected_fields_schema: ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema]? + attr_reader selected_fields_schema: Imagekitio::Models::selected_fields_schema? def selected_fields_schema=: ( - ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema] - ) -> ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema] + Imagekitio::Models::selected_fields_schema + ) -> Imagekitio::Models::selected_fields_schema attr_reader size: Float? @@ -131,11 +135,9 @@ module Imagekitio def url=: (String) -> String - attr_reader version_info: Imagekitio::File::VersionInfo? + attr_reader version_info: Imagekitio::VersionInfo? - def version_info=: ( - Imagekitio::File::VersionInfo - ) -> Imagekitio::File::VersionInfo + def version_info=: (Imagekitio::VersionInfo) -> Imagekitio::VersionInfo attr_reader video_codec: String? @@ -146,15 +148,15 @@ module Imagekitio def width=: (Float) -> Float def initialize: ( - ?ai_tags: ::Array[Imagekitio::File::AITag]?, + ?ai_tags: ::Array[Imagekitio::AITag]?, ?audio_codec: String, ?bit_rate: Integer, ?created_at: Time, ?custom_coordinates: String?, - ?custom_metadata: ::Hash[Symbol, top], + ?custom_metadata: Imagekitio::Models::custom_metadata, ?description: String, ?duration: Integer, - ?embedded_metadata: ::Hash[Symbol, top], + ?embedded_metadata: Imagekitio::Models::embedded_metadata, ?file_id: String, ?file_path: String, ?file_type: String, @@ -164,28 +166,28 @@ module Imagekitio ?is_published: bool, ?mime: String, ?name: String, - ?selected_fields_schema: ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema], + ?selected_fields_schema: Imagekitio::Models::selected_fields_schema, ?size: Float, ?tags: ::Array[String]?, ?thumbnail: String, ?type: Imagekitio::Models::File::type_, ?updated_at: Time, ?url: String, - ?version_info: Imagekitio::File::VersionInfo, + ?version_info: Imagekitio::VersionInfo, ?video_codec: String, ?width: Float ) -> void def to_hash: -> { - ai_tags: ::Array[Imagekitio::File::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, created_at: Time, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, file_id: String, file_path: String, file_type: String, @@ -195,14 +197,14 @@ module Imagekitio is_published: bool, mime: String, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::File::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail: String, type: Imagekitio::Models::File::type_, updated_at: Time, url: String, - version_info: Imagekitio::File::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/sig/imagekitio/models/file_upload_response.rbs b/sig/imagekitio/models/file_upload_response.rbs index 2ed3094..f9b8d47 100644 --- a/sig/imagekitio/models/file_upload_response.rbs +++ b/sig/imagekitio/models/file_upload_response.rbs @@ -2,14 +2,14 @@ module Imagekitio module Models type file_upload_response = { - ai_tags: ::Array[Imagekitio::Models::FileUploadResponse::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::Models::FileUploadResponse::ExtensionStatus, file_id: String, file_path: String, @@ -19,18 +19,18 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::Models::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } class FileUploadResponse < Imagekitio::Internal::Type::BaseModel - attr_accessor ai_tags: ::Array[Imagekitio::Models::FileUploadResponse::AITag]? + attr_accessor ai_tags: ::Array[Imagekitio::AITag]? attr_reader audio_codec: String? @@ -42,9 +42,11 @@ module Imagekitio attr_accessor custom_coordinates: String? - attr_reader custom_metadata: ::Hash[Symbol, top]? + attr_reader custom_metadata: Imagekitio::Models::custom_metadata? - def custom_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def custom_metadata=: ( + Imagekitio::Models::custom_metadata + ) -> Imagekitio::Models::custom_metadata attr_reader description: String? @@ -54,9 +56,11 @@ module Imagekitio def duration=: (Integer) -> Integer - attr_reader embedded_metadata: ::Hash[Symbol, top]? + attr_reader embedded_metadata: Imagekitio::Models::embedded_metadata? - def embedded_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def embedded_metadata=: ( + Imagekitio::Models::embedded_metadata + ) -> Imagekitio::Models::embedded_metadata attr_reader extension_status: Imagekitio::Models::FileUploadResponse::ExtensionStatus? @@ -96,11 +100,11 @@ module Imagekitio def name=: (String) -> String - attr_reader selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema]? + attr_reader selected_fields_schema: Imagekitio::Models::selected_fields_schema? def selected_fields_schema=: ( - ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema] - ) -> ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema] + Imagekitio::Models::selected_fields_schema + ) -> Imagekitio::Models::selected_fields_schema attr_reader size: Float? @@ -116,11 +120,9 @@ module Imagekitio def url=: (String) -> String - attr_reader version_info: Imagekitio::Models::FileUploadResponse::VersionInfo? + attr_reader version_info: Imagekitio::VersionInfo? - def version_info=: ( - Imagekitio::Models::FileUploadResponse::VersionInfo - ) -> Imagekitio::Models::FileUploadResponse::VersionInfo + def version_info=: (Imagekitio::VersionInfo) -> Imagekitio::VersionInfo attr_reader video_codec: String? @@ -131,14 +133,14 @@ module Imagekitio def width=: (Float) -> Float def initialize: ( - ?ai_tags: ::Array[Imagekitio::Models::FileUploadResponse::AITag]?, + ?ai_tags: ::Array[Imagekitio::AITag]?, ?audio_codec: String, ?bit_rate: Integer, ?custom_coordinates: String?, - ?custom_metadata: ::Hash[Symbol, top], + ?custom_metadata: Imagekitio::Models::custom_metadata, ?description: String, ?duration: Integer, - ?embedded_metadata: ::Hash[Symbol, top], + ?embedded_metadata: Imagekitio::Models::embedded_metadata, ?extension_status: Imagekitio::Models::FileUploadResponse::ExtensionStatus, ?file_id: String, ?file_path: String, @@ -148,25 +150,25 @@ module Imagekitio ?is_published: bool, ?metadata: Imagekitio::Metadata, ?name: String, - ?selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema], + ?selected_fields_schema: Imagekitio::Models::selected_fields_schema, ?size: Float, ?tags: ::Array[String]?, ?thumbnail_url: String, ?url: String, - ?version_info: Imagekitio::Models::FileUploadResponse::VersionInfo, + ?version_info: Imagekitio::VersionInfo, ?video_codec: String, ?width: Float ) -> void def to_hash: -> { - ai_tags: ::Array[Imagekitio::Models::FileUploadResponse::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::Models::FileUploadResponse::ExtensionStatus, file_id: String, file_path: String, @@ -176,12 +178,12 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::Models::FileUploadResponse::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/sig/imagekitio/models/selected_fields_schema.rbs b/sig/imagekitio/models/selected_fields_schema.rbs new file mode 100644 index 0000000..aa3fbd9 --- /dev/null +++ b/sig/imagekitio/models/selected_fields_schema.rbs @@ -0,0 +1,165 @@ +module Imagekitio + module Models + type selected_fields_schema_item = + { + type: Imagekitio::Models::SelectedFieldsSchemaItem::type_, + default_value: Imagekitio::Models::SelectedFieldsSchemaItem::default_value, + is_value_required: bool, + max_length: Float, + max_value: Imagekitio::Models::SelectedFieldsSchemaItem::max_value, + min_length: Float, + min_value: Imagekitio::Models::SelectedFieldsSchemaItem::min_value, + read_only: bool, + select_options: ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option], + select_options_truncated: bool + } + + class SelectedFieldsSchemaItem < Imagekitio::Internal::Type::BaseModel + attr_accessor type: Imagekitio::Models::SelectedFieldsSchemaItem::type_ + + attr_reader default_value: Imagekitio::Models::SelectedFieldsSchemaItem::default_value? + + def default_value=: ( + Imagekitio::Models::SelectedFieldsSchemaItem::default_value + ) -> Imagekitio::Models::SelectedFieldsSchemaItem::default_value + + attr_reader is_value_required: bool? + + def is_value_required=: (bool) -> bool + + attr_reader max_length: Float? + + def max_length=: (Float) -> Float + + attr_reader max_value: Imagekitio::Models::SelectedFieldsSchemaItem::max_value? + + def max_value=: ( + Imagekitio::Models::SelectedFieldsSchemaItem::max_value + ) -> Imagekitio::Models::SelectedFieldsSchemaItem::max_value + + attr_reader min_length: Float? + + def min_length=: (Float) -> Float + + attr_reader min_value: Imagekitio::Models::SelectedFieldsSchemaItem::min_value? + + def min_value=: ( + Imagekitio::Models::SelectedFieldsSchemaItem::min_value + ) -> Imagekitio::Models::SelectedFieldsSchemaItem::min_value + + attr_reader read_only: bool? + + def read_only=: (bool) -> bool + + attr_reader select_options: ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option]? + + def select_options=: ( + ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option] + ) -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option] + + attr_reader select_options_truncated: bool? + + def select_options_truncated=: (bool) -> bool + + def initialize: ( + type: Imagekitio::Models::SelectedFieldsSchemaItem::type_, + ?default_value: Imagekitio::Models::SelectedFieldsSchemaItem::default_value, + ?is_value_required: bool, + ?max_length: Float, + ?max_value: Imagekitio::Models::SelectedFieldsSchemaItem::max_value, + ?min_length: Float, + ?min_value: Imagekitio::Models::SelectedFieldsSchemaItem::min_value, + ?read_only: bool, + ?select_options: ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option], + ?select_options_truncated: bool + ) -> void + + def to_hash: -> { + type: Imagekitio::Models::SelectedFieldsSchemaItem::type_, + default_value: Imagekitio::Models::SelectedFieldsSchemaItem::default_value, + is_value_required: bool, + max_length: Float, + max_value: Imagekitio::Models::SelectedFieldsSchemaItem::max_value, + min_length: Float, + min_value: Imagekitio::Models::SelectedFieldsSchemaItem::min_value, + read_only: bool, + select_options: ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option], + select_options_truncated: bool + } + + type type_ = + :Text + | :Textarea + | :Number + | :Date + | :Boolean + | :SingleSelect + | :MultiSelect + + module Type + extend Imagekitio::Internal::Type::Enum + + TEXT: :Text + TEXTAREA: :Textarea + NUMBER: :Number + DATE: :Date + BOOLEAN: :Boolean + SINGLE_SELECT: :SingleSelect + MULTI_SELECT: :MultiSelect + + def self?.values: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::type_] + end + + type default_value = + String + | Float + | bool + | ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::DefaultValue::mixed] + + module DefaultValue + extend Imagekitio::Internal::Type::Union + + type mixed = String | Float | bool + + module Mixed + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::DefaultValue::mixed] + end + + def self?.variants: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::default_value] + + MixedArray: Imagekitio::Internal::Type::Converter + end + + type max_value = String | Float + + module MaxValue + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::max_value] + end + + type min_value = String | Float + + module MinValue + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::min_value] + end + + type select_option = String | Float | bool + + module SelectOption + extend Imagekitio::Internal::Type::Union + + def self?.variants: -> ::Array[Imagekitio::Models::SelectedFieldsSchemaItem::select_option] + end + end + + type selected_fields_schema = + ::Hash[Symbol, Imagekitio::SelectedFieldsSchemaItem] + + SelectedFieldsSchema: Imagekitio::Internal::Type::Converter + end +end diff --git a/sig/imagekitio/models/upload_pre_transform_success_event.rbs b/sig/imagekitio/models/upload_pre_transform_success_event.rbs index 6593237..75cb925 100644 --- a/sig/imagekitio/models/upload_pre_transform_success_event.rbs +++ b/sig/imagekitio/models/upload_pre_transform_success_event.rbs @@ -47,14 +47,14 @@ module Imagekitio type data = { - ai_tags: ::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus, file_id: String, file_path: String, @@ -64,18 +64,18 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } class Data < Imagekitio::Internal::Type::BaseModel - attr_accessor ai_tags: ::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag]? + attr_accessor ai_tags: ::Array[Imagekitio::AITag]? attr_reader audio_codec: String? @@ -87,9 +87,11 @@ module Imagekitio attr_accessor custom_coordinates: String? - attr_reader custom_metadata: ::Hash[Symbol, top]? + attr_reader custom_metadata: Imagekitio::Models::custom_metadata? - def custom_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def custom_metadata=: ( + Imagekitio::Models::custom_metadata + ) -> Imagekitio::Models::custom_metadata attr_reader description: String? @@ -99,9 +101,11 @@ module Imagekitio def duration=: (Integer) -> Integer - attr_reader embedded_metadata: ::Hash[Symbol, top]? + attr_reader embedded_metadata: Imagekitio::Models::embedded_metadata? - def embedded_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top] + def embedded_metadata=: ( + Imagekitio::Models::embedded_metadata + ) -> Imagekitio::Models::embedded_metadata attr_reader extension_status: Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus? @@ -141,11 +145,11 @@ module Imagekitio def name=: (String) -> String - attr_reader selected_fields_schema: ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema]? + attr_reader selected_fields_schema: Imagekitio::Models::selected_fields_schema? def selected_fields_schema=: ( - ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema] - ) -> ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema] + Imagekitio::Models::selected_fields_schema + ) -> Imagekitio::Models::selected_fields_schema attr_reader size: Float? @@ -161,11 +165,9 @@ module Imagekitio def url=: (String) -> String - attr_reader version_info: Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo? + attr_reader version_info: Imagekitio::VersionInfo? - def version_info=: ( - Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo - ) -> Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo + def version_info=: (Imagekitio::VersionInfo) -> Imagekitio::VersionInfo attr_reader video_codec: String? @@ -176,14 +178,14 @@ module Imagekitio def width=: (Float) -> Float def initialize: ( - ?ai_tags: ::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag]?, + ?ai_tags: ::Array[Imagekitio::AITag]?, ?audio_codec: String, ?bit_rate: Integer, ?custom_coordinates: String?, - ?custom_metadata: ::Hash[Symbol, top], + ?custom_metadata: Imagekitio::Models::custom_metadata, ?description: String, ?duration: Integer, - ?embedded_metadata: ::Hash[Symbol, top], + ?embedded_metadata: Imagekitio::Models::embedded_metadata, ?extension_status: Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus, ?file_id: String, ?file_path: String, @@ -193,25 +195,25 @@ module Imagekitio ?is_published: bool, ?metadata: Imagekitio::Metadata, ?name: String, - ?selected_fields_schema: ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema], + ?selected_fields_schema: Imagekitio::Models::selected_fields_schema, ?size: Float, ?tags: ::Array[String]?, ?thumbnail_url: String, ?url: String, - ?version_info: Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo, + ?version_info: Imagekitio::VersionInfo, ?video_codec: String, ?width: Float ) -> void def to_hash: -> { - ai_tags: ::Array[Imagekitio::UploadPreTransformSuccessEvent::Data::AITag]?, + ai_tags: ::Array[Imagekitio::AITag]?, audio_codec: String, bit_rate: Integer, custom_coordinates: String?, - custom_metadata: ::Hash[Symbol, top], + custom_metadata: Imagekitio::Models::custom_metadata, description: String, duration: Integer, - embedded_metadata: ::Hash[Symbol, top], + embedded_metadata: Imagekitio::Models::embedded_metadata, extension_status: Imagekitio::UploadPreTransformSuccessEvent::Data::ExtensionStatus, file_id: String, file_path: String, @@ -221,12 +223,12 @@ module Imagekitio is_published: bool, metadata: Imagekitio::Metadata, name: String, - selected_fields_schema: ::Hash[Symbol, Imagekitio::UploadPreTransformSuccessEvent::Data::SelectedFieldsSchema], + selected_fields_schema: Imagekitio::Models::selected_fields_schema, size: Float, tags: ::Array[String]?, thumbnail_url: String, url: String, - version_info: Imagekitio::UploadPreTransformSuccessEvent::Data::VersionInfo, + version_info: Imagekitio::VersionInfo, video_codec: String, width: Float } diff --git a/sig/imagekitio/models/version_info.rbs b/sig/imagekitio/models/version_info.rbs new file mode 100644 index 0000000..c7f7410 --- /dev/null +++ b/sig/imagekitio/models/version_info.rbs @@ -0,0 +1,19 @@ +module Imagekitio + module Models + type version_info = { id: String, name: String } + + class VersionInfo < Imagekitio::Internal::Type::BaseModel + attr_reader id: String? + + def id=: (String) -> String + + attr_reader name: String? + + def name=: (String) -> String + + def initialize: (?id: String, ?name: String) -> void + + def to_hash: -> { id: String, name: String } + end + end +end diff --git a/test/imagekitio/resources/beta/v2/files_test.rb b/test/imagekitio/resources/beta/v2/files_test.rb index 5cdce6e..9bb9ffe 100644 --- a/test/imagekitio/resources/beta/v2/files_test.rb +++ b/test/imagekitio/resources/beta/v2/files_test.rb @@ -14,7 +14,7 @@ def test_upload_required_params assert_pattern do response => { - ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::Models::Beta::V2::FileUploadResponse::AITag]) | nil, + ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag]) | nil, audio_codec: String | nil, bit_rate: Integer | nil, custom_coordinates: String | nil, @@ -31,12 +31,12 @@ def test_upload_required_params is_published: Imagekitio::Internal::Type::Boolean | nil, metadata: Imagekitio::Metadata | nil, name: String | nil, - selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::Models::Beta::V2::FileUploadResponse::SelectedFieldsSchema]) | nil, + selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem]) | nil, size: Float | nil, tags: ^(Imagekitio::Internal::Type::ArrayOf[String]) | nil, thumbnail_url: String | nil, url: String | nil, - version_info: Imagekitio::Models::Beta::V2::FileUploadResponse::VersionInfo | nil, + version_info: Imagekitio::VersionInfo | nil, video_codec: String | nil, width: Float | nil } diff --git a/test/imagekitio/resources/files/versions_test.rb b/test/imagekitio/resources/files/versions_test.rb index 3abf45a..28cf60a 100644 --- a/test/imagekitio/resources/files/versions_test.rb +++ b/test/imagekitio/resources/files/versions_test.rb @@ -40,7 +40,7 @@ def test_get_required_params assert_pattern do response => { - ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::File::AITag]) | nil, + ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag]) | nil, audio_codec: String | nil, bit_rate: Integer | nil, created_at: Time | nil, @@ -58,14 +58,14 @@ def test_get_required_params is_published: Imagekitio::Internal::Type::Boolean | nil, mime: String | nil, name: String | nil, - selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::File::SelectedFieldsSchema]) | nil, + selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem]) | nil, size: Float | nil, tags: ^(Imagekitio::Internal::Type::ArrayOf[String]) | nil, thumbnail: String | nil, type: Imagekitio::File::Type | nil, updated_at: Time | nil, url: String | nil, - version_info: Imagekitio::File::VersionInfo | nil, + version_info: Imagekitio::VersionInfo | nil, video_codec: String | nil, width: Float | nil } @@ -83,7 +83,7 @@ def test_restore_required_params assert_pattern do response => { - ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::File::AITag]) | nil, + ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag]) | nil, audio_codec: String | nil, bit_rate: Integer | nil, created_at: Time | nil, @@ -101,14 +101,14 @@ def test_restore_required_params is_published: Imagekitio::Internal::Type::Boolean | nil, mime: String | nil, name: String | nil, - selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::File::SelectedFieldsSchema]) | nil, + selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem]) | nil, size: Float | nil, tags: ^(Imagekitio::Internal::Type::ArrayOf[String]) | nil, thumbnail: String | nil, type: Imagekitio::File::Type | nil, updated_at: Time | nil, url: String | nil, - version_info: Imagekitio::File::VersionInfo | nil, + version_info: Imagekitio::VersionInfo | nil, video_codec: String | nil, width: Float | nil } diff --git a/test/imagekitio/resources/files_test.rb b/test/imagekitio/resources/files_test.rb index a666619..0803391 100644 --- a/test/imagekitio/resources/files_test.rb +++ b/test/imagekitio/resources/files_test.rb @@ -51,7 +51,7 @@ def test_get assert_pattern do response => { - ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::File::AITag]) | nil, + ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag]) | nil, audio_codec: String | nil, bit_rate: Integer | nil, created_at: Time | nil, @@ -69,14 +69,14 @@ def test_get is_published: Imagekitio::Internal::Type::Boolean | nil, mime: String | nil, name: String | nil, - selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::File::SelectedFieldsSchema]) | nil, + selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem]) | nil, size: Float | nil, tags: ^(Imagekitio::Internal::Type::ArrayOf[String]) | nil, thumbnail: String | nil, type: Imagekitio::File::Type | nil, updated_at: Time | nil, url: String | nil, - version_info: Imagekitio::File::VersionInfo | nil, + version_info: Imagekitio::VersionInfo | nil, video_codec: String | nil, width: Float | nil } @@ -127,7 +127,7 @@ def test_upload_required_params assert_pattern do response => { - ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::Models::FileUploadResponse::AITag]) | nil, + ai_tags: ^(Imagekitio::Internal::Type::ArrayOf[Imagekitio::AITag]) | nil, audio_codec: String | nil, bit_rate: Integer | nil, custom_coordinates: String | nil, @@ -144,12 +144,12 @@ def test_upload_required_params is_published: Imagekitio::Internal::Type::Boolean | nil, metadata: Imagekitio::Metadata | nil, name: String | nil, - selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::Models::FileUploadResponse::SelectedFieldsSchema]) | nil, + selected_fields_schema: ^(Imagekitio::Internal::Type::HashOf[Imagekitio::SelectedFieldsSchemaItem]) | nil, size: Float | nil, tags: ^(Imagekitio::Internal::Type::ArrayOf[String]) | nil, thumbnail_url: String | nil, url: String | nil, - version_info: Imagekitio::Models::FileUploadResponse::VersionInfo | nil, + version_info: Imagekitio::VersionInfo | nil, video_codec: String | nil, width: Float | nil } From a546963ec88a011e18426a2a9ad46893e8e45eec Mon Sep 17 00:00:00 2001 From: Manu Chaudhary Date: Mon, 13 Apr 2026 07:48:17 +0530 Subject: [PATCH 13/17] fix(docs): remove redundant information about versioning in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eb891d0..67442b2 100644 --- a/README.md +++ b/README.md @@ -731,7 +731,7 @@ image_kit.assets.list( ## Versioning -This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time. +This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. This package considers improvements to the (non-runtime) `*.rbi` and `*.rbs` type definitions to be non-breaking changes. From db0b711f50b3e992f36dd3f30ef74dac502a44a2 Mon Sep 17 00:00:00 2001 From: Manu Chaudhary Date: Mon, 13 Apr 2026 07:55:45 +0530 Subject: [PATCH 14/17] fix(webhooks): encode webhook key in Base64 before verification --- lib/imagekitio/resources/webhooks.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/imagekitio/resources/webhooks.rb b/lib/imagekitio/resources/webhooks.rb index 266396d..b9ae15b 100644 --- a/lib/imagekitio/resources/webhooks.rb +++ b/lib/imagekitio/resources/webhooks.rb @@ -23,7 +23,8 @@ def unwrap(payload, headers:, key: @client.webhook_secret) raise ArgumentError.new("Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument") end - ::StandardWebhooks::Webhook.new(key).verify(payload, headers) + encoded_key = Base64.strict_encode64(key) + ::StandardWebhooks::Webhook.new(encoded_key).verify(payload, headers) parsed = JSON.parse(payload, symbolize_names: true) Imagekitio::Internal::Type::Converter.coerce(Imagekitio::Models::UnwrapWebhookEvent, parsed) From ceb1927213edf8467e8e584a4b43999f0cedcf20 Mon Sep 17 00:00:00 2001 From: Manu Chaudhary Date: Mon, 13 Apr 2026 08:00:12 +0530 Subject: [PATCH 15/17] docs: add webhook verification section to README --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 67442b2..65fb404 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ If you're using Ruby on Rails, the [ImageKit Rails gem](https://github.com/image - [Helper Methods](#helper-methods) - [Authentication parameters for client-side uploads](#authentication-parameters-for-client-side-uploads) - [Responsive image attributes](#responsive-image-attributes) +- [Webhook verification](#webhook-verification) + - [Verifying webhook signatures](#verifying-webhook-signatures) - [Handling errors](#handling-errors) - [Retries](#retries) - [Timeouts](#timeouts) @@ -525,6 +527,12 @@ attrs = image_kit.helper.get_responsive_image_attributes({ }) ``` +## Webhook verification + +The ImageKit SDK provides utilities to verify webhook signatures for secure event handling. This ensures that webhook requests are actually coming from ImageKit and haven't been tampered with. + +For detailed information about webhook setup, signature verification, and handling different webhook events, refer to the [ImageKit webhook documentation](https://imagekit.io/docs/webhooks#verify-webhook-signature). + ### Handling errors When the library is unable to connect to the API, or if the API returns a non-success status code (i.e., 4xx or 5xx response), a subclass of `Imagekitio::Errors::APIError` will be thrown: From 03f4b4580157f6c5a81905b549801e9abb2f3c2c Mon Sep 17 00:00:00 2001 From: Manu Chaudhary Date: Mon, 13 Apr 2026 08:00:59 +0530 Subject: [PATCH 16/17] fix(docs): remove redundant sub-item for webhook signature verification in README --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 65fb404..41cdb82 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ If you're using Ruby on Rails, the [ImageKit Rails gem](https://github.com/image - [Authentication parameters for client-side uploads](#authentication-parameters-for-client-side-uploads) - [Responsive image attributes](#responsive-image-attributes) - [Webhook verification](#webhook-verification) - - [Verifying webhook signatures](#verifying-webhook-signatures) - [Handling errors](#handling-errors) - [Retries](#retries) - [Timeouts](#timeouts) From e9bcc4d490def3023bad1cf35a7134298ea06f3d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 13 Apr 2026 02:31:24 +0000 Subject: [PATCH 17/17] release: 4.4.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/imagekitio/version.rb | 2 +- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 29102ae..934f2cc 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.3.0" + ".": "4.4.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 97b5aac..542c03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Changelog +## 4.4.0 (2026-04-13) + +Full Changelog: [v4.3.0...v4.4.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.3.0...v4.4.0) + +### Features + +* **api:** add missing types in ruby ([6a074df](https://github.com/imagekit-developer/imagekit-ruby/commit/6a074df0249e9ac9969c2bc4b8d12d9abbd1e233)) +* **api:** dam related webhook events ([d2ffbf3](https://github.com/imagekit-developer/imagekit-ruby/commit/d2ffbf33cabaddffbb97d4c7bc7e54be100a3c67)) +* **api:** fix spec indentation ([74e7a6a](https://github.com/imagekit-developer/imagekit-ruby/commit/74e7a6ae49a83d6faa29796443309f20633b430d)) +* **api:** indentation fix ([fae3b74](https://github.com/imagekit-developer/imagekit-ruby/commit/fae3b74e0de1bdd3e5a29c6061f546aacfc423cb)) +* **api:** merge with main to bring back missing parameters ([78377b5](https://github.com/imagekit-developer/imagekit-ruby/commit/78377b55c03f7818a5f2ae57d19464dfae58763a)) +* **api:** update webhook event names and remove DAM prefix ([c621b14](https://github.com/imagekit-developer/imagekit-ruby/commit/c621b14ca3a92b3428bd3a41156539aba3668097)) + + +### Bug Fixes + +* **api:** extract shared schemas to prevent Go webhook union breaking changes ([0325862](https://github.com/imagekit-developer/imagekit-ruby/commit/032586298410662b5f45b9b4189cc23ef74c1e40)) +* **api:** fix references of schema ([3d07367](https://github.com/imagekit-developer/imagekit-ruby/commit/3d073676557eaac1a3ce9447866936e707f45566)) +* **api:** rename DamFile events to File for consistency ([5998787](https://github.com/imagekit-developer/imagekit-ruby/commit/5998787a6607eb936b51b46b92e24679ac2dd321)) +* **docs:** remove redundant information about versioning in README ([a546963](https://github.com/imagekit-developer/imagekit-ruby/commit/a546963ec88a011e18426a2a9ad46893e8e45eec)) +* **docs:** remove redundant sub-item for webhook signature verification in README ([03f4b45](https://github.com/imagekit-developer/imagekit-ruby/commit/03f4b4580157f6c5a81905b549801e9abb2f3c2c)) +* **docs:** remove unnecessary password parameter from example ([77c9134](https://github.com/imagekit-developer/imagekit-ruby/commit/77c9134775b106ac5107579f3059390870ced790)) +* multipart encoding for file arrays ([5f02f3a](https://github.com/imagekit-developer/imagekit-ruby/commit/5f02f3a700d92bdcba063ce82d64c82fc70d37f8)) +* **webhooks:** encode webhook key in Base64 before verification ([db0b711](https://github.com/imagekit-developer/imagekit-ruby/commit/db0b711f50b3e992f36dd3f30ef74dac502a44a2)) + + +### Documentation + +* add webhook verification section to README ([ceb1927](https://github.com/imagekit-developer/imagekit-ruby/commit/ceb1927213edf8467e8e584a4b43999f0cedcf20)) + + +### Refactors + +* AITags to singular AITag schema with array items pattern ([01a4f00](https://github.com/imagekit-developer/imagekit-ruby/commit/01a4f00f0ce0b7f308f8f84351327c2a25a77408)) + ## 4.3.0 (2026-04-06) Full Changelog: [v4.2.0...v4.3.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.2.0...v4.3.0) diff --git a/Gemfile.lock b/Gemfile.lock index 0480797..fe1dd7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,7 +11,7 @@ GIT PATH remote: . specs: - imagekitio (4.3.0) + imagekitio (4.4.0) cgi connection_pool standardwebhooks diff --git a/README.md b/README.md index 41cdb82..abf9347 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ To use this gem, install via Bundler by adding the following to your application ```ruby -gem "imagekitio", "~> 4.3.0" +gem "imagekitio", "~> 4.4.0" ``` diff --git a/lib/imagekitio/version.rb b/lib/imagekitio/version.rb index 5d680d0..cb9c766 100644 --- a/lib/imagekitio/version.rb +++ b/lib/imagekitio/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Imagekitio - VERSION = "4.3.0" + VERSION = "4.4.0" end