Commit e9e2cdfa authored by Diego Iván's avatar Diego Iván
Browse files

get visited por usuario

parent 53392d44
Loading
Loading
Loading
Loading
+7 −14
Original line number Diff line number Diff line
@@ -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);
  }
}
+16 −15
Original line number Diff line number Diff line
@@ -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 {
@@ -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) {