﻿1
00:00:01,080 --> 00:00:05,390
‫-: É uma boa prática implementar um ponto de extremidade slash me

2
00:00:05,390 --> 00:00:06,770
‫em qualquer API.

3
00:00:06,770 --> 00:00:10,260
‫Então, basicamente, um endpoint onde um usuário pode

4
00:00:10,260 --> 00:00:12,660
‫recuperar seus próprios dados, certo?

5
00:00:12,660 --> 00:00:15,423
‫E então, vamos agora, muito rapidamente, implementar isso.

6
00:00:17,130 --> 00:00:20,240
‫E então basicamente vai ser algo muito

7
00:00:20,240 --> 00:00:24,680
‫semelhante a esses endpoints de atualização e exclusão que

8
00:00:24,680 --> 00:00:26,543
‫já temos, certo?

9
00:00:27,600 --> 00:00:32,600
‫Então, vamos adicionar export dot getme, certo?

10
00:00:34,130 --> 00:00:37,180
‫Agora, ainda queremos usar a

11
00:00:37,180 --> 00:00:42,180
‫função de fábrica getOne, então basicamente, uh, este

12
00:00:42,530 --> 00:00:44,360
‫aqui, certo?

13
00:00:44,360 --> 00:00:46,400
‫Porque caso contrário, seria um

14
00:00:46,400 --> 00:00:48,690
‫código muito, muito semelhante a este.

15
00:00:48,690 --> 00:00:51,960
‫Agora, o único problema com isso é que

16
00:00:51,960 --> 00:00:55,910
‫getOne basicamente usa o ID vindo do parâmetro para obter

17
00:00:55,910 --> 00:00:57,380
‫o documento solicitado.

18
00:00:57,380 --> 00:01:00,950
‫Mas, o que queremos fazer agora é basicamente obter o

19
00:01:00,950 --> 00:01:03,130
‫documento com base no ID do

20
00:01:03,130 --> 00:01:07,280
‫usuário atual, então o ID vem do usuário conectado no momento, certo?

21
00:01:07,280 --> 00:01:11,460
‫E assim não temos que passar nenhum ID como

22
00:01:11,460 --> 00:01:13,460
‫parâmetro de URL, certo?

23
00:01:13,460 --> 00:01:17,690
‫Então, como podemos fazer isso? Bem, muito simples.

24
00:01:17,690 --> 00:01:20,870
‫Tudo o que faremos aqui é um middleware muito

25
00:01:20,870 --> 00:01:22,553
‫simples, que funcionará assim.

26
00:01:23,870 --> 00:01:28,243
‫Como sempre, request, response, next, e então tudo

27
00:01:31,661 --> 00:01:36,100
‫o que faremos é dizer request, dot params,

28
00:01:36,100 --> 00:01:39,570
‫dot ID, que lembre-se, é o que

29
00:01:39,570 --> 00:01:41,863
‫o getOne vai

30
00:01:42,740 --> 00:01:47,740
‫usar e dizer igual a request dot user dot IDENTIFICAÇÃO.

31
00:01:48,170 --> 00:01:49,003
‫E é isso!

32
00:01:51,910 --> 00:01:52,743
‫Tudo bem?

33
00:01:52,743 --> 00:01:55,020
‫Então, adicionaremos esse middleware aqui antes

34
00:01:55,020 --> 00:01:56,693
‫de chamar getOne.

35
00:01:58,020 --> 00:02:02,600
‫Então, vamos implementar isso para as rotas do usuário

36
00:02:02,600 --> 00:02:04,843
‫e vou adicioná-lo aqui.

37
00:02:05,750 --> 00:02:10,683
‫Então, o roteador ponto get slash me, e agora, é

38
00:02:12,260 --> 00:02:14,653
‫claro, precisamos estar logados.

39
00:02:15,640 --> 00:02:18,860
‫Portanto, proteja, e isso irá adicionar

40
00:02:18,860 --> 00:02:22,180
‫o usuário à solicitação atual, que você já

41
00:02:22,180 --> 00:02:26,173
‫sabe, nos permitirá ler o ID desse usuário, certo?

42
00:02:27,130 --> 00:02:31,990
‫Então, a próxima etapa é basicamente colocar esse ID do usuário no ID do

43
00:02:31,990 --> 00:02:34,111
‫ponto params. OK?

44
00:02:34,111 --> 00:02:37,790
‫Então, basicamente fingir que o ID está, na verdade,

45
00:02:37,790 --> 00:02:39,163
‫vindo da URL.

46
00:02:40,070 --> 00:02:43,793
‫Então, controlador de usuário, uh, ponto

47
00:02:45,630 --> 00:02:49,600
‫getme e, finalmente, controlador de usuário getuser.

48
00:02:53,800 --> 00:02:55,893
‫OK? Faz sentido?

49
00:02:57,730 --> 00:03:00,670
‫Agora vamos testar isso muito rapidamente,

50
00:03:00,670 --> 00:03:03,803
‫e será um pouco parecido com isso.

51
00:03:08,550 --> 00:03:09,863
‫Mas então, me corte.

52
00:03:10,810 --> 00:03:14,823
‫Claro que precisamos de autorização. OK?

53
00:03:16,120 --> 00:03:21,120
‫E também estou salvando isso nos usuários,

54
00:03:22,800 --> 00:03:27,800
‫e para obter o usuário atual.

55
00:03:30,700 --> 00:03:34,510
‫Agora ok? Na verdade, vamos adicionar esses

56
00:03:34,510 --> 00:03:38,310
‫nomes porque eles parecem diferentes, então eles têm esses dados aqui por

57
00:03:38,310 --> 00:03:39,143
‫algum motivo.

58
00:03:43,540 --> 00:03:46,513
‫Ok, este não, mas ainda está errado aqui.

59
00:03:47,990 --> 00:03:50,770
‫Tudo bem? Então, vamos agora, apenas para

60
00:03:50,770 --> 00:03:53,780
‫ter certeza, logar como este administrador. Tudo bem?

61
00:03:56,460 --> 00:03:59,870
‫E agora, obtenha os dados sobre este usuário atual.

62
00:03:59,870 --> 00:04:02,593
‫Portanto, nada no corpo, nada na

63
00:04:03,660 --> 00:04:07,150
‫URL, mas ainda obtemos os dados sobre nós mesmos.

64
00:04:07,150 --> 00:04:11,080
‫Então, nome, e-mail, função e realmente todos os dados que

65
00:04:11,080 --> 00:04:14,540
‫existem sobre esse usuário. Agradável.

66
00:04:14,540 --> 00:04:18,870
‫Então, novamente, você viu o grande poder do middleware.

67
00:04:18,870 --> 00:04:22,660
‫Onde foi tão fácil simplesmente implementar este middleware

68
00:04:22,660 --> 00:04:25,850
‫getme, para que, depois disso, possamos usar

69
00:04:25,850 --> 00:04:27,450
‫nosso getuser simples.

70
00:04:27,450 --> 00:04:32,073
‫Então, aquele vindo da função de fábrica, certo?

71
00:04:33,140 --> 00:04:34,640
‫Ok, e é isso.

72
00:04:34,640 --> 00:04:37,533
‫Isso é tudo o que precisamos fazer para esta pequena tarefa.

