﻿1
00:00:01,180 --> 00:00:03,630
‫-: Vamos agora, muito rapidamente, criar

2
00:00:03,630 --> 00:00:06,700
‫o modelo para nossas reservas para que então, no

3
00:00:06,700 --> 00:00:09,873
‫próximo vídeo, possamos realmente começar a criar algumas reservas reais.

4
00:00:11,590 --> 00:00:13,490
‫Então, vamos

5
00:00:13,490 --> 00:00:18,073
‫fechar alguns desses arquivos aqui, também essas pastas.

6
00:00:21,965 --> 00:00:26,070
‫Aqui está a pasta de modelos e o modelo de reserva. js.

7
00:00:30,170 --> 00:00:32,700
‫E isso, é claro, será muito semelhante

8
00:00:32,700 --> 00:00:34,860
‫ao que já fizemos antes, então

9
00:00:34,860 --> 00:00:36,510
‫farei isso muito rapidamente.

10
00:00:40,290 --> 00:00:43,463
‫Como sempre, precisamos do mangusto e criamos nosso mangusto

11
00:00:48,362 --> 00:00:52,043
‫de esquema de reserva. Esquema, e agora,

12
00:00:57,560 --> 00:00:59,890
‫lembre-se de como dissemos antes que

13
00:00:59,890 --> 00:01:01,850
‫iríamos usar referência de parágrafo

14
00:01:01,850 --> 00:01:05,350
‫aqui nas reservas, basicamente mantendo uma referência ao

15
00:01:05,350 --> 00:01:08,853
‫tour e também ao usuário que reservou o tour.

16
00:01:10,030 --> 00:01:11,743
‫Então isso é muito fácil.

17
00:01:15,624 --> 00:01:17,660
‫Já fizemos isso muitas vezes antes.

18
00:01:17,660 --> 00:01:21,457
‫Então mangusto. Esquema. ObjectId, certo?

19
00:01:24,700 --> 00:01:28,310
‫E então a referência, e este vai

20
00:01:28,310 --> 00:01:31,670
‫apontar para o modelo turístico.

21
00:01:31,670 --> 00:01:34,423
‫Então, digamos também que eles

22
00:01:39,200 --> 00:01:43,960
‫sejam obrigatórios. A reserva deve pertencer a um Tour.

23
00:01:47,278 --> 00:01:49,200
‫Agora vamos pegar

24
00:01:53,490 --> 00:01:58,060
‫isso e criar a mesma coisa para um usuário, ok?

25
00:01:58,060 --> 00:02:00,420
‫Então, é o que acabamos de dizer que

26
00:02:00,420 --> 00:02:02,360
‫faríamos mantendo uma referência do

27
00:02:02,360 --> 00:02:05,853
‫tour que está sendo comprado e do usuário que faz a compra.

28
00:02:07,260 --> 00:02:09,470
‫Então, também queremos saber o

29
00:02:09,470 --> 00:02:11,840
‫preço pelo qual a compra realmente aconteceu,

30
00:02:11,840 --> 00:02:14,200
‫e isso é porque o preço

31
00:02:14,200 --> 00:02:17,250
‫pode mudar no futuro e, então, não saberíamos mais

32
00:02:17,250 --> 00:02:19,910
‫quanto um determinado usuário pagou por um tour.

33
00:02:19,910 --> 00:02:23,160
‫E então é importante também ter isso aqui

34
00:02:23,160 --> 00:02:26,763
‫na reserva, então isso vai ser um número, e

35
00:02:28,560 --> 00:02:30,533
‫nós também exigimos isso,

36
00:02:35,560 --> 00:02:38,443
‫a reserva deve ter um preço.

37
00:02:45,100 --> 00:02:48,667
‫Em seguida, vamos também criar nosso timestamp createdAt, que é

38
00:02:52,340 --> 00:02:53,343
‫uma data,

39
00:02:54,300 --> 00:02:56,410
‫e então simplesmente adicionar default para

40
00:02:56,410 --> 00:02:58,323
‫que não tenhamos que fazer nada.

41
00:03:01,070 --> 00:03:04,483
‫Por fim, também desejo criar uma propriedade paga, e

42
00:03:05,850 --> 00:03:09,810
‫esta será automaticamente definida como verdadeira, mas isso é apenas

43
00:03:09,810 --> 00:03:12,050
‫para o caso de, por

44
00:03:12,050 --> 00:03:14,360
‫exemplo, um administrador querer criar uma

45
00:03:14,360 --> 00:03:16,250
‫reserva fora do Stripe.

46
00:03:16,250 --> 00:03:19,550
‫Então, por exemplo, se um cliente não tiver cartão de

47
00:03:19,550 --> 00:03:22,940
‫crédito e quiser pagar diretamente, como em uma loja à vista,

48
00:03:22,940 --> 00:03:24,330
‫ou algo parecido.

