﻿1
00:00:01,290 --> 00:00:02,850
‫Instrutor: Então, nos

2
00:00:02,850 --> 00:00:05,580
‫dois últimos vídeos, criamos um endpoint POST

3
00:00:05,580 --> 00:00:08,910
‫aninhado para criar novas avaliações em um determinado tour.

4
00:00:08,910 --> 00:00:10,420
‫Portanto, vamos agora construir sobre

5
00:00:10,420 --> 00:00:13,113
‫isso e também criar um ponto de extremidade GET aninhado.

6
00:00:14,860 --> 00:00:17,290
‫Portanto, já implementamos nossa função

7
00:00:17,290 --> 00:00:19,570
‫de manipulador getAllReviews, certo?

8
00:00:19,570 --> 00:00:22,940
‫Mas, no momento, tudo o que ele faz é basicamente obter

9
00:00:22,940 --> 00:00:26,040
‫uma série de todas as resenhas da coleção de resenhas.

10
00:00:26,040 --> 00:00:29,020
‫Agora, um caso de uso comum para sua

11
00:00:29,020 --> 00:00:32,030
‫API pode ser obter uma matriz de todas

12
00:00:32,030 --> 00:00:34,500
‫as avaliações de um tour

13
00:00:34,500 --> 00:00:37,080
‫específico, muito semelhante ao createReview, certo?

14
00:00:37,080 --> 00:00:39,750
‫Então, basicamente semelhante a esta rota aqui,

15
00:00:39,750 --> 00:00:41,840
‫mas exceto com GET.

16
00:00:41,840 --> 00:00:46,590
‫Então, basicamente algo assim, ok?

17
00:00:46,590 --> 00:00:49,330
‫E então, tudo o que precisamos fazer para

18
00:00:49,330 --> 00:00:51,640
‫implementar isso é fazer algumas

19
00:00:51,640 --> 00:00:54,880
‫mudanças simples em nossa função de manipulador getAllReviews, certo?

20
00:00:54,880 --> 00:00:57,760
‫Porque agora, graças aos parâmetros de

21
00:00:57,760 --> 00:01:02,290
‫mesclagem, e esse tipo de redirecionamento que implementamos aqui no último

22
00:01:02,290 --> 00:01:05,510
‫vídeo, então, graças a tudo isso, esta

23
00:01:05,510 --> 00:01:09,070
‫função de manipulador getAllReviews agora será automaticamente chamada

24
00:01:09,070 --> 00:01:11,660
‫sempre que houver uma solicitação GET

25
00:01:11,660 --> 00:01:14,020
‫para um URL que

26
00:01:14,020 --> 00:01:17,060
‫parece assim, e também terá acesso ao

27
00:01:17,060 --> 00:01:20,950
‫tourId, e novamente, graças a mergeParams definido como true.

28
00:01:20,950 --> 00:01:21,783
‫Tudo bem?

29
00:01:21,783 --> 00:01:26,783
‫Então, vamos fazer algumas mudanças muito simples aqui, certo?

30
00:01:27,080 --> 00:01:29,080
‫E o que vamos

31
00:01:29,080 --> 00:01:32,450
‫fazer aqui é verificar se existe um tourId, e se

32
00:01:32,450 --> 00:01:34,540
‫houver, bem, então vamos apenas procurar

33
00:01:34,540 --> 00:01:38,260
‫avaliações em que o tour seja igual a esse tourId, certo?

34
00:01:38,260 --> 00:01:39,530
‫Então, isso é

35
00:01:39,530 --> 00:01:42,800
‫algo muito simples de implementar usando find, certo?

36
00:01:42,800 --> 00:01:46,600
‫Então, basicamente, o que estamos fazendo é algo assim.

37
00:01:46,600 --> 00:01:51,127
‫Então, se houver pedido. params. tourId, então

38
00:01:53,690 --> 00:01:56,230
‫queremos criar um objeto de

39
00:01:56,230 --> 00:01:59,100
‫filtro, que usaremos mais tarde aqui.

40
00:01:59,100 --> 00:02:02,580
‫Vamos colocá-lo aqui imediatamente, e

41
00:02:02,580 --> 00:02:05,820
‫também precisamos inicializá-lo.

42
00:02:05,820 --> 00:02:10,820
‫Então, vamos filtrar, porque queremos então transformar isso, ok?

43
00:02:11,530 --> 00:02:14,460
‫Portanto, se houver um tourId, esse filtro deve

44
00:02:14,460 --> 00:02:15,710
‫ser igual a tour:

45
00:02:17,880 --> 00:02:20,087
‫req. params. tourId.

