示例#1
0
        public async Task <ActionResult <PackageVersionsResponse> > GetPackageVersionsAsync(string id, CancellationToken cancellationToken)
        {
            var versions = await _content.GetPackageVersionsOrNullAsync(id, cancellationToken);

            if (versions == null)
            {
                return(NotFound());
            }

            return(versions);
        }
示例#2
0
        public async Task <IReadOnlyList <NuGetVersion> > FindPackageVersionsOrNullAsync(
            string id,
            CancellationToken cancellationToken)
        {
            var response = await _upstreamContent.GetPackageVersionsOrNullAsync(id, cancellationToken);

            if (response == null)
            {
                return(null);
            }

            // Merge the local package versions into the upstream package versions.
            var localPackages = await _localPackages.FindAsync(id, includeUnlisted : true);

            var localVersions = localPackages.Select(p => p.Version);

            return(response.Versions.Concat(localVersions).Distinct().ToList());
        }