diff --git a/packages/basic.gblib/services/DialogKeywords.ts b/packages/basic.gblib/services/DialogKeywords.ts index a8d29640..4d876bd3 100644 --- a/packages/basic.gblib/services/DialogKeywords.ts +++ b/packages/basic.gblib/services/DialogKeywords.ts @@ -57,8 +57,11 @@ export class DialogKeywords { * Reference to the base system keywords functions to be called. */ public internalSys: SystemKeywords; - - private user; + + /** + * Current user object to get BASIC properties read. + */ + public user; /** * When creating this keyword facade, a bot instance is @@ -66,8 +69,8 @@ export class DialogKeywords { */ constructor(min: GBMinInstance, deployer: GBDeployer, step: GBDialogStep, user) { this.min = min; - this.internalSys = new SystemKeywords(min, deployer, user); this.user = user; + this.internalSys = new SystemKeywords(min, deployer, this); } /** @@ -163,6 +166,7 @@ export class DialogKeywords { user.systemUser = await sec.updateUserLocale(user.systemUser.userId, language); await this.min.userProfile.set(step.context, user); + this.user = user; } /** @@ -175,8 +179,9 @@ export class DialogKeywords { const user = await this.min.userProfile.get(step.context, {}); user.basicOptions.maxLines = count; await this.min.userProfile.set(step.context, user); + this.user = user; } - + /** * Defines translator behaviour. * @@ -187,6 +192,7 @@ export class DialogKeywords { const user = await this.min.userProfile.get(step.context, {}); user.basicOptions.translatorOn = (on.trim() === "on"); await this.min.userProfile.set(step.context, user); + this.user = user; } /** diff --git a/packages/basic.gblib/services/SystemKeywords.ts b/packages/basic.gblib/services/SystemKeywords.ts index 9dd136c6..ea606e02 100644 --- a/packages/basic.gblib/services/SystemKeywords.ts +++ b/packages/basic.gblib/services/SystemKeywords.ts @@ -37,6 +37,7 @@ import urlJoin = require('url-join'); import { GBAdminService } from '../../admin.gbapp/services/GBAdminService'; import { GBDeployer } from '../../core.gbapp/services/GBDeployer'; import { SecService } from '../../security.gbapp/services/SecService'; +import { DialogKeywords } from './DialogKeywords'; const request = require('request-promise-native'); const path = require('path'); const sgMail = require('@sendgrid/mail'); @@ -59,17 +60,18 @@ export class SystemKeywords { * Reference to the deployer service. */ private readonly deployer: GBDeployer; + + dk: DialogKeywords; - private user; /** * When creating this keyword facade, a bot instance is * specified among the deployer service. */ - constructor(min: GBMinInstance, deployer: GBDeployer, user) { - this.user = user; + constructor(min: GBMinInstance, deployer: GBDeployer, dk: DialogKeywords) { this.min = min; this.deployer = deployer; + this.dk = dk; } /** @@ -290,9 +292,9 @@ export class SystemKeywords { let maxLines = 100; - if (this.user.basicOptions && this.user.basicOptions.maxLines) { - if (this.user.basicOptions.maxLines.toString().toLowerCase() !== "default") { - maxLines = Number.parseInt(this.user.basicOptions.maxLines).valueOf(); + if (this.dk.user.basicOptions && this.dk.user.basicOptions.maxLines) { + if (this.dk.user.basicOptions.maxLines.toString().toLowerCase() !== "default") { + maxLines = Number.parseInt(this.dk.user.basicOptions.maxLines).valueOf(); } }