fix(core.gbapp): Translator is working with correct backend URL.

This commit is contained in:
Rodrigo Rodriguez 2020-05-30 19:30:11 -03:00
parent 1ec645f148
commit 7f3c9fa223
9 changed files with 44 additions and 31 deletions

View file

@ -62,4 +62,8 @@ ALTER TABLE dbo.GuaribasInstance ADD
GO GO
UPDATE dbo.GuaribasInstance SET state= 'active' UPDATE dbo.GuaribasInstance SET state= 'active'
#
``` ```

View file

@ -107,7 +107,7 @@ export class GuaribasInstance extends Model<GuaribasInstance>
public translatorKey: string; public translatorKey: string;
@Column @Column
@Column({ type: DataType.STRING(64) }) @Column({ type: DataType.STRING(128) })
public translatorEndpoint: string; public translatorEndpoint: string;
@Column @Column
@ -226,7 +226,7 @@ export class GuaribasInstance extends Model<GuaribasInstance>
public adminPass: string; public adminPass: string;
@Column(DataType.FLOAT) @Column(DataType.FLOAT)
public nlpVsSearch: number; public nlpVsSearch: number; // TODO: Remove field.
@Column(DataType.FLOAT) @Column(DataType.FLOAT)
public searchScore: number; public searchScore: number;

View file

@ -105,8 +105,7 @@ export class GBConversationalService {
await min.conversationalService.sendText(min, step, url); await min.conversationalService.sendText(min, step, url);
} }
} }
else else {
{
GBLog.info(`Sending file ${url} to ${mobile}...`) GBLog.info(`Sending file ${url} to ${mobile}...`)
const filename = url.substring(url.lastIndexOf('/') + 1); const filename = url.substring(url.lastIndexOf('/') + 1);
await min.whatsAppDirectLine.sendFileToDevice(mobile, url, filename, caption); await min.whatsAppDirectLine.sendFileToDevice(mobile, url, filename, caption);
@ -575,14 +574,15 @@ export class GBConversationalService {
} }
public async prompt(min: GBMinInstance, step: GBDialogStep, text: string) { public async prompt(min: GBMinInstance, step: GBDialogStep, text: string) {
const minBoot = GBServer.globals.minBoot as any;
let sec = new SecService(); let sec = new SecService();
const member = step.context.activity.from; const member = step.context.activity.from;
const user = await sec.ensureUser(min.instance.instanceId, member.id, const user = await sec.ensureUser(min.instance.instanceId, member.id,
member.name, "", "web", member.name); member.name, "", "web", member.name);
text = await min.conversationalService.translate( text = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
text, text,
user.locale ? user.locale : 'pt' user.locale ? user.locale : 'pt'
); );
@ -596,9 +596,10 @@ export class GBConversationalService {
const member = step.context.activity.from; const member = step.context.activity.from;
const user = await sec.ensureUser(min.instance.instanceId, member.id, const user = await sec.ensureUser(min.instance.instanceId, member.id,
member.name, "", "web", member.name); member.name, "", "web", member.name);
const minBoot = GBServer.globals.minBoot as any;
text = await min.conversationalService.translate( text = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
text, text,
user.locale ? user.locale : 'pt' user.locale ? user.locale : 'pt'
); );

View file

@ -166,6 +166,8 @@ export class GBDeployer implements IGBDeployer {
instance.title = botId; instance.title = botId;
instance.activationCode = instance.botId; instance.activationCode = instance.botId;
instance.state = 'active'; instance.state = 'active';
instance.nlpScore = 0.80; // TODO: Migrate to Excel Config.xlsx.
instance.searchScore = 0.45;
await this.core.saveInstance(instance); await this.core.saveInstance(instance);

View file

@ -694,7 +694,7 @@ export class GBMinService {
locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ? locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ?
minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey, minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
minBoot.instance.textAnalyticsEndpoint ? minBoot.instance.textAnalyticsEndpoint ?
minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsKeyEndpoint, query); minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsEndpoint, query);
} }
let sec = new SecService(); let sec = new SecService();
@ -704,10 +704,10 @@ export class GBMinService {
member.name, "", "web", member.name); member.name, "", "web", member.name);
user.locale = locale; user.locale = locale;
await user.save(); await user.save();
const minBoot = GBServer.globals.minBoot as any;
query = await min.conversationalService.translate( query = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
query, query,
'pt'); 'pt');
GBLog.info(`Translated text: ${query}.`) GBLog.info(`Translated text: ${query}.`)

View file

@ -144,7 +144,7 @@ export class FeedbackDialog extends IGBDialog {
minBoot.instance.textAnalyticsKey ? minBoot.instance.textAnalyticsKey ?
minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey, minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
minBoot.instance.textAnalyticsEndpoint ? minBoot.instance.textAnalyticsEndpoint ?
minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsKeyEndpoint, minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsEndpoint,
min.conversationalService.getCurrentLanguage(step), min.conversationalService.getCurrentLanguage(step),
step.result step.result
); );

View file

