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 1/9] 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 2/9] 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 3/9] 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 4/9] 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 5/9] 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 6/9] 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 7/9] 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 8/9] 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 52f93376e42fc86879f6f31ccb3154130e254712 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:08:41 +0000 Subject: [PATCH 9/9] release: 4.4.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 19 +++++++++++++++++++ Gemfile.lock | 2 +- README.md | 2 +- lib/imagekitio/version.rb | 2 +- 5 files changed, 23 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..b3116fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 4.4.0 (2026-04-10) + +Full Changelog: [v4.3.0...v4.4.0](https://github.com/imagekit-developer/imagekit-ruby/compare/v4.3.0...v4.4.0) + +### Features + +* **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:** rename DamFile events to File for consistency ([5998787](https://github.com/imagekit-developer/imagekit-ruby/commit/5998787a6607eb936b51b46b92e24679ac2dd321)) +* **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)) + ## 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 eb891d0..b66d5fb 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,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