Firebase Cloud Functions — Limpeza e Manutenção da Realtime Database
Este artigo é parte da série Firebase Cloud Functions:
- O que é Firebase Cloud Functions?
- Firebase Cloud Functions — Como começar?
- Firebase Cloud Functions + Cloud Messaging
- Firebase Cloud Functions — Limpeza e Manutenção da Realtime Database
- Firebase Cloud Functions — Chame uma função na sua app
- Firebase Cloud Functions — Pesquisa de Texto na Base de Dados
Limpeza e Manutenção da Realtime Database
Agora que já conhecemos o Firebase Cloud Functions e sabemos como utilizá-lo, vamos ver um outro uso dele: manter e limpar a base de dados.
Por exemplo, numa aplicação de conversas, os utilizadores podem enviar palavras insultuosas ou obscenas (chamemos de palavrões daqui em diante). Com o Cloud Functions, podemos censurar estas palavras para manter um bom ambiente na nossa aplicação:
Para isso, vamos utilizar bad-words e badwords-list, que transformam palavrões (em inglês) em *****. Mas se você não quiser filtrar só os palavrões em inglês, também pode adicionar alguns palavrões em português que devem ser filtrados.
Supondo que as mensagens na nossa base de dados são guardadas apenas com o atributo “texto”, depois de uma mensagem ser enviada, ela passará a ter mais 2 atributos:
- verificada — indica se a mensagem já foi verificada pelo Cloud Functions
- censurada — indica se a mensagem teve de ser censurada depois da verificação.
Mão na massa!
Vamos então começar por adicionar as dependencias. Navegue para o directório functions do seu projecto e instale as dependencias utilizando o comando:
npm install bad-wordsnpm install badwords-list
Em seguida, adicione as dependências para o seu ficheiro package.json (do directório functions):
Tendo as dependências prontas, podemos criar a nossa função:
E agora é só fazer um firebase deploy
e testar. ;) Envie uma mensagem obscena para a base de dados be ela será automaticamente verificada e censurada.
Outros casos em que você pode querer utilizar esta técnica:
- Eliminar dados de um ex-utilizador Realtime Database
- Limitar o número de subnós na Firebase database
- Copiar dados da Realtime Database para o Google Cloud BigQuery
- Converter texto para emoji
No artigo seguinte vemos como criar uma função que pode ser chamada diretamente da nossa aplicação Android:
Se você tem alguma dúvida ou sugestão, não hesite em me contactar pelo email rosariofernandes51@gmail.com ou pelo Telegram. Ficarei feliz por conversar com você. :)