@ -46,7 +46,6 @@ import { KBService } from './../services/KBService';
import { GuaribasAnswer } from '../models'; import { GuaribasAnswer } from '../models';
import { GBMinService } from '../../../packages/core.gbapp/services/GBMinService'; import { GBMinService } from '../../../packages/core.gbapp/services/GBMinService';
import { SecService } from '../../security.gblib/services/SecService'; import { SecService } from '../../security.gblib/services/SecService';
import { GBConversationalService } from '../../core.gbapp/services/GBConversationalService';
/** /**
* Dialog arguments. * Dialog arguments.
@ -105,12 +104,13 @@ export class AskDialog extends IGBDialog {
let query = step.result; let query = step.result;
let locale = 'pt'; let locale = 'pt';
if (process.env.TRANSLATOR_DISABLED !== "true") {
const minBoot = GBServer.globals.minBoot as any; const minBoot = GBServer.globals.minBoot as any;
if (process.env.TRANSLATOR_DISABLED !== "true") {
locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ? locale = await AzureText.getLocale(minBoot.instance.textAnalyticsKey ?
minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey, minBoot.instance.textAnalyticsKey : minBoot.instance.textAnalyticsKey,
minBoot.instance.textAnalyticsEndpoint ? minBoot.instance.textAnalyticsEndpoint ?
minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsKeyEndpoint, query); minBoot.instance.textAnalyticsEndpoint : minBoot.instance.textAnalyticsEndpoint, query);
} }
let sec = new SecService(); let sec = new SecService();
@ -122,8 +122,8 @@ export class AskDialog extends IGBDialog {
await user.save(); await user.save();
query = await min.conversationalService.translate( query = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
query, query,
'pt'); 'pt');
GBLog.info(`Translated text: ${query}.`) GBLog.info(`Translated text: ${query}.`)
@ -145,9 +145,10 @@ export class AskDialog extends IGBDialog {
const member = step.context.activity.from; const member = step.context.activity.from;
const userDb = await sec.ensureUser(min.instance.instanceId, member.id, const userDb = await sec.ensureUser(min.instance.instanceId, member.id,
member.name, "", "web", member.name); member.name, "", "web", member.name);
const minBoot = GBServer.globals.minBoot as any;
text = await min.conversationalService.translate( text = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
text, text,
userDb.locale ? userDb.locale : 'pt' userDb.locale ? userDb.locale : 'pt'
); );

View file

@ -44,6 +44,7 @@ const walkPromise = require('walk-promise');
// tslint:disable-next-line:newline-per-chained-call // tslint:disable-next-line:newline-per-chained-call
const { SearchService } = require('azure-search-client'); const { SearchService } = require('azure-search-client');
var Excel = require('exceljs'); var Excel = require('exceljs');
import { GBServer } from '../../../src/app';
import { IGBKBService, GBDialogStep, GBLog, IGBConversationalService, IGBCoreService, IGBInstance, GBMinInstance } from 'botlib'; import { IGBKBService, GBDialogStep, GBLog, IGBConversationalService, IGBCoreService, IGBInstance, GBMinInstance } from 'botlib';
import { Op } from 'sequelize'; import { Op } from 'sequelize';
import { Sequelize } from 'sequelize-typescript'; import { Sequelize } from 'sequelize-typescript';
@ -420,14 +421,15 @@ export class KBService implements IGBKBService {
const member = step.context.activity.from; const member = step.context.activity.from;
const user = await sec.ensureUser(min.instance.instanceId, member.id, const user = await sec.ensureUser(min.instance.instanceId, member.id,
member.name, "", "web", member.name); member.name, "", "web", member.name);
const minBoot = GBServer.globals.minBoot as any;
let text = await min.conversationalService.translate( let text = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
answer.content, answer.content,
user.locale ? user.locale : 'pt' user.locale ? user.locale : 'pt'
); );
await conversationalService.sendMarkdownToMobile(min, step, null, answer.content); await conversationalService.sendMarkdownToMobile(min, step, null, text);
} }
else { else {
await min.conversationalService.sendText(min, step, html); await min.conversationalService.sendText(min, step, html);
@ -440,9 +442,10 @@ export class KBService implements IGBKBService {
const member = step.context.activity.from; const member = step.context.activity.from;
const user = await sec.ensureUser(min.instance.instanceId, member.id, const user = await sec.ensureUser(min.instance.instanceId, member.id,
member.name, "", "web", member.name); member.name, "", "web", member.name);
const minBoot = GBServer.globals.minBoot as any;
html = await min.conversationalService.translate( html = await min.conversationalService.translate(
min.instance.translatorKey, min.instance.translatorKey ? min.instance.translatorKey : minBoot.instance.translatorKey,
min.instance.translatorEndpoint, min.instance.translatorEndpoint ? min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
html, html,
user.locale ? user.locale : 'pt' user.locale ? user.locale : 'pt'
); );

View file

@ -414,9 +414,11 @@ export class WhatsappDirectLine extends GBService {
} }
public async sendToDeviceEx(to, msg, locale) { public async sendToDeviceEx(to, msg, locale) {
const minBoot = GBServer.globals.minBoot as any;
const text = await this.min.conversationalService.translate( const text = await this.min.conversationalService.translate(
this.min.instance.translatorKey, this.min.instance.translatorKey ? this.min.instance.translatorKey : minBoot.instance.translatorKey,
this.min.instance.translatorEndpoint, this.min.instance.translatorEndpoint ? this.min.instance.translatorEndpoint : minBoot.instance.translatorEndpoint,
msg, msg,
locale locale
); );