/// <summary>
        /// Check if a package exists.
        /// </summary>
        /// <param name="packageId">The package ID.</param>
        /// <param name="cancellationToken">A token to cancel the task.</param>
        /// <returns>Whether the package exists.</returns>
        public virtual async Task <bool> ExistsAsync(
            string packageId,
            CancellationToken cancellationToken = default)
        {
            var versions = await _contentClient.GetPackageVersionsOrNullAsync(packageId, cancellationToken);

            return(versions != null && versions.Versions.Any());
        }
Ejemplo n.º 2
0
        private async Task <IReadOnlyList <NuGetVersion> > GetAllVersionsFromPackageContentResourceAsync(string packageId, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var packageContentUrl = await _serviceIndexService.GetPackageContentUrlAsync();

            var requestUrl = $"{packageContentUrl}/{packageId.ToLowerInvariant()}/index.json";

            var result = await _packageContentClient.GetPackageVersionsOrNullAsync(requestUrl);

            if (result == null)
            {
                return(new NuGetVersion[0]);
            }

            return(result.Versions);
        }