‫-: É uma boa prática implementar um ponto de extremidade slash me
‫em qualquer API.
‫Então, basicamente, um endpoint onde um usuário pode
‫recuperar seus próprios dados, certo?
‫E então, vamos agora, muito rapidamente, implementar isso.
‫E então basicamente vai ser algo muito
‫semelhante a esses endpoints de atualização e exclusão que
‫já temos, certo?
‫Então, vamos adicionar export dot getme, certo?
‫Agora, ainda queremos usar a
‫função de fábrica getOne, então basicamente, uh, este
‫aqui, certo?
‫Porque caso contrário, seria um
‫código muito, muito semelhante a este.
‫Agora, o único problema com isso é que
‫getOne basicamente usa o ID vindo do parâmetro para obter
‫o documento solicitado.
‫Mas, o que queremos fazer agora é basicamente obter o
‫documento com base no ID do
‫usuário atual, então o ID vem do usuário conectado no momento, certo?
‫E assim não temos que passar nenhum ID como
‫parâmetro de URL, certo?
‫Então, como podemos fazer isso? Bem, muito simples.
‫Tudo o que faremos aqui é um middleware muito
‫simples, que funcionará assim.
‫Como sempre, request, response, next, e então tudo
‫o que faremos é dizer request, dot params,
‫dot ID, que lembre-se, é o que
‫o getOne vai
‫usar e dizer igual a request dot user dot IDENTIFICAÇÃO.
‫E é isso!
‫Tudo bem?
‫Então, adicionaremos esse middleware aqui antes
‫de chamar getOne.
‫Então, vamos implementar isso para as rotas do usuário
‫e vou adicioná-lo aqui.
‫Então, o roteador ponto get slash me, e agora, é
‫claro, precisamos estar logados.
‫Portanto, proteja, e isso irá adicionar
‫o usuário à solicitação atual, que você já
‫sabe, nos permitirá ler o ID desse usuário, certo?
‫Então, a próxima etapa é basicamente colocar esse ID do usuário no ID do
‫ponto params. OK?
‫Então, basicamente fingir que o ID está, na verdade,
‫vindo da URL.
‫Então, controlador de usuário, uh, ponto
‫getme e, finalmente, controlador de usuário getuser.
‫OK? Faz sentido?
‫Agora vamos testar isso muito rapidamente,
‫e será um pouco parecido com isso.
‫Mas então, me corte.
‫Claro que precisamos de autorização. OK?
‫E também estou salvando isso nos usuários,
‫e para obter o usuário atual.
‫Agora ok? Na verdade, vamos adicionar esses
‫nomes porque eles parecem diferentes, então eles têm esses dados aqui por
‫algum motivo.
‫Ok, este não, mas ainda está errado aqui.
‫Tudo bem? Então, vamos agora, apenas para
‫ter certeza, logar como este administrador. Tudo bem?
‫E agora, obtenha os dados sobre este usuário atual.
‫Portanto, nada no corpo, nada na
‫URL, mas ainda obtemos os dados sobre nós mesmos.
‫Então, nome, e-mail, função e realmente todos os dados que
‫existem sobre esse usuário. Agradável.
‫Então, novamente, você viu o grande poder do middleware.
‫Onde foi tão fácil simplesmente implementar este middleware
‫getme, para que, depois disso, possamos usar
‫nosso getuser simples.
‫Então, aquele vindo da função de fábrica, certo?
‫Ok, e é isso.
‫Isso é tudo o que precisamos fazer para esta pequena tarefa.