Add 's3.service.ts'

This commit is contained in:
Matthew Bessette 2022-02-14 06:24:27 +00:00
parent 5df2f284d5
commit 3e7e68c74a
1 changed files with 31 additions and 0 deletions

31
s3.service.ts Normal file
View File

@ -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<GetObjectCommandOutput> {
return this.s3Client.send(new GetObjectCommand(commandInput));
}
async putObject(commandInput: PutObjectCommandInput): Promise<PutObjectCommandOutput> {
return this.s3Client.send(new PutObjectCommand(commandInput));
}
async createMultiPartUpload(commandInput: CreateMultipartUploadCommandInput): Promise<CreateMultipartUploadCommandOutput> {
return this.s3Client.send(new CreateMultipartUploadCommand(commandInput));
}
async uploadPart(commandInput: UploadPartCommandInput): Promise<UploadPartCommandOutput> {
return this.s3Client.send(new UploadPartCommand(commandInput));
}
async completeMultiPartUpload(commandInput: CompleteMultipartUploadCommandInput): Promise<CompleteMultipartUploadCommandOutput> {
return this.s3Client.send(new CompleteMultipartUploadCommand(commandInput));
}
}