49
00:03:24,330 --> 00:03:27,050
‫E, neste caso, um administrador pode usar

50
00:03:27,050 --> 00:03:29,740
‫nossa API de reservas para basicamente criar

51
00:03:29,740 --> 00:03:33,430
‫manualmente um tour, e então isso pode ser pago ou

52
00:03:33,430 --> 00:03:34,683
‫ainda não pago.

53
00:03:37,140 --> 00:03:39,163
‫Então, apenas um pequeno

54
00:03:41,180 --> 00:03:44,210
‫detalhe aqui, pensando nisso, e pensei que poderia

55
00:03:44,210 --> 00:03:46,670
‫ser interessante incluir isso aqui também.

56
00:03:46,670 --> 00:03:49,070
‫Mas é claro que, por padrão, será verdade para

57
00:03:49,070 --> 00:03:50,920
‫que não tenhamos que fazer nada.

58
00:03:52,790 --> 00:03:56,663
‫Agora, finalmente, vamos criar um modelo com isso, então

59
00:03:59,440 --> 00:04:03,793
‫reserva é igual a mangusto. model, e então, é

60
00:04:10,510 --> 00:04:13,444
‫claro, nosso bookingSchema e depois exportar

61
00:04:13,444 --> 00:04:15,183
‫tudo, é

62
00:04:19,850 --> 00:04:21,770
‫igual a Booking.

63
00:04:21,770 --> 00:04:23,680
‫Agora, o que também

64
00:04:23,680 --> 00:04:27,850
‫queremos fazer aqui é preencher o tour e o usuário

65
00:04:27,850 --> 00:04:30,890
‫automaticamente sempre que houver uma consulta, certo?

66
00:04:30,890 --> 00:04:33,220
‫Portanto, lembre-se de como costumávamos fazer isso usando

67
00:04:33,220 --> 00:04:34,723
‫o middleware de consulta.

68
00:04:35,770 --> 00:04:39,210
‫Então, direto no Schema. pre, e então

69
00:04:39,210 --> 00:04:42,470
‫aqui ou como usual expressão regular e o

70
00:04:43,990 --> 00:04:46,183
‫que quer que comece com find.

71
00:04:50,640 --> 00:04:53,363
‫Então aqui a seguir,

72
00:04:55,240 --> 00:05:00,240
‫e então isso. preencher, e vamos fazê-lo

73
00:05:00,970 --> 00:05:02,760
‫automaticamente para

74
00:05:02,760 --> 00:05:05,450
‫o usuário e os passeios.

75
00:05:05,450 --> 00:05:07,810
‫E nesse caso não há

76
00:05:07,810 --> 00:05:10,220
‫problema nenhum para o desempenho, porque

77
00:05:10,220 --> 00:05:14,170
‫não haverá muitas ligações para as marcações, pois só os

78
00:05:14,170 --> 00:05:17,600
‫guias e admins terão permissão para fazer isso, certo?

79
00:05:17,600 --> 00:05:19,590
‫Então, basicamente, para um guia

80
00:05:19,590 --> 00:05:21,920
‫verificar foi realmente reservado seus passeios.

81
00:05:21,920 --> 00:05:23,980
‫Então, esse é um dos casos

82
00:05:23,980 --> 00:05:27,000
‫de uso que vejo para esta parte da API, certo?

83
00:05:27,000 --> 00:05:30,140
‫Portanto, novamente, essa consulta não acontecerá com frequência, então

84
00:05:30,140 --> 00:05:32,350
‫podemos preencher tudo isso facilmente sem

85
00:05:32,350 --> 00:05:33,493
‫nenhum problema.

86
00:05:35,120 --> 00:05:37,850
‫Então, vamos preencher também o passeio, mas aqui,

87
00:05:37,850 --> 00:05:40,833
‫na verdade, desejo selecionar apenas o nome do passeio.

88
00:05:42,410 --> 00:05:47,410
‫Então, digamos caminho, passeio e selecione apenas o nome, certo?

89
00:05:52,400 --> 00:05:56,070
‫Bem, aqui temos algum tipo de erro, certo, então

90
00:05:56,070 --> 00:05:59,413
‫é claro que deveria ser mangusto, não alce.

91
00:06:01,250 --> 00:06:05,420
‫Então, mais uma vez, o ESLint nos salvou aqui.

92
00:06:05,420 --> 00:06:07,163
‫Ah, e na verdade há mais.

93
00:06:08,860 --> 00:06:12,260
‫Salve mais uma vez e agora estamos bem.

94
00:06:12,260 --> 00:06:14,060
‫Então é isso.

95
00:06:14,060 --> 00:06:15,540
‫Este é o nosso modelo de

96
00:06:16,429 --> 00:06:18,613
‫reservas que podemos começar a usar no próximo vídeo.

