@russ-b/nestjs-common-tools
Version:
NestJS utility tools
24 lines (23 loc) • 1.44 kB
TypeScript
import { S3Client } from '@aws-sdk/client-s3';
import { S3Body, S3CopyObjectOptions, S3CopyObjectResult, S3DeleteObjectResult, S3GetObjectResult, S3ListObjectsOptions, S3ListObjectsResult, S3ModuleOptions, S3ObjectOptions, S3PutObjectResult, S3SignedUrlOptions, S3UploadOptions, S3UploadResult } from './s3.interface';
export declare class S3Service {
private readonly options;
private readonly s3Client;
private readonly logger?;
constructor(options: S3ModuleOptions, s3Client: S3Client);
upload(key: string, body: S3Body, options?: S3UploadOptions): Promise<S3UploadResult>;
putObject(key: string, body: S3Body, options?: S3UploadOptions): Promise<S3PutObjectResult>;
uploadObject(key: string, body: S3Body, options?: S3UploadOptions): Promise<S3PutObjectResult>;
deleteObject(key: string, options?: S3ObjectOptions): Promise<S3DeleteObjectResult>;
copyObject(sourceKey: string, destinationKey: string, options?: S3CopyObjectOptions): Promise<S3CopyObjectResult>;
getObject(key: string, options?: S3ObjectOptions): Promise<S3GetObjectResult>;
listObjects(options?: S3ListObjectsOptions): Promise<S3ListObjectsResult>;
getSignedUrl(key: string, options?: S3SignedUrlOptions): Promise<string>;
private createCopyObjectParams;
private createPutObjectParams;
private buildCopySource;
private resolveBucket;
private resolveSigningClient;
private log;
private logError;
}