lucasinocente / simple-messenger

WIP! TIP! Trabalho em progresso!
6 stars 10 forks source link

Na verificação de usuário se for admin direcionar para a tela de mensagens #27

Closed lucasinocente closed 4 years ago

lucasinocente commented 4 years ago

Hoje estamos jogando ambos os usuários para a tela de troca de mensagens.

Na tela de verificação precisamos direcionar o admin pra tela de lista de contatos.

tclemos commented 4 years ago

Olá Lucas, eu gostaria ajudar com essa issue. Segui os passos do Readme para configurar o ambiente, já estou com a aplicação rodando e com o Admin configurado, porém, encontrei 2 problemas:

De resto, parece que tudo está funcionando, consegue me ajudar a te ajudar?

Abraços!

tclemos commented 4 years ago

Ok, encontrei o problema com as mensagens não aparecendo. Eu dei a permissão no banco de dados incorreto, agora está conectando.

Como disse, não encontrei a página de contatos, então pretendo criar um componente vazio para isso, apenas para aplicar a regra de redirecionamento, após isso poderemos criar uma nova issue para construir a tela de contatos.

tclemos commented 4 years ago

@lucasinocente após pesquisar sobre como identificar se um usuário é admin ou não, de acordo com a documentação do firebase, não seria possível verificar esse tipo de detalhe diretamente no client.

Esse tipo de lógica precisa ser colocada em um serviço no back-end, onde as credenciais ficam "protegidas" e o sistema pode ter acesso diretamente ao seu firebase para fazer alterações e também consultas.

O script na pasta admin já faz algo nesse sentido utilizando o SDK do Firebase para lidar com dados de Admin.

lucasinocente commented 4 years ago

Oi @tclemos, obrigado por querer ajudar!

O componente src/containers/Messages/Messages.js é a tela de lista de contatos. Para acessar o endpoint é /messages.

Nesse mesmo componente é usado uma função chamada isAdmin. Essa função se encontra em src/firebase/helpers. Dá uma olhada porque acho que pode te ajudar :)

lucasinocente commented 4 years ago

Vê se isso tira as tuas dúvidas por favor e me avisa

tclemos commented 4 years ago

Cara, eu não sei nem como te explicar, mas como cheguei na conclusão de que precisaríamos de um back-end para resolver o problema, acabei montando toda uma solução baseada nessa estratégia! Só de curiosidade, de uma olhada na branch: https://github.com/tclemos/simple-messenger/tree/backend-server

Nem percebi que o componente messages tinha um comportamento diferente, pois a rota /messages me enganou e não percebi que ela exibia o componente messagesList.

Com essas dicas eu consegui fazer bem rapidinho, sem precisar do back-end, hahaha! 😄

ta lá o PR #29