upload fix bug

This commit is contained in:
2025-12-14 11:37:55 +03:30
parent a1c74a78a9
commit 1d4a50f91f
3 changed files with 41 additions and 16 deletions
@@ -1,33 +1,57 @@
import { type File, FileInterceptor, FilesInterceptor } from '@nest-lab/fastify-multer';
import { Controller, Post, UploadedFile, UploadedFiles, UseGuards, UseInterceptors } from '@nestjs/common';
import { ApiBody, ApiConsumes, ApiOperation, ApiBearerAuth, ApiTags, ApiHeader } from '@nestjs/swagger';
import { ApiBody, ApiConsumes, ApiOperation, ApiBearerAuth, ApiTags } from '@nestjs/swagger';
import { UploadMultipleFileDto, UploadSingleFileDto } from '../DTO/upload-file.dto';
import { UploaderService } from '../providers/uploader.service';
import { AdminAuthGuard } from '../../auth/guards/adminAuth.guard';
import { AuthGuard } from '../../auth/guards/auth.guard';
@UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@ApiTags('uploader')
@Controller('uploader')
@Controller()
export class UploaderController {
constructor(private readonly uploaderService: UploaderService) {}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Upload a file (admin)' })
@ApiConsumes('multipart/form-data')
@UseInterceptors(FileInterceptor('file'))
@ApiBody({ type: UploadSingleFileDto })
@Post('single-file')
@Post('public/single-file')
uploadFile(@UploadedFile() file: File) {
return this.uploaderService.uploadFile(file);
}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Uploads multiple files' })
@ApiConsumes('multipart/form-data')
@UseInterceptors(FilesInterceptor('files'))
@ApiBody({ type: UploadMultipleFileDto })
@Post('multi-file')
@Post('public/multi-file')
uploadFiles(@UploadedFiles() files: File[]) {
return this.uploaderService.uploadMultiple(files);
}
@UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Upload a file (admin)' })
@ApiConsumes('multipart/form-data')
@UseInterceptors(FileInterceptor('file'))
@ApiBody({ type: UploadSingleFileDto })
@Post('admin/single-file')
uploadFileAdmin(@UploadedFile() file: File) {
return this.uploaderService.uploadFile(file);
}
@UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Uploads multiple files' })
@ApiConsumes('multipart/form-data')
@UseInterceptors(FilesInterceptor('files'))
@ApiBody({ type: UploadMultipleFileDto })
@Post('admin/multi-file')
uploadFilesAdmin(@UploadedFiles() files: File[]) {
return this.uploaderService.uploadMultiple(files);
}
}