Loading backend/src/pointOfInterest/PointOfInterest.controller.ts 0 → 100644 +49 −0 Original line number Diff line number Diff line import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFile } from '@nestjs/common'; import { PointOfInterestService } from './PointOfInterest.service'; import { CreatePointAndTradDto } from './dto/create-pointAndTraduction.dto'; import { UpdatePointDto } from './dto/update-point.dto'; import { ApiBearerAuth, 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('point') @ApiTags('Point of interest') export class PointOfInterestController { constructor(private readonly activityService: PointOfInterestService) {} @ApiConsumes('multipart/form-data') @Roles(ADMIN_ROLES) @ApiBearerAuth('jwt') @Post() @UseInterceptors(fileInterceptor('image', 'static/points/', ['.jpg', '.jpeg', '.png'])) async create(@UploadedFile(new FileValidationPipe()) file, @Body() createActivityDto: CreatePointAndTradDto) { try { createActivityDto.image = file.filename; return await this.activityService.create(createActivityDto); } catch (error) { throw error; } } @Get() findAll() { return this.activityService.findAll(); } @Get(':id') findOne(@Param('id') id: string) { return this.activityService.findOne(+id); } @Patch(':id') update(@Param('id') id: string, @Body() updateActivityDto: UpdatePointDto) { return this.activityService.update(+id, updateActivityDto); } @Delete(':id') remove(@Param('id') id: string) { return this.activityService.remove(+id); } } Loading
backend/src/pointOfInterest/PointOfInterest.controller.ts 0 → 100644 +49 −0 Original line number Diff line number Diff line import { Controller, Get, Post, Body, Patch, Param, Delete, UseInterceptors, UploadedFile } from '@nestjs/common'; import { PointOfInterestService } from './PointOfInterest.service'; import { CreatePointAndTradDto } from './dto/create-pointAndTraduction.dto'; import { UpdatePointDto } from './dto/update-point.dto'; import { ApiBearerAuth, 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('point') @ApiTags('Point of interest') export class PointOfInterestController { constructor(private readonly activityService: PointOfInterestService) {} @ApiConsumes('multipart/form-data') @Roles(ADMIN_ROLES) @ApiBearerAuth('jwt') @Post() @UseInterceptors(fileInterceptor('image', 'static/points/', ['.jpg', '.jpeg', '.png'])) async create(@UploadedFile(new FileValidationPipe()) file, @Body() createActivityDto: CreatePointAndTradDto) { try { createActivityDto.image = file.filename; return await this.activityService.create(createActivityDto); } catch (error) { throw error; } } @Get() findAll() { return this.activityService.findAll(); } @Get(':id') findOne(@Param('id') id: string) { return this.activityService.findOne(+id); } @Patch(':id') update(@Param('id') id: string, @Body() updateActivityDto: UpdatePointDto) { return this.activityService.update(+id, updateActivityDto); } @Delete(':id') remove(@Param('id') id: string) { return this.activityService.remove(+id); } }