Este projeto possui um banco de dados fake em fakeData.js com apenas um registro. A ideia é melhorar e o CRUD escrito nos 4 arquivos de teste abaixo.
Será a validada a forma de escrita de código. Escreva códigos que humanos consigam entender.
Fique a vontade para fazer modificaçoes nos serviços, comentários em código, estrutura, mas seja objetivo.
GET em /user
Possuimos neste arquivo um serviço que faz uma busca no banco fake e retorna um registro. Este código funciona, mas é possivel melhorar. Veja o que pode deixar ele melhor escrito e mais performatico.
POST em /users, descubra a intenção dele e o corrija.
Este procura um usuário e o deleta da base. Retorne sucesso para o client caso realmente tenha sido excluido e deixe o código mais performatico.
Atualiza os dados de um usuário especifico.
Retorne quantas vezes determinado usuário foi lido no teste1.
Definina uma forma de criar permissão para o usuario, defina se o usuário pode deletar ou atualizar usuários. Crie um middleware para validar essas permissões e adicione no teste4 e teste3.
1 - instalar dependencias com o comando npm install
2 - rodar o comando npm run dev
, para iniciar o servidor na porta 3000 padrão ou como configurada no ficheiro .env
3 - Importar o ficheiro dentro da pasta src/.insomnia para o seu insomnia e testar os endpoints abaixo (Caso esteje a usar o insomnia ou baixar aqui https://insomnia.rest/download caso não tiver na sua máquina)
get user/
get users/
post users/
delete users/1
put users/1
get users/access
put users/permission/1
body => { "permissions": ["can_update", "can_delete"]}