private IPackageSearchMetadata ParseMetadata(JObject metadata) { var parsed = metadata.FromJToken <PackageSearchMetadata>(); parsed.ReportAbuseUrl = _reportAbuseResource?.GetReportAbuseUrl(parsed.PackageId, parsed.Version); return(parsed); }
private PackageSearchMetadataRegistration ParseMetadata(JObject metadata) { var parsed = metadata.FromJToken <PackageSearchMetadataRegistration>(); parsed.ReportAbuseUrl = _reportAbuseResource?.GetReportAbuseUrl(parsed.PackageId, parsed.Version); parsed.PackageDetailsUrl = _packageDetailsUriResource?.GetUri(parsed.PackageId, parsed.Version); return(parsed); }
/// <summary> /// Process RegistrationPage /// </summary> /// <param name="registrationPage">Nuget registration page.</param> /// <param name="results">Used to return nuget result.</param> /// <param name="range">Nuget version range.</param> /// <param name="includePrerelease">Whether to include PreRelease versions into result.</param> /// <param name="includeUnlisted">Whether to include Unlisted versions into result.</param> private void ProcessRegistrationPage( RegistrationPage registrationPage, List <PackageSearchMetadataRegistration> results, VersionRange range, bool includePrerelease, bool includeUnlisted, MetadataReferenceCache metadataCache) { foreach (RegistrationLeafItem registrationLeaf in registrationPage.Items) { PackageSearchMetadataRegistration catalogEntry = registrationLeaf.CatalogEntry; NuGetVersion version = catalogEntry.Version; bool listed = catalogEntry.IsListed; if (range.Satisfies(catalogEntry.Version) && (includePrerelease || !version.IsPrerelease) && (includeUnlisted || listed)) { catalogEntry.ReportAbuseUrl = _reportAbuseResource?.GetReportAbuseUrl(catalogEntry.PackageId, catalogEntry.Version); catalogEntry.PackageDetailsUrl = _packageDetailsUriResource?.GetUri(catalogEntry.PackageId, catalogEntry.Version); catalogEntry = metadataCache.GetObject(catalogEntry); results.Add(catalogEntry); } } }