Loading backend/src/place/place.controller.ts +22 −6 Original line number Diff line number Diff line import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFile } from '@nestjs/common'; import { PlaceService } from './place.service'; import { CreatePlaceDto } from './dto/create-place.dto'; import { CreatePlaceDateTradDto } from './dto/create-place-date.dto'; import { UpdatePlaceDto } from './dto/update-place.dto'; import { ApiBearerAuth, ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger'; import { Roles } from 'src/auth/role.decorator'; import { ADMIN_ROLES } from 'src/shared/enum/admin-role.enum'; import { fileInterceptor } from 'src/shared/interceptors/file-save.interceptor'; import { FileValidationPipe } from 'src/shared/pipe/file-validation.pipe'; @Controller('place') @ApiTags('Place') export class PlaceController { constructor(private readonly placeService: PlaceService) {} @ApiBody({ type: CreatePlaceDateTradDto }) @ApiConsumes('multipart/form-data') @Roles(ADMIN_ROLES) @ApiBearerAuth('jwt') @Post() create(@Body() createPlaceDto: CreatePlaceDto) { return this.placeService.create(createPlaceDto); @UseInterceptors(fileInterceptor('image', 'static/place/', ['.jpg', '.jpeg', '.png'])) async create(@UploadedFile(new FileValidationPipe()) file, @Body() createPlaceDto: CreatePlaceDateTradDto) { createPlaceDto.image = file; return await this.placeService.create(createPlaceDto); } @Get() findAll() { async findAll() { try { return this.placeService.findAll(); } catch (e) { throw e; } } @Get(':id') Loading Loading
backend/src/place/place.controller.ts +22 −6 Original line number Diff line number Diff line import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common'; import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFile } from '@nestjs/common'; import { PlaceService } from './place.service'; import { CreatePlaceDto } from './dto/create-place.dto'; import { CreatePlaceDateTradDto } from './dto/create-place-date.dto'; import { UpdatePlaceDto } from './dto/update-place.dto'; import { ApiBearerAuth, ApiBody, ApiConsumes, ApiTags } from '@nestjs/swagger'; import { Roles } from 'src/auth/role.decorator'; import { ADMIN_ROLES } from 'src/shared/enum/admin-role.enum'; import { fileInterceptor } from 'src/shared/interceptors/file-save.interceptor'; import { FileValidationPipe } from 'src/shared/pipe/file-validation.pipe'; @Controller('place') @ApiTags('Place') export class PlaceController { constructor(private readonly placeService: PlaceService) {} @ApiBody({ type: CreatePlaceDateTradDto }) @ApiConsumes('multipart/form-data') @Roles(ADMIN_ROLES) @ApiBearerAuth('jwt') @Post() create(@Body() createPlaceDto: CreatePlaceDto) { return this.placeService.create(createPlaceDto); @UseInterceptors(fileInterceptor('image', 'static/place/', ['.jpg', '.jpeg', '.png'])) async create(@UploadedFile(new FileValidationPipe()) file, @Body() createPlaceDto: CreatePlaceDateTradDto) { createPlaceDto.image = file; return await this.placeService.create(createPlaceDto); } @Get() findAll() { async findAll() { try { return this.placeService.findAll(); } catch (e) { throw e; } } @Get(':id') Loading