diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Serializer/EnumConverter.cs b/clients/algoliasearch-client-csharp/algoliasearch/Serializer/EnumConverter.cs index 8c41dfea480..bcb0e4a9e20 100644 --- a/clients/algoliasearch-client-csharp/algoliasearch/Serializer/EnumConverter.cs +++ b/clients/algoliasearch-client-csharp/algoliasearch/Serializer/EnumConverter.cs @@ -91,21 +91,21 @@ JsonSerializerOptions options switch (type) { case JsonTokenType.String: + { + var stringValue = reader.GetString(); + if (stringValue != null && _stringToEnum.TryGetValue(stringValue, out var enumValue)) { - var stringValue = reader.GetString(); - if (stringValue != null && _stringToEnum.TryGetValue(stringValue, out var enumValue)) - { - return enumValue; - } - - break; - } - case JsonTokenType.Number: - { - var numValue = reader.GetInt32(); - _numberToEnum.TryGetValue(numValue, out var enumValue); return enumValue; } + + break; + } + case JsonTokenType.Number: + { + var numValue = reader.GetInt32(); + _numberToEnum.TryGetValue(numValue, out var enumValue); + return enumValue; + } } return default; diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Utils/QueryStringHelper.cs b/clients/algoliasearch-client-csharp/algoliasearch/Utils/QueryStringHelper.cs index a890dda9b58..07decce4895 100644 --- a/clients/algoliasearch-client-csharp/algoliasearch/Utils/QueryStringHelper.cs +++ b/clients/algoliasearch-client-csharp/algoliasearch/Utils/QueryStringHelper.cs @@ -36,18 +36,18 @@ public static string ParameterToString(object obj) case bool boolean: return boolean ? "true" : "false"; case ICollection collection: - { - var entries = new List(); - foreach (var entry in collection) - entries.Add(ParameterToString(entry)); - return string.Join(",", entries); - } + { + var entries = new List(); + foreach (var entry in collection) + entries.Add(ParameterToString(entry)); + return string.Join(",", entries); + } case Enum when HasEnumMemberAttrValue(obj): return GetEnumMemberAttrValue(obj); case AbstractSchema schema when obj.GetType().IsClass: - { - return ParameterToString(schema.ActualInstance); - } + { + return ParameterToString(schema.ActualInstance); + } default: return Convert.ToString(obj, CultureInfo.InvariantCulture); } diff --git a/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs b/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs index 8ad6ba4468f..ea8a7738a46 100644 --- a/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs +++ b/clients/algoliasearch-client-csharp/algoliasearch/Utils/SearchClientExtensions.cs @@ -1157,7 +1157,7 @@ public async Task IndexExistsAsync( { try { - await GetSettingsAsync(indexName, null, cancellationToken); + await GetSettingsAsync(indexName, null, null, cancellationToken); } catch (AlgoliaApiException ex) when (ex.HttpErrorCode == 404) { diff --git a/specs/search/common/parameters.yml b/specs/search/common/parameters.yml index 5b22aeaf1c6..6a4953753b2 100644 --- a/specs/search/common/parameters.yml +++ b/specs/search/common/parameters.yml @@ -32,3 +32,11 @@ userID: pattern: '^[a-zA-Z0-9 \-*.]+$' description: Unique identifier of the user who makes the search request. example: user1 + +getVersion: + name: getVersion + description: When set to 2, the endpoint will not include `synonyms` in the response. This parameter is here for backward compatibility. + in: query + schema: + type: integer + default: 1 diff --git a/specs/search/paths/settings/settings.yml b/specs/search/paths/settings/settings.yml index 8ace1002715..fef19b9d708 100644 --- a/specs/search/paths/settings/settings.yml +++ b/specs/search/paths/settings/settings.yml @@ -9,6 +9,7 @@ get: summary: Retrieve index settings parameters: - $ref: '../../../common/parameters.yml#/IndexName' + - $ref: '../../common/parameters.yml#/getVersion' responses: '200': description: OK diff --git a/tests/CTS/requests/search/getSettings.json b/tests/CTS/requests/search/getSettings.json index ca2ee8d8cc6..acd632ca49e 100644 --- a/tests/CTS/requests/search/getSettings.json +++ b/tests/CTS/requests/search/getSettings.json @@ -1,11 +1,15 @@ [ { "parameters": { - "indexName": "cts_e2e_settings" + "indexName": "cts_e2e_settings", + "getVersion": 2 }, "request": { "path": "/1/indexes/cts_e2e_settings/settings", - "method": "GET" + "method": "GET", + "queryParameters": { + "getVersion": "2" + } }, "response": { "statusCode": 200,