new(core.gbapp): GB Apps can now publish bots and replace root dialog.

This commit is contained in:
Rodrigo Rodriguez 2020-02-26 15:20:47 -03:00
parent eed995e460
commit 3171911c78
7 changed files with 24 additions and 16 deletions

View file

@ -57,9 +57,8 @@ export class WelcomeDialog extends IGBDialog {
min.dialogs.add(new WaterfallDialog('/', [
async step => {
if (GBServer.globals.entryPointDialog !== undefined)
if (GBServer.globals.entryPointDialog !== null)
{
return step.replaceDialog(GBServer.globals.entryPointDialog);
}

View file

@ -92,7 +92,7 @@ export class GBDeployer {
const _this = this;
return new Promise(
async (resolve: any, reject: any)=> {
async (resolve: any, reject: any) => {
GBLog.info(`PWD ${process.env.PWD}...`);
let totalPackages = 0;
let paths = [urlJoin(process.env.PWD, GBDeployer.deployFolder), urlJoin(process.env.PWD, GBDeployer.workFolder)];
@ -163,9 +163,9 @@ export class GBDeployer {
);
}
public async deployBlankBot(botId: string){
public async deployBlankBot(botId: string) {
let instance = await this.importer.createBotInstance(botId);
const username = GBConfigService.get('CLOUD_USERNAME');
const password = GBConfigService.get('CLOUD_PASSWORD');
const accessToken = await GBAdminService.getADALTokenFromUsername(username, password);
@ -243,7 +243,7 @@ export class GBDeployer {
await GBServer.globals.minService.mountBot(instance);
}
await this.core.saveInstance(instance);
}
/**
@ -514,13 +514,12 @@ export class GBDeployer {
}
folder = Path.join(e, 'dist');
if (!Fs.existsSync()) {
if (!Fs.existsSync()) {
GBLog.info(`Compiling ${e}...`);
try {
child_process.execSync(Path.join(process.env.PWD, 'node_modules/.bin/tsc'), { cwd: e });
GBLog.info(`Importando o pacote '${e}' on dir ${process.env.PWD}`);
const m = await import(Path.join(process.env.PWD, e));
const m = await import(e);
const p = new m.Package();
p.loadPackage(core, core.sequelize);
appPackages.push(p);

View file

@ -110,10 +110,11 @@ export class GBMinService {
) {
// Serves default UI on root address '/' if web enabled.
if (process.env.DISABLE_WEB !== 'true') {
let url = urlJoin(GBDeployer.deployFolder, GBMinService.uiPackage, 'build');
let url = GBServer.globals.wwwroot ?
GBServer.globals.wwwroot :
urlJoin(GBDeployer.deployFolder, GBMinService.uiPackage, 'build');
GBServer.globals.server.use('/', express.static(GBServer.globals.wwwroot ?
GBServer.globals.wwwroot : url));
GBServer.globals.server.use('/', express.static(url));
}
// Serves the bot information object via HTTP so clients can get
// instance information stored on server.
@ -483,6 +484,7 @@ export class GBMinService {
appPackages.forEach(e => {
e.onNewSession(min, step);
});
await step.beginDialog('/');
} else {
GBLog.info(`Member added to conversation: ${member.name}`);
}

View file

@ -1,8 +1,8 @@
{
"name": "default.gbui",
"version": "0.0.13",
"version": "1.0.0",
"private": false,
"repository": "https://github.com/pragmatismo-io/BotServer",
"repository": "https://github.com/GeneralBots/BotServer",
"description": "Default web interface for General Bots open-core",
"license": "AGPL-3.0",
"homepage": ".",

View file

@ -138,6 +138,11 @@ class GBUIApp extends React.Component {
}
authenticate() {
if (this.state.instanceClient.authenticatorClientId === null) {
return;
}
let _this_ = this;
let authority = 'https://login.microsoftonline.com/' + this.state.instanceClient.authenticatorTenant;

View file

@ -251,7 +251,7 @@ export class WhatsappDirectLine extends GBService {
const result = await request.post(options);
GBLog.info(result);
} catch (error) {
GBLog.error(`Error sending message to Whatsapp provider ${error.message}`);
GBLog.error(`Error sending file to Whatsapp provider ${error.message}`);
}
}
@ -274,7 +274,7 @@ export class WhatsappDirectLine extends GBService {
const result = await request.post(options);
GBLog.info(result);
} catch (error) {
GBLog.error(`Error sending message to Whatsapp provider ${error.message}`);
GBLog.error(`Error sending audio message to Whatsapp provider ${error.message}`);
}
}
@ -298,6 +298,8 @@ export class WhatsappDirectLine extends GBService {
GBLog.info(result);
} catch (error) {
GBLog.error(`Error sending message to Whatsapp provider ${error.message}`);
// TODO: Handle Error: socket hang up and retry.
}
}
}

View file

@ -90,6 +90,7 @@ export class GBServer {
GBServer.globals.sysPackages = [];
GBServer.globals.minInstances = [];
GBServer.globals.wwwroot = null;
GBServer.globals.entryPointDialog = null;
server.use(bodyParser.json());
server.use(bodyParser.urlencoded({ extended: true }));