lib/hubspot/codegen/conversations/visitor-identification/configuration.rb in hubspot-api-client-15.0.2 vs lib/hubspot/codegen/conversations/visitor-identification/configuration.rb in hubspot-api-client-16.0.0
- old
+ new
@@ -4,11 +4,11 @@
#The Visitor Identification API allows you to pass identification information to the HubSpot chat widget for otherwise unknown visitors that were verified by your own authentication system.
The version of the OpenAPI document: v3
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 4.3.1
+OpenAPI Generator version: 6.2.1
=end
module Hubspot
module Conversations
@@ -21,10 +21,22 @@
attr_accessor :host
# Defines url base path
attr_accessor :base_path
+ # Define server configuration index
+ attr_accessor :server_index
+
+ # Define server operation configuration index
+ attr_accessor :server_operation_index
+
+ # Default server variables
+ attr_accessor :server_variables
+
+ # Default server operation variables
+ attr_accessor :server_operation_variables
+
# Defines API keys used with API Key authentications.
#
# @return [Hash] key: parameter name, value: parameter value (API key)
#
# @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
@@ -121,29 +133,34 @@
#
# @see The params_encoding option of Ethon. Related source code:
# https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
attr_accessor :params_encoding
+
attr_accessor :inject_format
attr_accessor :force_ending_format
attr_accessor :error_handler
def initialize
@scheme = 'https'
@host = 'api.hubapi.com'
@base_path = ''
+ @server_index = 0
+ @server_operation_index = {}
+ @server_variables = {}
+ @server_operation_variables = {}
@api_key = {}
@api_key_prefix = {}
- @timeout = 0
@client_side_validation = true
@verify_ssl = true
@verify_ssl_host = true
- @params_encoding = nil
@cert_file = nil
@key_file = nil
+ @timeout = 0
+ @params_encoding = nil
@debugging = false
@inject_format = false
@force_ending_format = false
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
# error_handler params: { 'status_code': { max_retries: ..., seconds_delay: ... }, ... }
@@ -175,21 +192,27 @@
# Add leading and trailing slashes to base_path
@base_path = "/#{base_path}".gsub(/\/+/, '/')
@base_path = '' if @base_path == '/'
end
- def base_url
- "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '')
+ # Returns base URL for specified operation based on server settings
+ def base_url(operation = nil)
+ index = server_operation_index.fetch(operation, server_index)
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
+
+ server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
end
# Gets API key (with prefix if set).
# @param [String] param_name the parameter name of API key auth
- def api_key_with_prefix(param_name)
+ def api_key_with_prefix(param_name, param_alias = nil)
+ key = @api_key[param_name]
+ key = @api_key.fetch(param_alias, key) unless param_alias.nil?
if @api_key_prefix[param_name]
- "#{@api_key_prefix[param_name]} #{@api_key[param_name]}"
+ "#{@api_key_prefix[param_name]} #{key}"
else
- @api_key[param_name]
+ key
end
end
# Gets Basic Auth token string
def basic_auth_token
@@ -218,35 +241,42 @@
# Returns an array of Server setting
def server_settings
[
{
- url: "https://api.hubapi.com/",
+ url: "https://api.hubapi.com",
description: "No description provided",
}
]
end
+ def operation_server_settings
+ {
+ }
+ end
+
# Returns URL based on server settings
#
# @param index array index of the server settings
# @param variables hash of variable and the corresponding value
- def server_url(index, variables = {})
- servers = server_settings
+ def server_url(index, variables = {}, servers = nil)
+ servers = server_settings if servers == nil
# check array index out of bound
if (index < 0 || index >= servers.size)
fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
end
server = servers[index]
url = server[:url]
+ return url unless server.key? :variables
+
# go through variable and assign a value
server[:variables].each do |name, variable|
if variables.key?(name)
- if (server[:variables][name][:enum_values].include? variables[name])
+ if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
url.gsub! "{" + name.to_s + "}", variables[name]
else
fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
end
else
@@ -255,9 +285,10 @@
end
end
url
end
+
end
end
end
end