From ec40fd8b62dc4248c74a33141cccabd558b80e17 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Sat, 5 Dec 2020 17:27:27 -0300 Subject: [PATCH] fix(core.gbapp): Fix in deployer. --- packages/core.gbapp/services/GBDeployer.ts | 7 ++++++- packages/core.gbapp/services/GBMinService.ts | 18 ++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/core.gbapp/services/GBDeployer.ts b/packages/core.gbapp/services/GBDeployer.ts index 75d46106..7674b3ce 100644 --- a/packages/core.gbapp/services/GBDeployer.ts +++ b/packages/core.gbapp/services/GBDeployer.ts @@ -349,7 +349,7 @@ export class GBDeployer implements IGBDeployer { await this.core.deleteInstance(botId); } public async deployPackageToStorage(instanceId: number, packageName: string): Promise { - return GuaribasPackage.create({ + return await GuaribasPackage.create({ packageName: packageName, instanceId: instanceId }); @@ -389,7 +389,12 @@ export class GBDeployer implements IGBDeployer { }, updatePackage: async (p: GuaribasPackage) => { p.save(); + }, + existsPackage: async (packageName: string) => { + return await _this.getStoragePackageByName(min.instance.instanceId, packageName); } + + })) ) { handled = true; diff --git a/packages/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts index 77a678a7..49ee9e67 100644 --- a/packages/core.gbapp/services/GBMinService.ts +++ b/packages/core.gbapp/services/GBMinService.ts @@ -803,11 +803,13 @@ export class GBMinService { ); let keepTextList = []; - const replacementToken = GBAdminService['getNumberIdentifier'](); + if (keepTextList) { keepTextList = keepTextList.concat(keepText.split(';')); } + let replacements = []; + await CollectionUtil.asyncForEach(min.appPackages, async (e: IGBPackage) => { const result = await e.onExchangeData(min, 'getKeepText', {}); if (result) { @@ -818,12 +820,16 @@ export class GBMinService { if (keepTextList) { let i = 0; await CollectionUtil.asyncForEach(keepTextList, item => { - i++; - text = text.replace(new RegExp(item.trim(), 'gi'), `${replacementToken}${i}`); + if (text.indexOf(item) != -1) { + const replacementToken = GBAdminService['getNumberIdentifier'](); + replacements[i] = { text: item, replacementToken: replacementToken }; + i++; + text = text.replace(new RegExp(item.trim(), 'gi'), `${replacementToken}`); + } }); } text = await min.conversationalService.spellCheck(min, text); - + // Detects user typed language and updates their locale profile if applies. let locale = min.core.getParam( @@ -867,9 +873,9 @@ export class GBMinService { if (keepTextList) { let i = 0; - await CollectionUtil.asyncForEach(keepTextList, item => { + await CollectionUtil.asyncForEach(replacements, item => { i++; - text = text.replace(new RegExp(`\\b${replacementToken}${i}\\b`, 'gi'), item.trim()); + text = text.replace(new RegExp(`${item.replacementToken}`, 'gi'), item.text); }); }