nestjs-azure-storage-blob
Version:
Azure Blob Storage module for Nest.js
35 lines (34 loc) • 2.29 kB
TypeScript
import { AccountSASPermissionsLike, AccountSASResourceTypes, BlobGenerateSasUrlOptions, BlobItem, BlobSASPermissionsLike, BlobServiceClient, ContainerGenerateSasUrlOptions, ContainerSASPermissionsLike, ServiceGenerateAccountSasUrlOptions } from '@azure/storage-blob';
import { GetAccountSasUrlResponse, GetBlockBlobSasUrlResponse, GetContainerSasUrlResponse } from './azure-storage-blob.interface';
/**
* request headers
* https://learn.microsoft.com/rest/api/storageservices/put-blob#request-headers-all-blob-types
*/
export declare class AzureStorageBlobService {
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<import("@azure/storage-blob").BlobDeleteResponse>;
deleteFileIfExists(container: string, blob: string): Promise<import("@azure/storage-blob").BlobDeleteIfExistsResponse>;
downloadStream(container: string, blob: string): Promise<import("@azure/storage-blob").BlobDownloadResponseParsed>;
}