From f6d70b4f7d911d9e8a7f679ef39213eae1be9282 Mon Sep 17 00:00:00 2001 From: Leifer Mendez Date: Wed, 23 Nov 2022 20:56:17 +0100 Subject: [PATCH] working child flow --- TODO.md | 3 ++- packages/bot/core/core.class.js | 2 +- packages/bot/io/methods/toSerialize.js | 1 + packages/bot/utils/hash.js | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index e932143..945e273 100644 --- a/TODO.md +++ b/TODO.md @@ -2,4 +2,5 @@ - [ ] Posibilidad de en el capture meter todo un nuevo CTX de FLOW .addAnswer('Marca la opcion',{capture:true, join:CTX}) - [ ] .addKeyword('1') no funciona con 1 caracter - [ ] sensitivy viene activado por defecto -- [ ] colocar mensaje esperando conectando whatsapp (provider) \ No newline at end of file +- [ ] colocar mensaje esperando conectando whatsapp (provider) +- [ ] fallback respuesta en hijo \ No newline at end of file diff --git a/packages/bot/core/core.class.js b/packages/bot/core/core.class.js index 3d497dc..106b9c9 100644 --- a/packages/bot/core/core.class.js +++ b/packages/bot/core/core.class.js @@ -77,7 +77,7 @@ class CoreClass { if (prevMsg?.options?.nested?.length) { const nestedRef = prevMsg.options.nested const flowStandalone = nestedRef.map((f) => ({ - ...this.flowClass.findBySerialize(f), + ...nestedRef.find((r) => r.refSerialize === f.refSerialize), })) msgToSend = this.flowClass.find(body, false, flowStandalone) || [] diff --git a/packages/bot/io/methods/toSerialize.js b/packages/bot/io/methods/toSerialize.js index 940604e..21ebf74 100644 --- a/packages/bot/io/methods/toSerialize.js +++ b/packages/bot/io/methods/toSerialize.js @@ -12,6 +12,7 @@ const toSerialize = (flowJson) => { ...row, refSerialize: `${generateRefSerialize({ index, + keyword: row.keyword, answer: row.answer, })}`, })) diff --git a/packages/bot/utils/hash.js b/packages/bot/utils/hash.js index 19e3c30..84a25db 100644 --- a/packages/bot/utils/hash.js +++ b/packages/bot/utils/hash.js @@ -15,10 +15,10 @@ const generateRef = (prefix = false) => { * @param {*} param0 * @returns */ -const generateRefSerialize = ({ index, answer }) => +const generateRefSerialize = ({ index, answer, keyword }) => crypto .createHash('md5') - .update(JSON.stringify({ index, answer })) + .update(JSON.stringify({ index, answer, keyword })) .digest('hex') module.exports = { generateRef, generateRefSerialize }