From 3e7e68c74ac1d2ae579cc9340d1f42ee83673f0f Mon Sep 17 00:00:00 2001 From: Matthew Bessette Date: Mon, 14 Feb 2022 06:24:27 +0000 Subject: [PATCH] Add 's3.service.ts' --- s3.service.ts | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 s3.service.ts diff --git a/s3.service.ts b/s3.service.ts new file mode 100644 index 0000000..5299ec4 --- /dev/null +++ b/s3.service.ts @@ -0,0 +1,31 @@ +import { CompleteMultipartUploadCommand, CompleteMultipartUploadCommandInput, CompleteMultipartUploadCommandOutput, CreateMultipartUploadCommand, CreateMultipartUploadCommandInput, CreateMultipartUploadCommandOutput, GetObjectCommand, GetObjectCommandInput, GetObjectCommandOutput, PutObjectCommand, PutObjectCommandInput, PutObjectCommandOutput, S3Client, UploadPartCommand, UploadPartCommandInput, UploadPartCommandOutput } from '@aws-sdk/client-s3'; +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class S3Service { + + constructor( + private readonly s3Client: S3Client, + ) { } + + async getObject(commandInput: GetObjectCommandInput): Promise { + return this.s3Client.send(new GetObjectCommand(commandInput)); + } + + async putObject(commandInput: PutObjectCommandInput): Promise { + return this.s3Client.send(new PutObjectCommand(commandInput)); + } + + async createMultiPartUpload(commandInput: CreateMultipartUploadCommandInput): Promise { + return this.s3Client.send(new CreateMultipartUploadCommand(commandInput)); + } + + async uploadPart(commandInput: UploadPartCommandInput): Promise { + return this.s3Client.send(new UploadPartCommand(commandInput)); + } + + async completeMultiPartUpload(commandInput: CompleteMultipartUploadCommandInput): Promise { + return this.s3Client.send(new CompleteMultipartUploadCommand(commandInput)); + } + +}