UNPKG

@russ-b/nestjs-common-tools

Version:
24 lines (23 loc) 1.44 kB
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; }