UNPKG

nestjs-storage-blob

Version:
82 lines (75 loc) 4.05 kB
import * as _azure_storage_blob from '@azure/storage-blob'; import { StoragePipelineOptions, BlobServiceClient, AccountSASResourceTypes, AccountSASPermissionsLike, ServiceGenerateAccountSasUrlOptions, ContainerSASPermissionsLike, ContainerGenerateSasUrlOptions, BlobSASPermissionsLike, BlobGenerateSasUrlOptions, BlobItem } from '@azure/storage-blob'; import { Scope, ModuleMetadata, Type, DynamicModule } from '@nestjs/common'; declare const STORAGE_BLOB_CLIENT = "STORAGE_BLOB_CLIENT"; declare const STORAGE_BLOB_OPTIONS = "STORAGE_BLOB_OPTIONS"; declare const CONNECTION_VARIABLE = "NEST_STORAGE_BLOB_CONNECTION"; declare function InjectStorageBlob(): (target: object, key: string | symbol | undefined, index?: number | undefined) => void; type PartialModuleOptions = { storageOptions?: StoragePipelineOptions; scope?: Scope; connection: string; }; type ModuleOptions = PartialModuleOptions & { isGlobal?: boolean; }; type InstantiateOptions = Pick<ModuleOptions, 'connection' | 'storageOptions'>; type OptionsFactory = { createOptions(): Promise<PartialModuleOptions> | PartialModuleOptions; }; type ModuleAsyncOptions = Pick<ModuleMetadata, 'imports'> & { isGlobal?: boolean; useExisting?: Type<OptionsFactory>; useClass?: Type<OptionsFactory>; useFactory?: (...args: any[]) => Promise<PartialModuleOptions> | PartialModuleOptions; inject?: any[]; scope?: Scope; }; type GetAccountSasUrlResponse = { sasUrl: string; headers: Record<string, string | number>; }; type GetContainerSasUrlResponse = { sasUrl: string; headers: Record<string, string | number>; }; type GetBlockBlobSasUrlResponse = { sasUrl: string; headers: Record<string, string | number>; }; declare class StorageBlobModule { static forRoot(options: ModuleOptions): DynamicModule; static forRootAsync(options: ModuleAsyncOptions): DynamicModule; private static createAsyncProviders; private static createAsyncOptionsProvider; private static instantiate; } declare class StorageBlobService { private readonly blobServiceClient; private containerName?; constructor(blobServiceClient: BlobServiceClient); getClient(): BlobServiceClient; getContainerName(): string | undefined; convertToResourceTypes(resourceTypeMap?: Omit<AccountSASResourceTypes, 'toString'>): string; getAccountSasUrl(expiresOn?: Date, permissions?: AccountSASPermissionsLike, resourceTypeMap?: Omit<AccountSASResourceTypes, 'toString'>, options?: ServiceGenerateAccountSasUrlOptions): GetAccountSasUrlResponse; getContainerSasUrl(containerName: string, permissions?: ContainerSASPermissionsLike, options?: Omit<ContainerGenerateSasUrlOptions, 'permissions'>): Promise<GetContainerSasUrlResponse>; getBlockBlobSasUrl(containerName: string, blobName: string, permissions?: BlobSASPermissionsLike, options?: Omit<BlobGenerateSasUrlOptions, 'permissions'>): Promise<GetBlockBlobSasUrlResponse>; getUploadable(containerName: string, blobName: string, expiresIn?: number): Promise<{ upload: { method: string; url: string; headers: Record<string, string | number>; expiresIn: number; }; download: { method: string; url: string; expiresIn: number; }; }>; listFiles(destination: string, containerName: string): Promise<BlobItem[]>; deleteFile(container: string, blob: string): Promise<_azure_storage_blob.BlobDeleteResponse>; deleteFileIfExists(container: string, blob: string): Promise<_azure_storage_blob.BlobDeleteIfExistsResponse>; downloadStream(container: string, blob: string): Promise<_azure_storage_blob.BlobDownloadResponseParsed>; } export { CONNECTION_VARIABLE, GetAccountSasUrlResponse, GetBlockBlobSasUrlResponse, GetContainerSasUrlResponse, InjectStorageBlob, InstantiateOptions, ModuleAsyncOptions, ModuleOptions, OptionsFactory, PartialModuleOptions, STORAGE_BLOB_CLIENT, STORAGE_BLOB_OPTIONS, StorageBlobModule, StorageBlobService };