From 16efe447a2d1633d422891a93cf8633b75836cb2 Mon Sep 17 00:00:00 2001 From: LD-Reborn Date: Mon, 29 Dec 2025 19:51:16 +0100 Subject: [PATCH] Reorganized client methods to better match swagger sequence --- src/Client/Client.cs | 128 +++++++++++++++++++++---------------------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/src/Client/Client.cs b/src/Client/Client.cs index 29537fd..5191e49 100644 --- a/src/Client/Client.cs +++ b/src/Client/Client.cs @@ -34,24 +34,44 @@ public class Client this.searchdomain = searchdomain ?? ""; } + public async Task EntityListAsync(bool returnEmbeddings = false) + { + return await EntityListAsync(searchdomain, returnEmbeddings); + } + + public async Task EntityListAsync(string searchdomain, bool returnEmbeddings = false) + { + var url = $"{baseUri}/Entities?apiKey={HttpUtility.UrlEncode(apiKey)}&searchdomain={HttpUtility.UrlEncode(searchdomain)}&returnEmbeddings={HttpUtility.UrlEncode(returnEmbeddings.ToString())}"; + return await GetUrlAndProcessJson(url); + } + + public async Task EntityIndexAsync(List jsonEntity) + { + return await EntityIndexAsync(JsonSerializer.Serialize(jsonEntity)); + } + + public async Task EntityIndexAsync(string jsonEntity) + { + var content = new StringContent(jsonEntity, Encoding.UTF8, "application/json"); + return await PutUrlAndProcessJson(GetUrl($"{baseUri}", "Entities", apiKey, []), content); + } + + public async Task EntityDeleteAsync(string entityName) + { + return await EntityDeleteAsync(searchdomain, entityName); + } + + public async Task EntityDeleteAsync(string searchdomain, string entityName) + { + var url = $"{baseUri}/Entity?apiKey={HttpUtility.UrlEncode(apiKey)}&searchdomain={HttpUtility.UrlEncode(searchdomain)}&entity={HttpUtility.UrlEncode(entityName)}"; + return await DeleteUrlAndProcessJson(url); + } + public async Task SearchdomainListAsync() { return await GetUrlAndProcessJson(GetUrl($"{baseUri}", "Searchdomains", apiKey, [])); } - public async Task SearchdomainDeleteAsync() - { - return await SearchdomainDeleteAsync(searchdomain); - } - - public async Task SearchdomainDeleteAsync(string searchdomain) - { - return await DeleteUrlAndProcessJson(GetUrl($"{baseUri}", "Searchdomain", apiKey, new Dictionary() - { - {"searchdomain", searchdomain} - })); - } - public async Task SearchdomainCreateAsync() { return await SearchdomainCreateAsync(searchdomain); @@ -65,6 +85,19 @@ public class Client }), new StringContent(JsonSerializer.Serialize(searchdomainSettings), Encoding.UTF8, "application/json")); } + public async Task SearchdomainDeleteAsync() + { + return await SearchdomainDeleteAsync(searchdomain); + } + + public async Task SearchdomainDeleteAsync(string searchdomain) + { + return await DeleteUrlAndProcessJson(GetUrl($"{baseUri}", "Searchdomain", apiKey, new Dictionary() + { + {"searchdomain", searchdomain} + })); + } + public async Task SearchdomainUpdateAsync(string newName, string settings = "{}") { SearchdomainUpdateResults updateResults = await SearchdomainUpdateAsync(searchdomain, newName, settings); @@ -95,6 +128,24 @@ public class Client return await GetUrlAndProcessJson(GetUrl($"{baseUri}/Searchdomain", "Queries", apiKey, parameters)); } + public async Task SearchdomainQueryAsync(string query) + { + return await SearchdomainQueryAsync(searchdomain, query); + } + + public async Task SearchdomainQueryAsync(string searchdomain, string query, int? topN = null, bool returnAttributes = false) + { + Dictionary parameters = new() + { + {"searchdomain", searchdomain}, + {"query", query} + }; + if (topN is not null) parameters.Add("topN", ((int)topN).ToString()); + if (returnAttributes) parameters.Add("returnAttributes", returnAttributes.ToString()); + + return await PostUrlAndProcessJson(GetUrl($"{baseUri}/Searchdomain", "Query", apiKey, parameters), null); + } + public async Task SearchdomainDeleteQueryAsync(string searchdomain, string query) { Dictionary parameters = new() @@ -117,24 +168,6 @@ public class Client new StringContent(JsonSerializer.Serialize(results), Encoding.UTF8, "application/json")); } - public async Task SearchdomainQueryAsync(string query) - { - return await SearchdomainQueryAsync(searchdomain, query); - } - - public async Task SearchdomainQueryAsync(string searchdomain, string query, int? topN = null, bool returnAttributes = false) - { - Dictionary parameters = new() - { - {"searchdomain", searchdomain}, - {"query", query} - }; - if (topN is not null) parameters.Add("topN", ((int)topN).ToString()); - if (returnAttributes) parameters.Add("returnAttributes", returnAttributes.ToString()); - - return await PostUrlAndProcessJson(GetUrl($"{baseUri}/Searchdomain", "Query", apiKey, parameters), null); - } - public async Task SearchdomainGetSettingsAsync(string searchdomain) { Dictionary parameters = new() @@ -186,39 +219,6 @@ public class Client return await GetUrlAndProcessJson(GetUrl($"{baseUri}/Server", "Models", apiKey, [])); } - public async Task EntityIndexAsync(List jsonEntity) - { - return await EntityIndexAsync(JsonSerializer.Serialize(jsonEntity)); - } - - public async Task EntityIndexAsync(string jsonEntity) - { - var content = new StringContent(jsonEntity, Encoding.UTF8, "application/json"); - return await PutUrlAndProcessJson(GetUrl($"{baseUri}", "Entities", apiKey, []), content); - } - - public async Task EntityListAsync(bool returnEmbeddings = false) - { - return await EntityListAsync(searchdomain, returnEmbeddings); - } - - public async Task EntityListAsync(string searchdomain, bool returnEmbeddings = false) - { - var url = $"{baseUri}/Entities?apiKey={HttpUtility.UrlEncode(apiKey)}&searchdomain={HttpUtility.UrlEncode(searchdomain)}&returnEmbeddings={HttpUtility.UrlEncode(returnEmbeddings.ToString())}"; - return await GetUrlAndProcessJson(url); - } - - public async Task EntityDeleteAsync(string entityName) - { - return await EntityDeleteAsync(searchdomain, entityName); - } - - public async Task EntityDeleteAsync(string searchdomain, string entityName) - { - var url = $"{baseUri}/Entity?apiKey={HttpUtility.UrlEncode(apiKey)}&searchdomain={HttpUtility.UrlEncode(searchdomain)}&entity={HttpUtility.UrlEncode(entityName)}"; - return await DeleteUrlAndProcessJson(url); - } - private static async Task GetUrlAndProcessJson(string url) { using var client = new HttpClient();