@tweedegolf/sab-adapter-azure-blob
Version:
Provides an abstraction layer for interacting with Microsoft Azure Blob Storage cloud service.
62 lines (61 loc) • 4.59 kB
TypeScript
import { AdapterConfig, IAdapter, Options, Provider, StreamOptions } from "./types/general";
import { FileBufferParams, FilePathParams, FileStreamParams } from "./types/add_file_params";
import { ResultObject, ResultObjectBoolean, ResultObjectBuckets, ResultObjectFiles, ResultObjectNumber, ResultObjectObject, ResultObjectStream } from "./types/result";
export declare abstract class AbstractAdapter implements IAdapter {
protected _provider: Provider;
protected _config: AdapterConfig;
protected _client: any;
protected _configError: null | string;
protected _bucketName: null | string;
constructor(config: string | AdapterConfig);
get provider(): Provider;
getProvider(): Provider;
get config(): AdapterConfig;
getConfig(): AdapterConfig;
get configError(): null | string;
getConfigError(): null | string;
get serviceClient(): any;
getServiceClient(): any;
setSelectedBucket(bucketName: null | string): void;
getSelectedBucket(): null | string;
set selectedBucket(bucketName: null | string);
get selectedBucket(): null | string;
set bucketName(bucketName: null | string);
get bucketName(): null | string;
private getFileAndBucketAndOptions;
private checkBucket;
private checkFile;
protected abstract _listBuckets(): Promise<ResultObjectBuckets>;
protected abstract _createBucket(name: string, options: Options): Promise<ResultObject>;
protected abstract _clearBucket(name: string): Promise<ResultObject>;
protected abstract _deleteBucket(name: string): Promise<ResultObject>;
protected abstract _bucketExists(name: string): Promise<ResultObjectBoolean>;
protected abstract _bucketIsPublic(name: string): Promise<ResultObjectBoolean>;
protected abstract _listFiles(bucketName: string, numFiles: number): Promise<ResultObjectFiles>;
protected abstract _sizeOf(bucketName: string, fileName: string): Promise<ResultObjectNumber>;
protected abstract _addFile(params: FilePathParams | FileBufferParams | FileStreamParams): Promise<ResultObject>;
protected abstract _fileExists(bucketName: string, fileName: string): Promise<ResultObjectBoolean>;
protected abstract _getFileAsStream(bucketName: string, fileName: string, options: StreamOptions): Promise<ResultObjectStream>;
protected abstract _getPublicURL(bucketName: string, fileName: string, options: Options): Promise<ResultObject>;
protected abstract _getSignedURL(bucketName: string, fileName: string, options: Options): Promise<ResultObject>;
protected abstract _removeFile(bucketName: string, fileName: string): Promise<ResultObject>;
protected abstract _getPresignedUploadURL(bucketName: string, fileName: string, options: Options): Promise<ResultObjectObject>;
listBuckets(): Promise<ResultObjectBuckets>;
createBucket(...args: [bucketName?: string, options?: Options] | [options?: Options]): Promise<ResultObject>;
clearBucket(name?: string): Promise<ResultObject>;
deleteBucket(name?: string): Promise<ResultObject>;
bucketExists(name?: string): Promise<ResultObjectBoolean>;
bucketIsPublic(name?: string): Promise<ResultObjectBoolean>;
listFiles(...args: [bucketName?: string, numFiles?: number] | [numFiles?: number] | [bucketName?: string]): Promise<ResultObjectFiles>;
addFileFromPath(params: FilePathParams): Promise<ResultObject>;
addFileFromBuffer(params: FileBufferParams): Promise<ResultObject>;
addFileFromStream(params: FileStreamParams): Promise<ResultObject>;
addFile(params: FilePathParams | FileBufferParams | FileStreamParams): Promise<ResultObject>;
getFileAsStream(...args: [bucketName: string, fileName: string, options?: StreamOptions] | [fileName: string, options?: StreamOptions]): Promise<ResultObjectStream>;
getPublicURL(...args: [bucketName: string, fileName: string, options?: Options] | [fileName: string, options?: Options]): Promise<ResultObject>;
getSignedURL(...args: [bucketName: string, fileName: string, options?: Options] | [fileName: string, options?: Options]): Promise<ResultObject>;
sizeOf(...args: [bucketName: string, fileName: string] | [fileName: string]): Promise<ResultObjectNumber>;
fileExists(...args: [bucketName: string, fileName: string] | [fileName: string]): Promise<ResultObjectBoolean>;
removeFile(...args: [bucketName: string, fileName: string] | [fileName: string]): Promise<ResultObject>;
getPresignedUploadURL(...args: [bucketName: string, fileName: string, options?: Options] | [fileName: string, options?: Options]): Promise<ResultObjectObject>;
}