public Task <Stream> DownloadValidationPackageFileAsync(Package package)
        {
            var fileName = FileNameHelper.BuildFileName(
                package,
                _metadata.FileSavePathTemplate,
                _metadata.FileExtension);

            return(_fileStorageService.GetFileAsync(_metadata.ValidationFolderName, fileName));
        }
        public Task <Uri> GetValidationPackageReadUriAsync(Package package, DateTimeOffset endOfAccess)
        {
            package = package ?? throw new ArgumentNullException(nameof(package));

            var fileName = FileNameHelper.BuildFileName(
                package,
                _metadata.FileSavePathTemplate,
                _metadata.FileExtension);

            return(_fileStorageService.GetFileReadUriAsync(_metadata.ValidationFolderName, fileName, endOfAccess));
        }
        public Task SavePackageFileAsync(Package package, Stream packageFile, bool overwrite)
        {
            if (packageFile == null)
            {
                throw new ArgumentNullException(nameof(packageFile));
            }

            var fileName = FileNameHelper.BuildFileName(package, _metadata.FileSavePathTemplate, _metadata.FileExtension);

            return(_fileStorageService.SaveFileAsync(_metadata.FileFolderName, fileName, packageFile, overwrite));
        }
Exemplo n.º 4
0
        /// <summary>
        /// Deletes the package readme.md file from storage.
        /// </summary>
        /// <param name="package">The package associated with the readme.</param>
        public Task DeleteReadMeMdFileAsync(Package package)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            var fileName = FileNameHelper.BuildFileName(package, ReadMeFilePathTemplateActive, ServicesConstants.MarkdownFileExtension);

            return(_fileStorageService.DeleteFileAsync(CoreConstants.Folders.PackageReadMesFolderName, fileName));
        }
Exemplo n.º 5
0
        /// <summary>
        /// Saves the package readme.md file to storage.
        /// </summary>
        /// <param name="package">The package associated with the readme.</param>
        /// <param name="readMeMd">Markdown content.</param>
        public async Task SaveReadMeMdFileAsync(Package package, string readMeMd)
        {
            if (string.IsNullOrWhiteSpace(readMeMd))
            {
                throw new ArgumentNullException(nameof(readMeMd));
            }

            var fileName = FileNameHelper.BuildFileName(package, ReadMeFilePathTemplateActive, ServicesConstants.MarkdownFileExtension);

            using (var readMeMdStream = new MemoryStream(Encoding.UTF8.GetBytes(readMeMd)))
            {
                await _fileStorageService.SaveFileAsync(CoreConstants.Folders.PackageReadMesFolderName, fileName, readMeMdStream, overwrite : true);
            }
        }
        public Task DeleteValidationPackageFileAsync(string id, string version)
        {
            if (version == null)
            {
                throw new ArgumentNullException(nameof(version));
            }

            var normalizedVersion = NuGetVersionFormatter.Normalize(version);
            var fileName          = FileNameHelper.BuildFileName(
                id,
                normalizedVersion,
                _metadata.FileSavePathTemplate,
                _metadata.FileExtension);

            return(_fileStorageService.DeleteFileAsync(_metadata.ValidationFolderName, fileName));
        }
        /// <summary>
        /// Saves the package readme.md file to storage. This method should throw if the package
        /// does not have an embedded readme file
        /// </summary>
        /// <param name="package">The package associated with the readme.</param>
        /// <param name="readmeFile">The content of readme file.</param>
        public Task SaveReadmeFileAsync(Package package, Stream readmeFile)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            if (readmeFile == null)
            {
                throw new ArgumentNullException(nameof(readmeFile));
            }

            if (package.EmbeddedReadmeType == EmbeddedReadmeFileType.Absent)
            {
                throw new ArgumentException("Package must have an embedded readme", nameof(package));
            }

            var fileName = FileNameHelper.BuildFileName(package, ReadMeFilePathTemplateActive, ServicesConstants.MarkdownFileExtension);

            return(_fileStorageService.SaveFileAsync(CoreConstants.Folders.PackageReadMesFolderName, fileName, readmeFile, overwrite: true));
        }
Exemplo n.º 8
0
        /// <summary>
        /// Downloads the readme.md from storage.
        /// </summary>
        /// <param name="package">The package associated with the readme.</param>
        public async Task <string> DownloadReadMeMdFileAsync(Package package)
        {
            if (package == null)
            {
                throw new ArgumentNullException(nameof(package));
            }

            var fileName = FileNameHelper.BuildFileName(package, ReadMeFilePathTemplateActive, ServicesConstants.MarkdownFileExtension);

            using (var readMeMdStream = await _fileStorageService.GetFileAsync(CoreConstants.Folders.PackageReadMesFolderName, fileName))
            {
                // Note that fileStorageService implementations return null if not found.
                if (readMeMdStream != null)
                {
                    using (var readMeMdReader = new StreamReader(readMeMdStream))
                    {
                        return(await readMeMdReader.ReadToEndAsync());
                    }
                }
            }

            return(null);
        }
Exemplo n.º 9
0
 private string BuildReadmeFileName(string id, string version)
 => FileNameHelper.BuildFileName(id, version, ReadmePathTemplate, string.Empty);
Exemplo n.º 10
0
 private string BuildReadmeFileName(Package package)
 => FileNameHelper.BuildFileName(package, ReadmePathTemplate, string.Empty);
        public Task <bool> DoesPackageFileExistAsync(Package package)
        {
            var fileName = FileNameHelper.BuildFileName(package, _metadata.FileSavePathTemplate, _metadata.FileExtension);

            return(_fileStorageService.FileExistsAsync(_metadata.FileFolderName, fileName));
        }
        public Task <Uri> GetPackageReadUriAsync(Package package)
        {
            var fileName = FileNameHelper.BuildFileName(package, _metadata.FileSavePathTemplate, _metadata.FileExtension);

            return(_fileStorageService.GetFileReadUriAsync(_metadata.FileFolderName, fileName, endOfAccess: null));
        }
 private string BuildLicenseFileName(string id, string version)
 => FileNameHelper.BuildFileName(id, version, LicensePathTemplate, string.Empty);
 private string BuildLicenseFileName(Package package)
 => FileNameHelper.BuildFileName(package, LicensePathTemplate, string.Empty);
        public Task <ActionResult> CreateDownloadSymbolPackageActionResultAsync(Uri requestUrl, string id, string version)
        {
            var fileName = FileNameHelper.BuildFileName(id, version, CoreConstants.PackageFileSavePathTemplate, CoreConstants.NuGetSymbolPackageFileExtension);

            return(_fileStorageService.CreateDownloadFileActionResultAsync(requestUrl, CoreConstants.Folders.SymbolPackagesFolderName, fileName));
        }