Commit 709bad23 authored by Lorenzo Trujillo Rojas's avatar Lorenzo Trujillo Rojas
Browse files

Merge branch 'main' into 'main'

Agregando endpoint para calificar un lugar visitado y guardando la ruta recomendada en la bd

See merge request pueblosmagicosconia!58
parents 7ac9aff5 5cef39a4
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ export class AuthUserController {
  constructor(private readonly authUserService: AuthUserService) {}

  @ApiBody({ type: CreateUserDto })
  @ApiBearerAuth()
  @ApiCreatedResponse({
    type: UserSigninResDto,
  })
+0 −1
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ export class AuthUserService {
      { secret: JwtConstants.SECRET },
    );
    const userSigninResDto: UserSigninResDto = {
      userId: user.userId,
      email: user.email,
      name: user.name,
      lastName: user.lastName,
+0 −2
Original line number Diff line number Diff line
@@ -2,8 +2,6 @@ import { ApiProperty } from '@nestjs/swagger';
import { ALL_ROLES } from 'src/shared/enum/admin-role.enum';

export class UserSigninResDto {
  @ApiProperty()
  userId: number;
  @ApiProperty()
  email: string;
  @ApiProperty()
+14 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ import { ServerConstants } from 'src/constants/server.contants';
import { Available } from 'src/pointOfInterest/enum/available.enum';
import { UpdatePlaceReqDto } from './dto/update-place.req.dto';
import { Category } from 'src/category/entities/category.entity';
import { Visited } from 'src/visited/entities/visited.entity';

@Injectable()
export class PlaceService {
@@ -206,4 +207,17 @@ export class PlaceService {
      );
    }
  }

  async findPlacesNotVisitedByUser(email: string, lang: LANGUAGES, idTown: number): Promise<GetPlaceDto[]> {
    const places: GetPlaceDto[] = await this.findAllByTown(idTown, lang);
    const visited: any[] = await this.dataSource
      .getRepository(Visited)
      .createQueryBuilder('visited')
      .leftJoinAndSelect('visited.place', 'place')
      .where('visited.user = :email', { email })
      .getMany();
    const visitedIds: number[] = visited.map((visit) => visit.place.idPlace);
    // podemos hacerlo en la query
    return places.filter((place) => !visitedIds.includes(place.idPlace));
  }
}
+2 −26
Original line number Diff line number Diff line
import { Controller, Get, Post, Body, Patch, Param, Delete, UseGuards, Req, Query } from '@nestjs/common';
import { Controller, Get, Param, UseGuards, Req, Query } from '@nestjs/common';
import { RouteService } from './route.service';
import { CreateRouteDto } from './dto/create-route.dto';
import { UpdateRouteDto } from './dto/update-route.dto';
import { ApiBearerAuth, ApiConsumes, ApiParam, ApiQuery, ApiTags } from '@nestjs/swagger';
import { ApiBearerAuth, ApiParam, ApiQuery, ApiTags } from '@nestjs/swagger';
import { LANGUAGES } from 'src/shared/enum/languages.enum';
import { AuthUserGuard } from 'src/auth/user/authUser.guard';
import { CustomUserRequest } from 'src/auth/user/interface/customUserReq';
@@ -12,28 +10,6 @@ import { CustomUserRequest } from 'src/auth/user/interface/customUserReq';
export class RouteController {
  constructor(private readonly routeService: RouteService) {}

  // @Post()
  // @ApiConsumes('multipart/form-data')
  // // @UseGuards(AuthUserGuard)
  // async create(@Body() createRouteDto: CreateRouteDto) {
  //   return await this.routeService.recommend();
  // }

  // @Get(':idRoute')
  // async findOne(@Param('idRoute') idRoute: number) {
  //   return await this.routeService.findOne(idRoute);
  // }

  // @Patch(':id')
  // update(@Param('id') id: string, @Body() updateRouteDto: UpdateRouteDto) {
  //   return this.routeService.update(+id, updateRouteDto);
  // }

  // @Delete(':id')
  // remove(@Param('id') id: string) {
  //   return this.routeService.remove(+id);
  // }

  @Get('recommend:idTown')
  @ApiQuery({ name: 'lang', type: String })
  @ApiParam({ name: 'idTown', type: Number })
Loading