Files
bigcapital/packages/server/src/modules/S3/S3.module.ts
2025-04-07 11:51:24 +02:00

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 {}