diff --git a/packages/basic.gblib/services/DialogKeywords.ts b/packages/basic.gblib/services/DialogKeywords.ts index 206f8923..7de3ba80 100644 --- a/packages/basic.gblib/services/DialogKeywords.ts +++ b/packages/basic.gblib/services/DialogKeywords.ts @@ -578,7 +578,7 @@ export class DialogKeywords { * @example TRANSFER * */ - public async transfer(step, to: string = null) { + public async transferTo(step, to: string = null) { return await step.beginDialog('/t', {to: to}); } diff --git a/packages/basic.gblib/services/GBVMService.ts b/packages/basic.gblib/services/GBVMService.ts index ca7dee30..df459a58 100644 --- a/packages/basic.gblib/services/GBVMService.ts +++ b/packages/basic.gblib/services/GBVMService.ts @@ -374,11 +374,11 @@ export class GBVMService extends GBService { }); code = code.replace(/(transfer to)(\s)(.*)/gi, ($0, $1, $2, $3) => { - return `transfer (step, ${$3})\n`; + return `transferTo (step, ${$3})\n`; }); - code = code.replace(/(transfer)(?=(?:[^"]|"[^"]*")*$)/gi, () => { - return `transfer (step)\n`; + code = code.replace(/(\btransfer\b)(?=(?:[^"]|"[^"]*")*$)/gi, () => { + return `transferTo (step)\n`; }); code = code.replace(/(exit)/gi, () => { @@ -599,8 +599,8 @@ export class GBVMService extends GBService { code = code.replace(/("[^"]*"|'[^']*')|\bsetWholeWord\b/gi, ($0, $1) => { return $1 === undefined ? 'this.setWholeWord' : $1; }); - code = code.replace(/("[^"]*"|'[^']*')|\btransfer\b/gi, ($0, $1) => { - return $1 === undefined ? 'this.transfer' : $1; + code = code.replace(/("[^"]*"|'[^']*')|\btransferTo\b/gi, ($0, $1) => { + return $1 === undefined ? 'this.transferTo' : $1; }); code = code.replace(/("[^"]*"|'[^']*')|\bcreateDeal\b/gi, ($0, $1) => { return $1 === undefined ? 'this.createDeal' : $1; diff --git a/packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts b/packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts index 42223ff2..2e8365ed 100644 --- a/packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts +++ b/packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts @@ -84,18 +84,19 @@ export class FeedbackDialog extends IGBDialog { const locale = step.context.activity.locale; const sec = new SecService(); let from = GBMinService.userMobile(step); - const user = await min.userProfile.get(step.context, {}); - - const args = step.activeDialog.state.options.args; + const profile = await min.userProfile.get(step.context, {}); + const args = step.activeDialog.state.options; // Transfer to... if (args && args.to) { - // An user from Teams willing to transfer to a WhatsApp user. + + await sec.ensureUser(min.instance.instanceId, args.to, + 'Name', '', 'whatsapp', 'Name', null); - await sec.assignHumanAgent(min, args.to, user.userSystemId); + await sec.assignHumanAgent(min, args.to, profile.systemUser.userSystemId); await min.conversationalService.sendText(min, step, Messages[locale].notify_agent_transfer_done(min.instance.botId)); @@ -105,8 +106,8 @@ export class FeedbackDialog extends IGBDialog { await min.conversationalService.sendText(min, step, Messages[locale].please_wait_transfering); const agentSystemId = await sec.assignHumanAgent(min, from); - user.systemUser = await sec.getUserFromAgentSystemId(agentSystemId); - await min.userProfile.set(step.context, user); + profile.systemUser = await sec.getUserFromAgentSystemId(agentSystemId); + await min.userProfile.set(step.context, profile); if (agentSystemId.charAt(2) === ":" || agentSystemId.indexOf("@") > -1) { // Agent is from Teams or Google Chat. diff --git a/packages/security.gbapp/services/SecService.ts b/packages/security.gbapp/services/SecService.ts index 9b0c65d4..51641e1a 100644 --- a/packages/security.gbapp/services/SecService.ts +++ b/packages/security.gbapp/services/SecService.ts @@ -111,7 +111,7 @@ export class SecService extends GBService { instanceId: number, agentSystemId: string ): Promise { - const user = await GuaribasUser.findOne({ + const user = await GuaribasUser.findOne({ where: { userSystemId: userSystemId, instanceId: instanceId