返回 AiToEarn
ali-oss.module.ts
根目录 / project / aitoearn-backend / libs / ali-oss / src / ali-oss.module.ts
1 import type { DynamicModule, Provider } from '@nestjs/common'
2 import { Global, Module } from '@nestjs/common'
3 import OSS from 'ali-oss'
4 import { AliOssConfig } from './ali-oss.config'
5 import { AliOssService } from './ali-oss.service'
6
7 @Global()
8 @Module({})
9 export class AliOssModule {
10 static forRoot(config: AliOssConfig): DynamicModule {
11 const providers: Provider[] = [
12 {
13 provide: AliOssConfig,
14 useValue: config,
15 },
16 {
17 provide: OSS,
18 useFactory: (ossConfig: AliOssConfig) => new OSS(ossConfig),
19 inject: [AliOssConfig],
20 },
21 AliOssService,
22 ]
23
24 return {
25 global: true,
26 module: AliOssModule,
27 providers,
28 exports: [AliOssService],
29 }
30 }
31 }
32
32 lines TYPESCRIPT