UNPKG

prodap-chatbot-metricas

Version:

Biblioteca reponsável por capturar as métricas das Cloud Functions do Assistente Virtual

49 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Routes = exports.Origin = exports.Classification = void 0; exports.criarMetricaLore = criarMetricaLore; const pubsub_1 = require("@google-cloud/pubsub"); const util_1 = require("./util"); const types_1 = require("./types"); Object.defineProperty(exports, "Classification", { enumerable: true, get: function () { return types_1.Classification; } }); Object.defineProperty(exports, "Origin", { enumerable: true, get: function () { return types_1.Origin; } }); Object.defineProperty(exports, "Routes", { enumerable: true, get: function () { return types_1.Routes; } }); const pubsub = new pubsub_1.PubSub({ projectId: process.env.PROJECT_ID || 'prodap-testes-eds' }); const topicIntance = pubsub.topic('metrica', { batching: { maxMessages: 1 } }); async function criarMetricaLore(metricaProps, maxMessages) { const metrica = { codigo: (0, util_1.uniqueID)(), versao: 1, app: 'lore', tipo: 'utilizacao', intencao: metricaProps.intencao, versaoFuncao: metricaProps.versaoFuncao, idFazenda: metricaProps.idFazenda, usuario: metricaProps.usuario, dataOcorrencia: new Date(), codigoDialogo: metricaProps.codigoDialogo, idSessao: metricaProps.idSessao, interacao: metricaProps.interacao, rota: metricaProps.rota, expoToken: metricaProps.expoToken, idFazendaGA: metricaProps.idFazendaGA, interacaoApp: metricaProps.interacaoApp === true ? true : false, categoria: metricaProps.categoria, origem: metricaProps.origem, classificacao: metricaProps.classificacao, origemRecomendacao: metricaProps.origemRecomendacao, }; const mensagem = Buffer.from(JSON.stringify(metrica), 'utf-8'); try { const topic = maxMessages ? pubsub.topic('metrica', { batching: { maxMessages: maxMessages } }) : topicIntance; topic.publishMessage({ data: mensagem }); } catch (err) { console.error(err); } } //# sourceMappingURL=index.js.map