Как мы можем получить доступ к этому контроллеру nestjs

#nestjs

Вопрос:

У меня есть свойство ConfigService, и я хочу получить доступ к этому свойству внутри объекта. Как я могу это сделать?

Это свойство в конструкторе:

 @Controller('user')
export class UserController {
  
    constructor(
  private  userService:UserService,
  private  configService:ConfigService

    ){
      
    }

    
    
    @UseGuards(JwtAuthGuard)
    @Get()
    say(@CurrentUser() user){
      return 'hello user you are ' user.profil ' and your id info is ' user.userProfil.id  ' ' this.configService.get('DEST_FORMATIONS')
    } 
 

здесь это работает, и он выводит переменную DEST_FORMATIONS файла .env

но здесь это не работает

 @UseInterceptors(FileInterceptor('file', {
 
  storage:diskStorage({destination:  this.configService.get('DEST_FORMATIONS'), ...
 

Как я могу это сделать?

Комментарии:

1. почему бы не настроить это место назначения по умолчанию? docs.nestjs.com/techniques/file-upload#async-configuration

Ответ №1:

Если вы хотите использовать конфигурацию вне контейнера IoC Nest, вы можете попробовать nest-typed-config:

 import { selectConfig } from 'nest-typed-config';
import { ConfigModule, FileConfig } from '@/module/config';

const fileConfig = selectConfig(ConfigModule, FileConfig);

@UseInterceptors(FileInterceptor('file', {
  storage: diskStorage({
    destination: fileConfig.destination
  })
}))