using System.Globalization; using System.Text.Json.Serialization; namespace NadekoBot.Modules.Searches; public sealed class SearxSearchResult : ISearchResult { [JsonPropertyName("query")] public string Query { get; set; } = null!; [JsonPropertyName("number_of_results")] public double NumberOfResults { get; set; } [JsonPropertyName("results")] public List Results { get; set; } = new List(); [JsonPropertyName("answers")] public List Answers { get; set; } = new List(); // // [JsonPropertyName("corrections")] // public List Corrections { get; } = new List(); // [JsonPropertyName("infoboxes")] // public List Infoboxes { get; } = new List(); // // [JsonPropertyName("suggestions")] // public List Suggestions { get; } = new List(); // [JsonPropertyName("unresponsive_engines")] // public List UnresponsiveEngines { get; } = new List(); public string SearchTime { get; set; } = null!; public IReadOnlyCollection Entries => Results; public ISearchResultInformation Info => new SearxSearchResultInformation() { SearchTime = SearchTime, TotalResults = NumberOfResults.ToString("N", CultureInfo.InvariantCulture) }; public string? Answer => Answers.FirstOrDefault(); }