FireSync
  • Documentação
  • FireSync.APP
    • Bancos de Dados
      • Criação
        • Autorização de IP's
      • Edição
    • Menus
      • Criação
      • Edição
        • Busca Avançada
        • Header
        • Vinculos
    • Dashboards
    • Conta FireSync
      • Integrações
      • Usuários
      • Permissões
  • Serviços
    • Connector
      • NodeJS Modulo
      • Criação de Conector
      • Edição / Acesso
      • API
    • DBRealTime
      • Cliente Javascript
        • Introdução
        • Versão Atual
        • Instalação / Configuração
        • Conceitos Fundamentais
          • Conexão e Autenticação
          • Referência do Banco de Dados (DatabaseReference)
          • Caminhos (path vs relativePath)
          • Snapshot de Dados (DataSnapshot)
          • Chaves Inválidas
        • Guia Rápido / Uso Básico
        • Referência da API
          • Objeto fireSyncClient
          • Classe DatabaseReference
          • Classe DataSnapshot
        • Listeners em Tempo Real (onValue, off)
        • Eventos Públicos (on, off)
        • Tratamento de Erros
        • Exemplo Completo
      • Cliente NodeJS
        • Introdução
        • Instalação
        • Conceitos Fundamentais
          • Inicialização e Configuração
          • Cabeçalho Origin (Obrigatório)
          • Conexão, Estado e Reconexão
          • Autenticação (TOKEN)
          • Referência (DatabaseReference) e Caminhos
          • Snapshot de Dados (DataSnapshot)
          • IDs de Requisição (Uso Interno)
          • Chaves Inválidas
        • Guia Rápido / Uso Básico
        • Referência da API
          • Objeto fireSyncClient
          • Classe DatabaseReference
          • Classe DataSnapshot
        • Listeners em Tempo Real (onValue, off)
        • Eventos Públicos (on, off)
        • Tratamento de Erros
  • FireSync.Tools
    • FireSync Tools
    • XmlToJson
    • QRCode
    • Date
    • PIX
      • QRPIX
      • PIX
  • API Integrações
    • Integrações
    • Entry
    • Query
Fornecido por GitBook
Nesta página
  1. Serviços
  2. DBRealTime
  3. Cliente NodeJS

Guia Rápido / Uso Básico


const fireSyncClient = require('firesync-db-client');
const myJwt = process.env.FIRESYNC_TOKEN;
const myOrigin = process.env.FIRESYNC_ORIGIN; 

if (!myJwt || !myOrigin) {
    console.error("Erro: Token ou Origin não definidos nas variáveis de ambiente.");
    process.exit(1);
}

async function main() {
    console.log("Inicializando FireSync Client...");
    try {
        fireSyncClient.initialize({ s: myJwt, origin: myOrigin });
    } catch (initError) {
        console.error("Falha na inicialização:", initError);
        process.exit(1);
    }

    // Ouvir eventos de estado
    fireSyncClient.on('state_changed', (newState) => console.log(`[APP EVENT] Estado: ${newState}`));
    fireSyncClient.on('error', (err) => console.error(`[APP EVENT] Erro: ${err.message}`));
    fireSyncClient.on('disconnected', (details) => console.warn(`[APP EVENT] Desconectado: Code=${details.code}, Limpo=${details.wasClean}`));

    try {
        console.log("Conectando...");
        await fireSyncClient.connect(); // Espera conectar e autenticar
        console.log("Conectado e Autenticado!");

        const statusRef = fireSyncClient.ref('service/node_client/status');

        console.log("Definindo status...");
        await statusRef.set({ // set agora retorna Promise que espera confirmação
            state: 'online',
            pid: process.pid,
            lastUpdate: Date.now()
        });
        console.log("Status definido.");

        console.log("Lendo status...");
        const snapshot = await statusRef.get(); // get agora retorna Promise que espera resposta
        if (snapshot.exists()) {
            console.log("Status lido:", snapshot.val());
        } else {
            console.log("Status não encontrado.");
        }

        // Desconecta após o teste
        console.log("Desconectando...");
        fireSyncClient.disconnect();

    } catch (error) {
        console.error("Erro durante a execução:", error);
        // Tenta desconectar em caso de erro também
        if(fireSyncClient.getConnectionState() !== 'disconnected') {
             fireSyncClient.disconnect();
        }
    }
}

main();

// Mantém o processo rodando um pouco para ver logs de desconexão (se houver)
// Em uma aplicação real, você manteria o processo rodando pelo tempo necessário.
// setTimeout(() => { console.log("Encerrando script de exemplo."); }, 5000);
AnteriorChaves InválidasPróximoReferência da API

Atualizado há 1 mês