Loading backend/src/visited/visited.controller.ts +7 −14 Original line number Diff line number Diff line Loading @@ -24,22 +24,15 @@ export class VisitedController { } @Get('/getImage/:routeId') async getVisitedPlacesImage(@Param('routeId') routeId: string) { async getVisitedPlacesImage() { return await this.visitedService.getVisitedPlacesImage(); } @Get() findAll() { return this.visitedService.findAll(); } @Get(':id') findOne(@Param('id') id: string) { return this.visitedService.findOne(+id); } @Delete(':id') remove(@Param('id') id: string) { return this.visitedService.remove(+id); @UseGuards(AuthUserGuard) @ApiBearerAuth('jwt') @Get('/user/') async findAllByUser(@Req() req: CustomUserRequest) { const { email } = req.user; return this.visitedService.findAllByUser(email); } } backend/src/visited/visited.service.ts +16 −15 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import { PlaceService } from 'src/place/place.service'; import { LANGUAGES } from 'src/shared/enum/languages.enum'; import { VisitedPlacesImageCreator } from './utils/visited_places_image_creator'; import { HttpErrorByCode } from '@nestjs/common/utils/http-error-by-code.util'; import { ServerConstants } from 'src/constants/server.contants'; @Injectable() export class VisitedService { Loading @@ -35,26 +36,26 @@ export class VisitedService { }); } findAll() { return `This action returns all visited`; } findOne(id: number) { return `This action returns a #${id} visited`; } // update(id: number, updateVisitedDto: UpdateVisitedDto) { // return `This action updates a #${id} visited`; // } remove(id: number) { return `This action removes a #${id} visited`; async findAllByUser(email: string) { const res = await this.visitedRepository.find({ where: { user: { email } } }); const visited = res.map((visit: Visited) => { return { ...visit, place: { ...visit.place, imageName: `${ServerConstants.HOST}/places/${visit.place.imageName}`, }, }; }); return visited; } async getVisitedPlacesImage() { // obtener imágenes de los lugares visitados en una ruta try { const visitedPlaces = (await this.placeService.findAllByTown(1, LANGUAGES.EN)).map((place) => place.imageName).slice(0, 5); const visitedPlaces = (await this.placeService.findAllByTown(1, LANGUAGES.EN)) .map((place) => place.imageName) .slice(0, 5); const visitedPlacesImageCreator = new VisitedPlacesImageCreator(); return await visitedPlacesImageCreator.generateImage(visitedPlaces); } catch (error) { Loading Loading
backend/src/visited/visited.controller.ts +7 −14 Original line number Diff line number Diff line Loading @@ -24,22 +24,15 @@ export class VisitedController { } @Get('/getImage/:routeId') async getVisitedPlacesImage(@Param('routeId') routeId: string) { async getVisitedPlacesImage() { return await this.visitedService.getVisitedPlacesImage(); } @Get() findAll() { return this.visitedService.findAll(); } @Get(':id') findOne(@Param('id') id: string) { return this.visitedService.findOne(+id); } @Delete(':id') remove(@Param('id') id: string) { return this.visitedService.remove(+id); @UseGuards(AuthUserGuard) @ApiBearerAuth('jwt') @Get('/user/') async findAllByUser(@Req() req: CustomUserRequest) { const { email } = req.user; return this.visitedService.findAllByUser(email); } }
backend/src/visited/visited.service.ts +16 −15 Original line number Diff line number Diff line Loading @@ -10,6 +10,7 @@ import { PlaceService } from 'src/place/place.service'; import { LANGUAGES } from 'src/shared/enum/languages.enum'; import { VisitedPlacesImageCreator } from './utils/visited_places_image_creator'; import { HttpErrorByCode } from '@nestjs/common/utils/http-error-by-code.util'; import { ServerConstants } from 'src/constants/server.contants'; @Injectable() export class VisitedService { Loading @@ -35,26 +36,26 @@ export class VisitedService { }); } findAll() { return `This action returns all visited`; } findOne(id: number) { return `This action returns a #${id} visited`; } // update(id: number, updateVisitedDto: UpdateVisitedDto) { // return `This action updates a #${id} visited`; // } remove(id: number) { return `This action removes a #${id} visited`; async findAllByUser(email: string) { const res = await this.visitedRepository.find({ where: { user: { email } } }); const visited = res.map((visit: Visited) => { return { ...visit, place: { ...visit.place, imageName: `${ServerConstants.HOST}/places/${visit.place.imageName}`, }, }; }); return visited; } async getVisitedPlacesImage() { // obtener imágenes de los lugares visitados en una ruta try { const visitedPlaces = (await this.placeService.findAllByTown(1, LANGUAGES.EN)).map((place) => place.imageName).slice(0, 5); const visitedPlaces = (await this.placeService.findAllByTown(1, LANGUAGES.EN)) .map((place) => place.imageName) .slice(0, 5); const visitedPlacesImageCreator = new VisitedPlacesImageCreator(); return await visitedPlacesImageCreator.generateImage(visitedPlaces); } catch (error) { Loading