From f9ab5b34374fd56f87c45c5196cb1c565ab9cc58 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodriguez Date: Thu, 19 Aug 2021 08:02:56 -0300 Subject: [PATCH] new(admin.gbapp): /publish now reads Can Publish from .gbot besides .env. --- packages/admin.gbapp/dialogs/AdminDialog.ts | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/admin.gbapp/dialogs/AdminDialog.ts b/packages/admin.gbapp/dialogs/AdminDialog.ts index 99034df7..fa014991 100644 --- a/packages/admin.gbapp/dialogs/AdminDialog.ts +++ b/packages/admin.gbapp/dialogs/AdminDialog.ts @@ -78,7 +78,7 @@ export class AdminDialog extends IGBDialog { if (step.context.activity.channelId !== 'msteams' && process.env.ENABLE_AUTH) { return await step.beginDialog('/auth'); } - else{ + else { return await step.next(step.options); } }, @@ -110,7 +110,7 @@ export class AdminDialog extends IGBDialog { if (step.context.activity.channelId !== 'msteams' && process.env.ENABLE_AUTH) { return await step.beginDialog('/auth'); } - else{ + else { return await step.next(step.options); } }, @@ -201,7 +201,7 @@ export class AdminDialog extends IGBDialog { if (step.context.activity.channelId !== 'msteams' && process.env.ENABLE_AUTH) { return await step.beginDialog('/auth'); } - else{ + else { return await step.next(step.options); } }, @@ -237,10 +237,11 @@ export class AdminDialog extends IGBDialog { min.dialogs.add( new WaterfallDialog('/publish', [ async step => { + if (step.context.activity.channelId !== 'msteams' && process.env.ENABLE_AUTH) { return await step.beginDialog('/auth'); } - else{ + else { return await step.next(step.options); } }, @@ -351,7 +352,14 @@ export class AdminDialog extends IGBDialog { */ public static canPublish(min: GBMinInstance, phone: string): Boolean { if (process.env.SECURITY_CAN_PUBLISH !== undefined) { - const list = process.env.SECURITY_CAN_PUBLISH.split(';'); + let list = process.env.SECURITY_CAN_PUBLISH.split(';'); + + const canPublish = + min.core.getParam(min.instance, 'Can Publish', null); + if (canPublish) { + list = list.concat(canPublish.split(';')); + } + let result = list.includes(phone); if (!result && min.instance.params) { @@ -369,7 +377,7 @@ export class AdminDialog extends IGBDialog { if (step.context.activity.channelId !== 'msteams' && process.env.ENABLE_AUTH) { return await step.beginDialog('/auth'); } - else{ + else { return await step.next(step.options); } },