mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 12:50:38 +00:00
31 lines
737 B
TypeScript
31 lines
737 B
TypeScript
import { Module } from '@nestjs/common';
|
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
import { ConfigService } from '@nestjs/config';
|
|
|
|
export const S3_CLIENT = 'S3_CLIENT';
|
|
|
|
const services = [
|
|
{
|
|
provide: S3_CLIENT,
|
|
inject: [ConfigService],
|
|
useFactory: (configService: ConfigService) => {
|
|
const config = configService.get('s3');
|
|
|
|
return new S3Client({
|
|
region: config.region,
|
|
credentials: {
|
|
accessKeyId: config.accessKeyId,
|
|
secretAccessKey: config.secretAccessKey,
|
|
},
|
|
endpoint: config.endpoint,
|
|
forcePathStyle: config.forcePathStyle,
|
|
});
|
|
},
|
|
},
|
|
];
|
|
@Module({
|
|
providers: [...services],
|
|
exports: [...services],
|
|
})
|
|
export class S3Module {}
|