using TEAMModelOS.SDK.Module.AzureBlob.Container; using Microsoft.AspNetCore.Http; using System.Collections.Generic; using System.Threading.Tasks; using System.IO; using Microsoft.WindowsAzure.Storage.Blob; using TEAMModelOS.SDK.Module.AzureBlob.Configuration; namespace TEAMModelOS.SDK.Module.AzureBlob.Interfaces { public interface IAzureBlobDBRepository { Task> UploadFiles(IFormFile[] file ,string fileSpace="common" ,bool contentTypeDefault = false); Task UploadFile(IFormFile file, string fileSpace = "wordfiles", bool contentTypeDefault = true); Task UploadPath(string path, string fileSpace = "common", bool contentTypeDefault = false); Task UploadObject(string fileName, object obj, string fileSpace = "common", bool contentTypeDefault = true); Task UploadText(string fileName, string text, string fileSpace = "common", bool contentTypeDefault = true); Task UploadFileByFolder(Stream fileSteam, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true); Task UploadTextByFolder(string text, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true); AzureBlobModel UploadFileByFolderNAsyn(Stream fileSteam, string folder, string fileName, string fileSpace = "pptx", bool contentTypeDefault = true); Task GetBlobSasUri(string blobName, string containerName=null, string policyName = null); Task GetBlobSasUriRead(string containerName, string blobName, string policyName = null); Task<(string, string, string)> GetContainerSasUri(string containerName=null, string policyName = null); Task<(string, string)> GetContainerSasUriRead(string containerName, string policyName = null); Task CreateSharedAccessPolicyAsync(string policyName , string containerName = null); Task DeleteSharedAccessPolicyAsync(string policyName, string containerName = null); Task Deleteblob(string sasUri); Task> GetBlobDirectory(string containerName, string blobName); Task> GetBlobSasUri(BlobSas blobSas,bool isRead); Task> GetContainerSasUri(BlobSas blobSas, bool isRead); } }