/// <summary> /// Basic search /// </summary> public override async Task<IEnumerable<SimpleSearchMetadata>> Search(string searchTerm, SearchFilter filters, int skip, int take, CancellationToken cancellationToken) { var results = new List<SimpleSearchMetadata>(); foreach (var result in await _rawSearch.Search(searchTerm, filters, skip, take, cancellationToken)) { var version = NuGetVersion.Parse(result["version"].ToString()); var identity = new PackageIdentity(result["id"].ToString(), version); var description = result["description"].ToString(); var allVersions = new List<NuGetVersion>(); foreach (var versionObj in ((JArray)result["versions"])) { allVersions.Add(NuGetVersion.Parse(versionObj["version"].ToString())); } var data = new SimpleSearchMetadata(identity, description, allVersions); results.Add(data); } return results; }
private SimpleSearchMetadata CreatePackageSearchResult(IPackage package) { var versions = V2Client.FindPackagesById(package.Id); if (!versions.Any()) { versions = new[] { package }; } var id = package.Id; var version = V2Utilities.SafeToNuGetVer(package.Version); var summary = package.Summary; var nuGetVersions = versions.Select(p => V2Utilities.SafeToNuGetVer(p.Version)); if (string.IsNullOrWhiteSpace(summary)) { summary = package.Description; } var iconUrl = package.IconUrl; var identity = new PackageIdentity(id, version); var searchMetaData = new SimpleSearchMetadata(identity, summary, nuGetVersions); return searchMetaData; }