chore: add service list fetch for admin with filters

This commit is contained in:
mahyargdz
2025-01-29 14:43:48 +03:30
parent 7ad744930b
commit b1d0c3c882
7 changed files with 70 additions and 37 deletions
@@ -0,0 +1,20 @@
import { ApiProperty } from "@nestjs/swagger";
import { IFile } from "../../utils/interfaces/IFile";
export class UploadSingleFileDto {
@ApiProperty({ type: "string", format: "binary", nullable: false })
file: IFile;
}
export class UploadMultipleFileDto {
@ApiProperty({
required: true,
type: "array",
items: {
type: "string",
format: "binary",
},
})
files: IFile[];
}
+6 -27
View File
@@ -2,7 +2,9 @@ import { FileInterceptor, FilesInterceptor } from "@nest-lab/fastify-multer";
import { Controller, Post, UploadedFile, UploadedFiles, UseInterceptors } from "@nestjs/common";
import { ApiBody, ApiConsumes, ApiOperation, ApiTags } from "@nestjs/swagger";
import { UploadMultipleFileDto, UploadSingleFileDto } from "./DTO/upload-file.dto";
import { UploaderService } from "./uploader.service";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { IFile } from "../utils/interfaces/IFile";
@ApiTags("Uploader")
@@ -10,45 +12,22 @@ import { IFile } from "../utils/interfaces/IFile";
export class UploaderController {
constructor(private readonly uploaderService: UploaderService) {}
@AuthGuards()
@ApiOperation({ summary: "Uploads a single file" })
@ApiConsumes("multipart/form-data")
@UseInterceptors(FileInterceptor("file"))
@ApiBody({
required: true,
schema: {
type: "object",
properties: {
file: {
type: "string",
format: "binary",
},
},
},
})
@ApiBody({ type: UploadSingleFileDto })
@Post("single-file")
async uploadFile(@UploadedFile() file: IFile) {
console.log(file);
return await this.uploaderService.upload(file);
}
@AuthGuards()
@ApiOperation({ summary: "Uploads multiple files" })
@ApiConsumes("multipart/form-data")
@UseInterceptors(FilesInterceptor("files"))
@ApiBody({
required: true,
schema: {
type: "object",
properties: {
files: {
type: "array",
items: {
type: "string",
format: "binary",
},
},
},
},
})
@ApiBody({ type: UploadMultipleFileDto })
@Post("multi-file")
async uploadFiles(@UploadedFiles() files: IFile[]) {
console.log({ files });