‫Instructor: Entonces, en los
‫dos últimos videos, creamos un punto final
‫POST anidado para crear nuevas reseñas en un recorrido determinado.
‫Entonces, ahora construyamos sobre
‫eso, y también creemos un punto final GET anidado.
‫Entonces ya tenemos nuestra función de
‫controlador getAllReviews implementada, ¿verdad?
‫Pero en este momento, todo lo que hace es básicamente obtener una
‫variedad de todas las reseñas de la colección de reseñas.
‫Ahora, un caso de uso común para su
‫API podría ser obtener una serie de todas
‫las revisiones de un recorrido
‫en particular, muy similar a createReview, ¿verdad?
‫Así que básicamente es similar a esta ruta
‫aquí, pero excepto con GET.
‫Entonces, básicamente algo como esto, ¿de acuerdo?
‫Entonces, todo lo que tenemos que hacer para
‫implementar esto es hacer algunos
‫cambios simples en nuestra función de controlador getAllReviews, ¿verdad?
‫Porque en este momento, gracias a los
‫parámetros de combinación y este tipo de redireccionamiento que implementamos aquí
‫en el último video, gracias a todo eso,
‫esta función del controlador getAllReviews ahora se llamará automáticamente
‫cada vez que haya una solicitud
‫GET para una URL que
‫se ve así, y también tendrá acceso
‫al tourId, y nuevamente, gracias a mergeParams establecido en true.
‫¿Está bien?
‫Así que hagamos algunos cambios muy simples aquí, ¿de acuerdo?
‫Y lo que vamos a
‫hacer aquí es verificar si hay un tourId, y si
‫hay uno, bueno, entonces solo buscaremos
‫reseñas donde el tour sea igual a ese tourId, ¿de acuerdo?
‫Entonces, eso es
‫algo que es muy simple de implementar usando Find, ¿verdad?
‫Básicamente, lo que estamos haciendo es algo como esto.
‫Entonces, si hay una solicitud. params. tourId, entonces
‫queremos crear un objeto de
‫filtro, que luego usaremos aquí.
‫De hecho, pongámoslo aquí de inmediato,
‫y también necesitamos inicializarlo.
‫Entonces, vamos a filtrar, porque queremos luego mutar esto, ¿de acuerdo?
‫Entonces, si hay un tourId, entonces este filtro debería
‫ser igual a tour:
‫req. params. tourId.
‫Bien, y entonces, nuevamente, si hay un tourId,
‫entonces básicamente, este objeto aquí es lo que estará aquí.
‫Entonces, solo se encontrarán las reseñas
‫en las que el recorrido coincide con la identificación.
‫Entonces, si se trata de una llamada API
‫normal sin una ruta anidada, entonces ese filtro será simplemente este
‫objeto vacío, y entonces encontraremos todas las revisiones, ¿de acuerdo?
‫Y, entonces, probemos esto,
‫porque esto es todo lo que necesitamos cambiar aquí, ¿de acuerdo?
‫Entonces, salvemos
‫este, este también, ¿de acuerdo?
‫Entonces, para comenzar, probemos si nuestro getAllReviews, por
‫lo que el normal, todavía funciona según lo previsto, ¿de acuerdo?
‫Entonces obtenemos las cuatro reseñas que están en nuestra colección.
‫Solo verifiquemos eso,
‫y de hecho hay cuatro documentos, ¿de acuerdo?
‫Pero ahora,
‫creemos nuestra ruta anidada getAllReviews, ¿de acuerdo?
‫Entonces, lo que voy a hacer es copiar este.
‫De acuerdo, y luego simplemente agrega reseñas, ¿de acuerdo?
‫Entonces, este recorrido es el City Wanderer, y
‫en realidad tiene una reseña.
‫Entonces, ahora esperamos obtener una
‫matriz con un objeto allí, ¿de acuerdo?
‫Entonces, solo tuvo una revisión.
‫Y de hecho, eso es exactamente lo que obtenemos.
‫Entonces, estas son todas las reseñas que están presentes en este recorrido,
‫entonces, el recorrido con esta identificación.
‫Y, de hecho, eso es bastante correcto, ¿verdad?
‫Probemos con otro, y recuerdo que este, el Forest Hiker,
‫en realidad creo que tenía dos críticas.
‫Veamos si eso también funciona.
‫Y sí, de hecho.
‫Aquí están.
‫¿Está bien?
‫Así que guardemos eso, todavía en esa carpeta de recorridos / reseñas, y así
‫obtengamos todos los comentarios en el recorrido.
‫Ok genial.
‫Eso es todo lo que tenía que mostrarte sobre las rutas anidadas.
‫Entonces, a continuación, continuemos llenando nuestro controlador de revisión,
‫porque en este momento solo tenemos
‫getAllReviews y createReview.
‫Y también queremos actualizar,
‫eliminar y todo eso, así que
‫ocupémonos de eso en la próxima lección.