using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using xFileService.Models.Dtos; using xFileService.Models.Entities; using xFileService.Providers.Dtos; using xIdentityModels.Models; using xIdentityService.Interfaces; using xTagService.Interfaces; namespace xFileService.Interfaces { public interface IXFileProvider : IXBaseProvidedHasTag, IXBaseReferenced { // #region Tools ... /// /// Stream Specified File ... /// /// /// /// Task Stream( Guid id, CancellationToken cancellationToken = default ); /// /// Stream Specified File ... /// /// /// /// Task Stream( string name, CancellationToken cancellationToken = default ); /// /// Download Specified File ... /// /// /// /// Task Download( Guid id, CancellationToken cancellationToken = default ); /// /// Download Specified File ... /// /// /// /// Task Download( string name, CancellationToken cancellationToken = default ); /// /// Upload Files ... /// /// /// /// /// /// Task> Upload( IFormFileCollection files, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Remove Specified Files ... /// /// /// /// /// /// Task> Remove( string ids, XUserClaimsInfoDto userInfo = null, string connectionId = null, CancellationToken cancellationToken = default ); /// /// Retrieve Specified File Streaming Info ... /// /// /// /// Task GetFileDescriptor( Guid id, CancellationToken cancellationToken = default ); /// /// Retrieve Specified File Streaming Info ... /// /// /// /// Task GetFileDescriptor( string fileName, CancellationToken cancellationToken = default ); #endregion } }