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

agregando metodos updateRoute y getRouteById

parent f17c068c
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
import { Injectable } from '@nestjs/common';
import { InjectDataSource, InjectRepository } from '@nestjs/typeorm';
import { Route } from './entities/route.entity';
import { Route, RouteStatus } from './entities/route.entity';
import { DataSource, Repository } from 'typeorm';
import { User } from 'src/user/entities/user.entity';
import { Town } from 'src/town/entities/town.entity';
@@ -14,6 +14,7 @@ import { Visited } from 'src/visited/entities/visited.entity';
import { RecommendPlace } from './dto/recommend-route.dto';
import { CreateRouteDto } from './dto/create-route.dto';
import { CreateTravelPlaceDto } from 'src/travel-place/dto/create-travel-place.dto';
import { UserService } from 'src/user/user.service';

@Injectable()
export class RouteService {
@@ -25,6 +26,7 @@ export class RouteService {
    @InjectDataSource() private dataSource: DataSource,
    private readonly placeService: PlaceService,
    private readonly visitedService: VisitedService,
    private readonly userService: UserService,
  ) {}

  async recommend(idTown: number, email: string, language: LANGUAGES, start, end) {
@@ -87,12 +89,21 @@ export class RouteService {
    }
  }

  async getRouteAndPlacesByUser(email: string, language: LANGUAGES, idTown: number) {
    const res = await this.routeRepository.findOne({
  async getRouteAndPlacesByUser(email: string, routeStatus: RouteStatus) {
    const res = await this.routeRepository.find({
      relations: ['travelPlace'],
      where: { user: { email }, town: { townId: idTown } },
      where: { user: { email }, status: routeStatus },
    });

    return res;
  }

  async updateRoute(idRoute: number, status: RouteStatus) {
    await this.routeRepository.update({ idRoute }, { status });
  }

  async getRouteById(idRoute: number, email: string) {
    const user: User = await this.userService.findOne(email);
    return await this.routeRepository.findOneBy({ idRoute, user });
  }
}