From 066dd87e110d4596427f24a39f7bf109cf50e255 Mon Sep 17 00:00:00 2001 From: algolia-bot Date: Mon, 2 Dec 2024 21:15:42 +0000 Subject: [PATCH] fix(ruby): expose static helper [skip-bc] (#4191) (generated) [skip ci] Co-authored-by: Pierre Millot --- .../lib/algolia/api/search_client.rb | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/clients/algoliasearch-client-ruby/lib/algolia/api/search_client.rb b/clients/algoliasearch-client-ruby/lib/algolia/api/search_client.rb index f6cbe5ce6f..7401ada98c 100644 --- a/clients/algoliasearch-client-ruby/lib/algolia/api/search_client.rb +++ b/clients/algoliasearch-client-ruby/lib/algolia/api/search_client.rb @@ -3288,7 +3288,7 @@ def browse_synonyms( # # @return [String] # - def generate_secured_api_key(parent_api_key, restrictions = {}) + def self.generate_secured_api_key(parent_api_key, restrictions = {}) restrictions = restrictions.to_hash if restrictions.key?(:searchParams) # merge searchParams with the root of the restrictions @@ -3310,13 +3310,24 @@ def generate_secured_api_key(parent_api_key, restrictions = {}) Base64.encode64("#{hmac}#{url_encoded_restrictions}").gsub("\n", "") end + # Helper: Generates a secured API key based on the given `parent_api_key` and given `restrictions`. + # + # @param parent_api_key [String] Parent API key used the generate the secured key + # @param restrictions [SecuredApiKeyRestrictions] Restrictions to apply on the secured key + # + # @return [String] + # + def generate_secured_api_key(parent_api_key, restrictions = {}) + self.class.generate_secured_api_key(parent_api_key, restrictions) + end + # Helper: Retrieves the remaining validity of the previous generated `secured_api_key`, the `validUntil` parameter must have been provided. # # @param secured_api_key [String] # # @return [Integer] # - def get_secured_api_key_remaining_validity(secured_api_key) + def self.get_secured_api_key_remaining_validity(secured_api_key) now = Time.now.to_i decoded_key = Base64.decode64(secured_api_key) regex = "validUntil=(\\d+)" @@ -3331,6 +3342,16 @@ def get_secured_api_key_remaining_validity(secured_api_key) valid_until - now end + # Helper: Retrieves the remaining validity of the previous generated `secured_api_key`, the `validUntil` parameter must have been provided. + # + # @param secured_api_key [String] + # + # @return [Integer] + # + def get_secured_api_key_remaining_validity(secured_api_key) + self.class.get_secured_api_key_remaining_validity(secured_api_key) + end + # Helper: Saves the given array of objects in the given index. The `chunked_batch` helper is used under the hood, which creates a `batch` requests with at most 1000 objects in it. # # @param index_name [String]: The `index_name` to save `objects` in.