1+ using System ;
2+ using System . Collections . Generic ;
3+ using System . IO ;
4+ using System . Threading ;
5+ using System . Threading . Tasks ;
6+
7+ namespace ManagedCode . Storage . Core
8+ {
9+ public interface IStorage : IDisposable
10+ {
11+ IAsyncEnumerable < Blob > GetBlobListAsync ( CancellationToken cancellationToken = default ) ;
12+ IAsyncEnumerable < Blob > GetBlob ( string blob , CancellationToken cancellationToken = default ) ;
13+ IAsyncEnumerable < Blob > GetBlob ( Blob blob , CancellationToken cancellationToken = default ) ;
14+ IAsyncEnumerable < Blob > GetBlob ( IEnumerable < string > blobs , CancellationToken cancellationToken = default ) ;
15+ IAsyncEnumerable < Blob > GetBlob ( IEnumerable < Blob > blobs , CancellationToken cancellationToken = default ) ;
16+
17+ Task UploadAsync ( string blob , Stream dataStream , bool append = false , CancellationToken cancellationToken = default ) ;
18+ Task UploadAsync ( string blob , string pathToFile , bool append = false , CancellationToken cancellationToken = default ) ;
19+ Task UploadAsync ( Blob blob , Stream dataStream , bool append = false , CancellationToken cancellationToken = default ) ;
20+ Task UploadAsync ( Blob blob , string pathToFile , bool append = false , CancellationToken cancellationToken = default ) ;
21+
22+ Task < Stream > DownloadAsStreamAsync ( string blob , CancellationToken cancellationToken = default ) ;
23+ Task < Stream > DownloadAsStreamAsync ( Blob blob , CancellationToken cancellationToken = default ) ;
24+ Task < LocalFile > DownloadAsync ( string blob , CancellationToken cancellationToken = default ) ;
25+ Task < LocalFile > DownloadAsync ( Blob blob , CancellationToken cancellationToken = default ) ;
26+
27+ Task DeleteAsync ( string blob , CancellationToken cancellationToken = default ) ;
28+ Task DeleteAsync ( Blob blob , CancellationToken cancellationToken = default ) ;
29+ Task DeleteAsync ( IEnumerable < string > blobs , CancellationToken cancellationToken = default ) ;
30+ Task DeleteAsync ( IEnumerable < Blob > blobs , CancellationToken cancellationToken = default ) ;
31+
32+ Task < bool > ExistsAsync ( string blob , CancellationToken cancellationToken = default ) ;
33+ Task < bool > ExistsAsync ( Blob blob , CancellationToken cancellationToken = default ) ;
34+ IAsyncEnumerable < bool > ExistsAsync ( IEnumerable < string > blobs , CancellationToken cancellationToken = default ) ;
35+ IAsyncEnumerable < bool > ExistsAsync ( IEnumerable < Blob > blobs , CancellationToken cancellationToken = default ) ;
36+
37+ }
38+
39+ public class Blob
40+ {
41+ public string Path { get ; set ; }
42+ }
43+ }
0 commit comments