Firebase Cloud Functions — Limpeza e Manutenção da Realtime Database

Rosário Pereira Fernandes
2 min readApr 1, 2017

Este artigo é parte da série Firebase Cloud Functions:

  1. O que é Firebase Cloud Functions?
  2. Firebase Cloud Functions — Como começar?
  3. Firebase Cloud Functions + Cloud Messaging
  4. Firebase Cloud Functions — Limpeza e Manutenção da Realtime Database
  5. Firebase Cloud Functions — Chame uma função na sua app
  6. 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:

Quando surge uma nova mensagem, ela é passada ao Function para ser verificada e “limpa” se necessária e no fim reescrita na base de dados

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:

No artigo seguinte vemos como criar uma função que pode ser chamada diretamente da nossa aplicação Android:

https://medium.com/@rosariopfernandes/48d503a6cd24

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ê. :)

--

--

Rosário Pereira Fernandes

Firebase DevRel Engineer at Google … Views and Opinions are my own.