ERROR [ExceptionHandler] Nest can't resolve dependencies of the FilesService

ERROR [ExceptionHandler] Nest can't resolve dependencies of the FilesService (?). Please make sure that the argument fileRepository at index [0] is available in the FilesModule context.

FileModule

import { Module } from '@nestjs/common';
import { FilesService } from './files.service';

@Module({
      controllers: [],
      providers: [FilesService],
      exports:[FilesService]
})
export class FilesModule {}

FileService

import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/sequelize';
import { file } from './files.model';
import * as fs from 'fs'
import * as path from 'path'
import * as uuid from 'uuid'
import { FileType } from './File.Types';
import { CreateFileDto } from './dto/CreateFile.dto';
import { CreateTodoDto } from 'src/todos/dto/CreateTodo.dto';

@Injectable()
export class FilesService {
    constructor(@InjectModel(file) private FileProvider: typeof file){}

    readonly fileExtensions: Array<string> = ['jpeg', 'jpg', 'gif', 'png', 'svg']

    async UploadFiles(dto: CreateTodoDto, Files: Array<Express.Multer.File>){
       let i: number = 0
       for(i=0;i<Files.length;i++)
       {
           await this.UploadFile(dto, Files[i])
       }
    }

    async UploadFile(dto: CreateTodoDto, File: Express.Multer.File){
       try{
           const TypeFile = File.originalname.split('.').pop()
           const FileName = uuid.v4() + TypeFile
           const fileType: FileType = 
               this.fileExtensions.includes(TypeFile) ? FileType.image : FileType.other;

           let FileDto: CreateFileDto = new CreateFileDto(dto.TodoId, FileName, fileType)

           const FilePath = path.resolve(__dirname, '..', 'static')
           if(!fs.existsSync(FilePath)){
               fs.mkdirSync(FilePath, {recursive: true})
           }
           fs.writeFileSync(path.join(FilePath, FileName), File.buffer)

           await this.FileProvider.create(FileDto)
        
        }catch(e){
           throw new HttpException('Ошибка при записи файла на диск', HttpStatus.INTERNAL_SERVER_ERROR)
        }
     }
}

Если из FileModule из Providers убрать FilesService то ошибки не возникает


Ответы (1 шт):

Автор решения: write

добавить в модуль

imports: [
    SequelizeModule.forFeature([file])
  ]
→ Ссылка