46
00:02:25,570 --> 00:02:28,740
‫Ok, e então, novamente, se houver um tourId,

47
00:02:28,740 --> 00:02:32,520
‫então basicamente, este objeto aqui é o que estará aqui.

48
00:02:32,520 --> 00:02:34,610
‫Então, apenas as avaliações em

49
00:02:34,610 --> 00:02:37,090
‫que o tour corresponde ao ID serão encontradas.

50
00:02:37,090 --> 00:02:40,610
‫Então, se tudo for uma chamada de API

51
00:02:40,610 --> 00:02:44,450
‫normal sem rota aninhada, então esse filtro será simplesmente esse

52
00:02:44,450 --> 00:02:48,130
‫objeto vazio, e então vamos encontrar todos os comentários, ok?

53
00:02:48,130 --> 00:02:50,140
‫E, então, vamos realmente

54
00:02:50,140 --> 00:02:54,423
‫testar isso, porque isso é tudo que precisamos mudar aqui, certo?

55
00:02:56,030 --> 00:02:57,913
‫Então, vamos

56
00:02:59,100 --> 00:03:03,680
‫salvar este aqui, este também, certo?

57
00:03:03,680 --> 00:03:07,300
‫E então, para começar, vamos testar se

58
00:03:07,300 --> 00:03:12,060
‫nosso getAllReviews, então o normal, ainda funciona como pretendido, ok?

59
00:03:12,060 --> 00:03:15,830
‫Portanto, recebemos todas as quatro análises que estão em nossa coleção.

60
00:03:15,830 --> 00:03:17,373
‫Vamos apenas verificar

61
00:03:19,320 --> 00:03:22,803
‫isso e, de fato, existem quatro documentos, ok?

62
00:03:23,800 --> 00:03:25,220
‫Mas agora,

63
00:03:25,220 --> 00:03:29,510
‫vamos criar nossa rota getAllReviews aninhada, certo?

64
00:03:29,510 --> 00:03:32,433
‫Então, o que vou fazer é copiar este.

65
00:03:35,270 --> 00:03:40,270
‫Ok, e então simplesmente adicione comentários, ok?

66
00:03:40,460 --> 00:03:43,670
‫E então este passeio é o City Wanderer, e

67
00:03:43,670 --> 00:03:46,020
‫na verdade ele tem uma crítica.

68
00:03:46,020 --> 00:03:48,530
‫E então, esperamos agora obter

69
00:03:48,530 --> 00:03:51,340
‫um array com um objeto lá, ok?

70
00:03:51,340 --> 00:03:53,110
‫Então, só teve uma revisão.

71
00:03:53,110 --> 00:03:55,770
‫E, de fato, é exatamente isso que obtemos.

72
00:03:55,770 --> 00:04:00,430
‫Essas são todas as reviews que estão presentes nesse tour, então,

73
00:04:00,430 --> 00:04:02,860
‫o tour com esse ID.

74
00:04:02,860 --> 00:04:06,323
‫E, na verdade, isso está bem correto, certo?

75
00:04:07,210 --> 00:04:11,220
‫Vamos tentar outro, e eu me lembro que este, o

76
00:04:11,220 --> 00:04:14,743
‫Forest Hiker, na verdade teve, acho, duas avaliações.

77
00:04:15,990 --> 00:04:19,173
‫Então, vamos ver se isso funciona bem.

78
00:04:21,000 --> 00:04:22,690
‫E então sim, de fato.

79
00:04:22,690 --> 00:04:23,563
‫Aqui há.

80
00:04:24,930 --> 00:04:26,340
‫Tudo bem?

81
00:04:26,340 --> 00:04:30,830
‫Então, vamos salvar isso, ainda na pasta de tours /

82
00:04:30,830 --> 00:04:33,387
‫revisão, e obterAllReviews no tour.

83
00:04:39,840 --> 00:04:41,540
‫Certo, ótimo.

84
00:04:41,540 --> 00:04:45,710
‫Na verdade, isso é tudo que eu tenho para mostrar a você sobre as rotas aninhadas.

85
00:04:45,710 --> 00:04:49,610
‫Então, a seguir, vamos continuar enchendo nosso controlador

86
00:04:49,610 --> 00:04:52,462
‫de revisão, porque agora só temos

87
00:04:52,462 --> 00:04:54,350
‫getAllReviews e createReview.

88
00:04:54,350 --> 00:04:56,380
‫E então também queremos

89
00:04:56,380 --> 00:04:58,540
‫atualizar, deletar e todas essas coisas,

90
00:04:58,540 --> 00:05:01,253
‫então vamos cuidar disso na próxima aula.

