icon batch uploader

This commit is contained in:
2026-04-19 16:22:37 +03:30
parent 5d1a6ec901
commit ff2e158081
5 changed files with 74 additions and 8 deletions
@@ -1,14 +1,17 @@
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFiles } from '@nestjs/common';
import { IconService } from '../providers/icon.service';
import { GroupService } from '../providers/group.service';
import { CreateIconDto } from '../dto/create-icon.dto';
import { UpdateIconDto } from '../dto/update-icon.dto';
import { CreateGroupDto } from '../dto/create-group.dto';
import { UpdateGroupDto } from '../dto/update-group.dto';
import { ApiTags, ApiOperation, ApiParam, ApiBody, ApiBearerAuth } from '@nestjs/swagger';
import { ApiTags, ApiOperation, ApiParam, ApiBody, ApiBearerAuth, ApiConsumes } from '@nestjs/swagger';
import { SuperAdminAuthGuard } from 'src/modules/auth/guards/superAdminAuth.guard';
import { UseGuards } from '@nestjs/common';
import { AdminAuthGuard } from 'src/modules/auth/guards/adminAuth.guard';
import { FilesInterceptor } from '@nest-lab/fastify-multer';
import { File } from '@nest-lab/fastify-multer';
import { CreateBatchIconsDto } from '../dto/create-batch-icons.dto';
@ApiTags('icons')
@Controller()
@@ -16,7 +19,7 @@ export class IconsController {
constructor(
private readonly iconService: IconService,
private readonly groupService: GroupService,
) {}
) { }
@Get('admin/groups/icons')
@UseGuards(AdminAuthGuard)
@@ -111,4 +114,16 @@ export class IconsController {
removeGroup(@Param('id') id: string) {
return this.groupService.remove(id);
}
@Post('super-admin/icons/batch')
@UseGuards(SuperAdminAuthGuard)
@ApiOperation({ summary: 'Upload batch icons' })
@ApiConsumes('multipart/form-data')
@ApiBody({
type: CreateBatchIconsDto
})
@UseInterceptors(FilesInterceptor('files', 50))
uploadBatchIcons(@UploadedFiles() files: File[], @Body('groupId') groupId: string,) {
return this.iconService.uploadBatchIcons(groupId,files);
}
}