Loading backend/src/app.module.ts +4 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ import { RouteModule } from './route/route.module'; import { Route } from './route/entities/route.entity'; import { TravelPlaceModule } from './travel-place/travel-place.module'; import { TravelPlace } from './travel-place/entities/travel-place.entity'; import { VisitedModule } from './visited/visited.module'; import { Visited } from './visited/entities/visited.entity'; @Module({ imports: [ Loading @@ -54,6 +56,7 @@ import { TravelPlace } from './travel-place/entities/travel-place.entity'; Category, Route, TravelPlace, Visited, ], synchronize: DbConstants.DB_SYNC, logging: false, Loading @@ -73,6 +76,7 @@ import { TravelPlace } from './travel-place/entities/travel-place.entity'; CategoryModule, RouteModule, TravelPlaceModule, VisitedModule, ], controllers: [AppController], providers: [AppService, DatabaseSeederModule], Loading backend/src/auth/user/authUsercontroller.ts +0 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,6 @@ export class AuthUserController { constructor(private readonly authUserService: AuthUserService) {} @ApiBody({ type: CreateUserDto }) @ApiBearerAuth() @ApiCreatedResponse({ type: UserSigninResDto, }) Loading backend/src/auth/user/authUserservice.ts +0 −1 Original line number Diff line number Diff line Loading @@ -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, Loading backend/src/auth/user/dto/user-signin-res.dto.ts +0 −2 Original line number Diff line number Diff line Loading @@ -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() Loading backend/src/place/place.service.ts +15 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -79,7 +80,7 @@ export class PlaceService { } } async findAllByTown(idTown: number, lang: LANGUAGES) { async findAllByTown(idTown: number, lang: LANGUAGES): Promise<GetPlaceDto[]> { const res: any[] = await this.dataSource .getRepository(Place) .createQueryBuilder('place') Loading Loading @@ -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)); } } Loading
backend/src/app.module.ts +4 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,8 @@ import { RouteModule } from './route/route.module'; import { Route } from './route/entities/route.entity'; import { TravelPlaceModule } from './travel-place/travel-place.module'; import { TravelPlace } from './travel-place/entities/travel-place.entity'; import { VisitedModule } from './visited/visited.module'; import { Visited } from './visited/entities/visited.entity'; @Module({ imports: [ Loading @@ -54,6 +56,7 @@ import { TravelPlace } from './travel-place/entities/travel-place.entity'; Category, Route, TravelPlace, Visited, ], synchronize: DbConstants.DB_SYNC, logging: false, Loading @@ -73,6 +76,7 @@ import { TravelPlace } from './travel-place/entities/travel-place.entity'; CategoryModule, RouteModule, TravelPlaceModule, VisitedModule, ], controllers: [AppController], providers: [AppService, DatabaseSeederModule], Loading
backend/src/auth/user/authUsercontroller.ts +0 −1 Original line number Diff line number Diff line Loading @@ -14,7 +14,6 @@ export class AuthUserController { constructor(private readonly authUserService: AuthUserService) {} @ApiBody({ type: CreateUserDto }) @ApiBearerAuth() @ApiCreatedResponse({ type: UserSigninResDto, }) Loading
backend/src/auth/user/authUserservice.ts +0 −1 Original line number Diff line number Diff line Loading @@ -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, Loading
backend/src/auth/user/dto/user-signin-res.dto.ts +0 −2 Original line number Diff line number Diff line Loading @@ -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() Loading
backend/src/place/place.service.ts +15 −1 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -79,7 +80,7 @@ export class PlaceService { } } async findAllByTown(idTown: number, lang: LANGUAGES) { async findAllByTown(idTown: number, lang: LANGUAGES): Promise<GetPlaceDto[]> { const res: any[] = await this.dataSource .getRepository(Place) .createQueryBuilder('place') Loading Loading @@ -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)); } }