File: /var/www/api-storage/src/modules/storage/storage.module.ts
import { Module } from '@nestjs/common';
import { FileController } from './api/controllers/file.controller';
import { MinioProvider } from './infrastructure/minio/minio.config';
import { MinioFileRepository } from './infrastructure/repositories/file.repository';
import { UploadFileUseCase } from './application/use-cases/upload-file.usecase';
import { FILE_REPOSITORY } from './core/constants';
import { UploadFilesUseCase } from './application/use-cases/upload-files.usecase';
import { GetFileUseCase } from './application/use-cases/get-file.usecase';
import { DeleteFileUseCase } from './application/use-cases/delete-file.usecase';
@Module({
controllers: [FileController],
providers: [
MinioProvider,
MinioFileRepository,
{
provide: FILE_REPOSITORY,
useExisting: MinioFileRepository,
},
UploadFileUseCase,
UploadFilesUseCase,
GetFileUseCase,
DeleteFileUseCase,
],
exports: [MinioProvider, FILE_REPOSITORY],
})
export class StorageModule {}