using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using xFileService.Models.Dtos;
using xIdentityModels.Models;
using xIdentityService.Interfaces;
using XFileDto = xFileService.Models.Dtos.XFileDto;
namespace xFileService.Interfaces
{
///
/// Implementing XBaseFileProvider ...
///
///
public interface IXBaseFileProvider : IXIdentityBaseReferencedProvider
{
//
#region Props ...
///
/// Specified Provider Repositroy ...
///
IXFileProvider FileProvider { get; }
#endregion
//
#region Tools ...
///
/// Stream Specified File ...
///
///
///
Task Stream(Guid id);
///
/// Stream Specified File ...
///
///
///
Task Stream(string fileName);
///
/// Download Specified File ...
///
///
///
Task Download(Guid id);
///
/// Download Specified File ...
///
///
///
Task Download(string fileName);
///
/// Upload Files ...
///
///
///
///
///
///
Task> Upload(
TKey forProvidedId,
IFormFileCollection files,
string connectionId = null,
XUserClaimsInfoDto userInfo = null
);
///
/// Retrieve Specified File Streaming Info ...
///
///
///
Task GetFileDescriptor(Guid id);
///
/// Retrieve Specified File Streaming Info ...
///
///
///
Task GetFileDescriptor(string fileName);
#endregion
}
}