diff --git a/.gitignore b/.gitignore index 3e608fd3..e3923916 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ node_modules -/deploy/default.gbui/build +/packages/default.gbui/build /dist /guaribas.sqlite /guaribas.log diff --git a/.npmignore b/.npmignore index 540ce14d..4d8267c0 100644 --- a/.npmignore +++ b/.npmignore @@ -1,5 +1,5 @@ node_modules -/deploy/default.gbui/build +/packages/default.gbui/build /guaribas.sqlite /guaribas.log /work \ No newline at end of file diff --git a/README.md b/README.md index f9afacab..4a6aa97f 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Package Quick Reference ------------ |Whatsapp|Web|Core|KB| |----|-----|----|----| -|[whatsapp.gblib](https://github.com/pragmatismo-io/BotServer/tree/master/deploy/whatsapp.gblib)|[default.gbui](https://github.com/pragmatismo-io/BotServer/tree/master/deploy/default.gbui)|[core.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/deploy/core.gbapp)|[kb.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/deploy/kb.gbapp)| +|[whatsapp.gblib](https://github.com/pragmatismo-io/BotServer/tree/master/packages/whatsapp.gblib)|[default.gbui](https://github.com/pragmatismo-io/BotServer/tree/master/packages/default.gbui)|[core.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/packages/core.gbapp)|[kb.gbapp](https://github.com/pragmatismo-io/BotServer/tree/master/packages/kb.gbapp)| ![General Bot Logo](https://raw.githubusercontent.com/pragmatismo-io/BotServer/master/docs/images/general-bots-stack.png) @@ -86,7 +86,7 @@ Note: 6. Clone the just forked repository by running `git clone /BotServer.git` ; 7. Run `npm install -g typescript`; 8. Run `npm install` on Command Prompt or PowerShell on the General Bot source-code folder; -9. Enter './deploy/default.gbui' folder; +9. Enter './packages/default.gbui' folder; 10. Run `npm install` folled by `npm run build` (To build default Bot UI); 11. Enter the On the downloaded folder (../..); 12. Compile the bot server by `tsc`. diff --git a/deploy/admin.gbapp/dialogs/AdminDialog.ts b/packages/admin.gbapp/dialogs/AdminDialog.ts similarity index 99% rename from deploy/admin.gbapp/dialogs/AdminDialog.ts rename to packages/admin.gbapp/dialogs/AdminDialog.ts index 8f644bed..93adf5c3 100644 --- a/deploy/admin.gbapp/dialogs/AdminDialog.ts +++ b/packages/admin.gbapp/dialogs/AdminDialog.ts @@ -57,7 +57,7 @@ export class AdminDialog extends IGBDialog { let deployer = new GBDeployer(min.core, importer); await deployer.undeployPackageFromLocalPath( min.instance, - UrlJoin("deploy", packageName) + UrlJoin("packages", packageName) ); } diff --git a/deploy/admin.gbapp/index.ts b/packages/admin.gbapp/index.ts similarity index 100% rename from deploy/admin.gbapp/index.ts rename to packages/admin.gbapp/index.ts diff --git a/deploy/admin.gbapp/models/AdminModel.ts b/packages/admin.gbapp/models/AdminModel.ts similarity index 100% rename from deploy/admin.gbapp/models/AdminModel.ts rename to packages/admin.gbapp/models/AdminModel.ts diff --git a/deploy/admin.gbapp/services/GBAdminService.ts b/packages/admin.gbapp/services/GBAdminService.ts similarity index 67% rename from deploy/admin.gbapp/services/GBAdminService.ts rename to packages/admin.gbapp/services/GBAdminService.ts index 0501a0a9..b7df4b44 100644 --- a/deploy/admin.gbapp/services/GBAdminService.ts +++ b/packages/admin.gbapp/services/GBAdminService.ts @@ -36,14 +36,17 @@ import { GuaribasAdmin } from "../models/AdminModel"; import { IGBCoreService } from "botlib"; import { AuthenticationContext, TokenResponse } from "adal-node"; const UrlJoin = require("url-join"); - -const ngrok = require("ngrok"); +const msRestAzure = require("ms-rest-azure"); +const PasswordGenerator = require("strict-password-generator").default; export class GBAdminService { + static generateUuid(): string { + return msRestAzure.generateUuid(); + } static masterBotInstanceId = 0; public static StrongRegex = new RegExp( - "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*\+_\-])(?=.{8,})" + "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*+_-])(?=.{8,})" ); core: IGBCoreService; @@ -76,6 +79,37 @@ export class GBAdminService { return Promise.resolve(obj.value); } + public static async acquireMsGraphTokenFromUsername(username, password) { + return new Promise(async (resolve, reject) => { + let resource = "https://graph.microsoft.com"; + let authenticatorAuthorityHostUrl = "https://login.microsoftonline.com"; + let authenticatorTenant = "pragmatismo.onmicrosoft.com"; + let authenticatorClientId = "0ffice19-91d5-41ea-98a4-ceea1655cc0b"; + + let authorizationUrl = UrlJoin( + authenticatorAuthorityHostUrl, + authenticatorTenant, + "/oauth2/authorize" + ); + var authenticationContext = new AuthenticationContext(authorizationUrl); + + authenticationContext.acquireTokenWithUsernamePassword( + resource, + username, + password, + authenticatorClientId, + async (err, res) => { + if (err) { + reject(err); + } else { + let token = res as TokenResponse; + resolve(token.accessToken); + } + } + ); + }); + } + public async acquireElevatedToken(instanceId): Promise { return new Promise(async (resolve, reject) => { let instance = await this.core.loadInstanceById(instanceId); @@ -91,10 +125,9 @@ export class GBAdminService { "/oauth2/authorize" ); - var authenticationContext = new AuthenticationContext(authorizationUrl); let refreshToken = await this.getValue(instanceId, "refreshToken"); let resource = "https://graph.microsoft.com"; - + var authenticationContext = new AuthenticationContext(authorizationUrl); authenticationContext.acquireTokenWithRefreshToken( refreshToken, instance.authenticatorClientId, @@ -104,27 +137,65 @@ export class GBAdminService { if (err) { reject(err); } else { - let tokens = res as TokenResponse; + let token = res as TokenResponse; await this.setValue( instanceId, "accessToken", - tokens.accessToken + token.accessToken ); await this.setValue( instanceId, "refreshToken", - tokens.refreshToken + token.refreshToken ); await this.setValue( instanceId, "expiresOn", - tokens.expiresOn.toString() + token.expiresOn.toString() ); - resolve(tokens.accessToken); + resolve(token.accessToken); } } ); } }); } + + public static async getADALTokenFromUsername( + username: string, + password: string + ) { + let credentials = await GBAdminService.getADALCredentialsFromUsername( + username, + password + ); + let accessToken = credentials.tokenCache._entries[0].accessToken; + return accessToken; + } + + public static async getADALCredentialsFromUsername( + username: string, + password: string + ) { + let credentials = await msRestAzure.loginWithUsernamePassword( + username, + password + ); + return credentials; + } + + public static getRndPassword() { + const passwordGenerator = new PasswordGenerator(); + const options = { + upperCaseAlpha: true, + lowerCaseAlpha: true, + number: true, + specialCharacter: true, + minimumLength: 12, + maximumLength: 14 + }; + let password = passwordGenerator.generatePassword(options); + password = password.replace(/[=:;\?]/g, ""); + return password; + } } diff --git a/deploy/admin.gbapp/strings.ts b/packages/admin.gbapp/strings.ts similarity index 100% rename from deploy/admin.gbapp/strings.ts rename to packages/admin.gbapp/strings.ts diff --git a/deploy/analytics.gblib/index.ts b/packages/analytics.gblib/index.ts similarity index 100% rename from deploy/analytics.gblib/index.ts rename to packages/analytics.gblib/index.ts diff --git a/deploy/analytics.gblib/models/index.ts b/packages/analytics.gblib/models/index.ts similarity index 100% rename from deploy/analytics.gblib/models/index.ts rename to packages/analytics.gblib/models/index.ts diff --git a/deploy/analytics.gblib/services/AnalyticsService.ts b/packages/analytics.gblib/services/AnalyticsService.ts similarity index 100% rename from deploy/analytics.gblib/services/AnalyticsService.ts rename to packages/analytics.gblib/services/AnalyticsService.ts diff --git a/deploy/azuredeployer.gbapp/dialogs/BotFarmDialog.ts b/packages/azuredeployer.gbapp/dialogs/BotFarmDialog.ts similarity index 100% rename from deploy/azuredeployer.gbapp/dialogs/BotFarmDialog.ts rename to packages/azuredeployer.gbapp/dialogs/BotFarmDialog.ts diff --git a/deploy/azuredeployer.gbapp/index.ts b/packages/azuredeployer.gbapp/index.ts similarity index 100% rename from deploy/azuredeployer.gbapp/index.ts rename to packages/azuredeployer.gbapp/index.ts diff --git a/deploy/azuredeployer.gbapp/services/AzureDeployerService.ts b/packages/azuredeployer.gbapp/services/AzureDeployerService.ts similarity index 91% rename from deploy/azuredeployer.gbapp/services/AzureDeployerService.ts rename to packages/azuredeployer.gbapp/services/AzureDeployerService.ts index 70d7f3af..f31aff1e 100644 --- a/deploy/azuredeployer.gbapp/services/AzureDeployerService.ts +++ b/packages/azuredeployer.gbapp/services/AzureDeployerService.ts @@ -45,15 +45,14 @@ import { SearchManagementClient } from "azure-arm-search"; import { WebResource, ServiceClient, HttpMethods } from "ms-rest-js"; import * as simplegit from "simple-git/promise"; import { AppServicePlan } from "azure-arm-website/lib/models"; -import { GBConfigService } from "../../../deploy/core.gbapp/services/GBConfigService"; +import { GBConfigService } from "../../../packages/core.gbapp/services/GBConfigService"; +import { GBAdminService } from "../../../packages/admin.gbapp/services/GBAdminService"; const Spinner = require("cli-spinner").Spinner; const scanf = require("scanf"); -const msRestAzure = require("ms-rest-azure"); const git = simplegit(); const logger = require("../../../src/logger"); const UrlJoin = require("url-join"); -const PasswordGenerator = require("strict-password-generator").default; const iconUrl = "https://github.com/pragmatismo-io/BotServer/blob/master/docs/images/generalbots-logo-squared.png"; const publicIp = require("public-ip"); @@ -92,6 +91,9 @@ export class AzureDeployerService extends GBService { let keys: any; let name = instance.botId; + instance.marketplacePassword = GBAdminService.getRndPassword(); + await this.internalDeployApp(name, instance.marketplacePassword) + logger.info(`Deploying Deploy Group (It may take a few minutes)...`); await this.createDeployGroup(name, instance.cloudLocation); @@ -108,8 +110,8 @@ export class AzureDeployerService extends GBService { instance.cloudLocation ); - let administratorLogin = AzureDeployerService.getRndAdminAccount(); - let administratorPassword = AzureDeployerService.getRndPassword(); + let administratorLogin = `sa${GBAdminService.getRndPassword()}`; + let administratorPassword = GBAdminService.getRndPassword(); logger.info(`Deploying Bot Storage...`); let storageServer = `${name}-storage-server`; @@ -193,7 +195,7 @@ export class AzureDeployerService extends GBService { culture, instance.nlpAuthoringKey ); - let appId = msRestAzure.generateUuid(); + let appId = GBAdminService.generateUuid(); instance.nlpEndpoint = nlp.endpoint; instance.nlpKey = keys.key1; instance.nlpAppId = nlpAppId; @@ -218,19 +220,18 @@ export class AzureDeployerService extends GBService { let password = GBConfigService.get("CLOUD_PASSWORD"); let subscriptionId = GBConfigService.get("CLOUD_SUBSCRIPTIONID"); - let credentials = await msRestAzure.loginWithUsernamePassword( + let credentials = await GBAdminService.getADALCredentialsFromUsername( username, password ); + let storageClient = new SqlManagementClient(credentials, subscriptionId); let ip = await publicIp.v4(); - let params = { startIpAddress: ip, endIpAddress: ip }; - let storageClient = new SqlManagementClient(credentials, subscriptionId); await storageClient.firewallRules.createOrUpdate( groupName, serverName, @@ -298,7 +299,7 @@ export class AzureDeployerService extends GBService { // Connects to the cloud and retrives subscriptions. - let credentials = await msRestAzure.loginWithUsernamePassword( + let credentials = await GBAdminService.getADALCredentialsFromUsername( username, password ); @@ -342,7 +343,7 @@ export class AzureDeployerService extends GBService { instance.cloudSubscriptionId = subscriptionId; instance.cloudLocation = location; instance.nlpAuthoringKey = authoringKey; - instance.adminPass = AzureDeployerService.getRndPassword(); + instance.adminPass = GBAdminService.getRndPassword(); this.resourceClient = new ResourceManagementClient.default( credentials, @@ -423,13 +424,46 @@ export class AzureDeployerService extends GBService { req.headers = {}; req.headers["Content-Type"] = "application/json; charset=utf-8"; req.headers["accept-language"] = "*"; - req.headers["x-ms-client-request-id"] = msRestAzure.generateUuid(); + req.headers["x-ms-client-request-id"] = GBAdminService.generateUuid(); req.headers["Authorization"] = "Bearer " + accessToken; let httpClient = new ServiceClient(); let res = await httpClient.sendRequest(req); } + private async internalDeployApp(name, pass) { + + let username = GBConfigService.get("CLOUD_USERNAME"); + let password = GBConfigService.get("CLOUD_PASSWORD"); + let accessToken = await GBAdminService.acquireMsGraphTokenFromUsername(username, password); + + let graphUrl = "https://graph.microsoft.com"; + let expiresOn = new Date().toISOString(); + + let parameters = { + displayName: name, + passwordCredentials: [ + { + secretText: pass, + endDateTime: expiresOn + } + ] + }; + + let req = new WebResource(); + req.method = "POST"; + req.url = `${graphUrl}/beta/applications`; + req.headers = {}; + req.headers["Content-Type"] = "application/json; charset=utf-8"; + req.headers["accept-language"] = "*"; + req.headers["x-ms-client-request-id"] = GBAdminService.generateUuid(); + req.headers["Authorization"] = "Bearer " + accessToken; + req.body = parameters; + + let httpClient = new ServiceClient(); + return await httpClient.sendRequest(req); + } + /** * @see https://github.com/Azure/azure-rest-api-specs/blob/master/specification/botservice/resource-manager/Microsoft.BotService/preview/2017-12-01/botservice.json */ @@ -451,7 +485,7 @@ export class AzureDeployerService extends GBService { let baseUrl = `https://management.azure.com/`; await this.registerProviders(subscriptionId, baseUrl, accessToken); - let appPassword = AzureDeployerService.getRndPassword(); + let appPassword = GBAdminService.getRndPassword(); let parameters = { location: location, @@ -459,7 +493,7 @@ export class AzureDeployerService extends GBService { name: "F0" }, name: botId, - kind: "sdk", + kind: "bot", properties: { description: description, displayName: name, @@ -468,12 +502,13 @@ export class AzureDeployerService extends GBService { luisAppIds: [nlpAppId], luisKey: nlpKey, msaAppId: appId, - msaAppPassword: appPassword + msaAppPassword: appPassword, + enabledChannels: ["webchat", "skype", "facebook"], + configuredChannels: ["webchat", "skype", "facebook"] } }; let httpClient = new ServiceClient(); - let query = `subscriptions/${subscriptionId}/resourceGroups/${group}/providers/${ this.provider }/botServices/${botId}?api-version=${AzureDeployerService.apiVersion}`; @@ -520,16 +555,14 @@ export class AzureDeployerService extends GBService { }); } - public async updateBotProxy(botId, group, endpoint) { + public async updateBotProxy(botId, group, endpoint) { let baseUrl = `https://management.azure.com/`; let username = GBConfigService.get("CLOUD_USERNAME"); let password = GBConfigService.get("CLOUD_PASSWORD"); let subscriptionId = GBConfigService.get("CLOUD_SUBSCRIPTIONID"); - let credentials = await msRestAzure.loginWithUsernamePassword( - username, - password - ); + let accessToken = await GBAdminService.getADALTokenFromUsername(username, password); + let httpClient = new ServiceClient(); let parameters = { properties: { @@ -537,9 +570,6 @@ export class AzureDeployerService extends GBService { } }; - let accessToken = credentials.tokenCache._entries[0].accessToken; - let httpClient = new ServiceClient(); - let query = `subscriptions/${subscriptionId}/resourceGroups/${group}/providers/${ this.provider }/botServices/${botId}?api-version=${AzureDeployerService.apiVersion}`; @@ -763,6 +793,9 @@ export class AzureDeployerService extends GBService { numberOfWorkers: 1, phpVersion: "5.5" }; + + // TODO: Copy .env to app settings. + return this.webSiteClient.webApps.createOrUpdateConfiguration( group, name, @@ -770,41 +803,9 @@ export class AzureDeployerService extends GBService { ); } - private deleteDeploy(name) { - return this.resourceClient.resourceGroups.deleteMethod(name); - } - async deployGeneralBotsToAzure() { let status = await git.status(); - } - - private static getRndAdminAccount() { - const passwordGenerator = new PasswordGenerator(); - const options = { - upperCaseAlpha: false, - lowerCaseAlpha: true, - number: true, - specialCharacter: false, - minimumLength: 8, - maximumLength: 8 - }; - let generated = passwordGenerator.generatePassword(options); - return `sa${generated}`; - } - - private static getRndPassword() { - const passwordGenerator = new PasswordGenerator(); - const options = { - upperCaseAlpha: true, - lowerCaseAlpha: true, - number: true, - specialCharacter: true, - minimumLength: 12, - maximumLength: 14 - }; - let password = passwordGenerator.generatePassword(options); - password = password.replace(/[=:;\?]/g, ""); - return password; + // TODO: Copy github to webapp. } static getKBSearchSchema(indexName) { diff --git a/deploy/azuredeployer.gbapp/strings.ts b/packages/azuredeployer.gbapp/strings.ts similarity index 100% rename from deploy/azuredeployer.gbapp/strings.ts rename to packages/azuredeployer.gbapp/strings.ts diff --git a/deploy/console.gblib/index.ts b/packages/console.gblib/index.ts similarity index 100% rename from deploy/console.gblib/index.ts rename to packages/console.gblib/index.ts diff --git a/deploy/console.gblib/services/ConsoleDirectLine.ts b/packages/console.gblib/services/ConsoleDirectLine.ts similarity index 100% rename from deploy/console.gblib/services/ConsoleDirectLine.ts rename to packages/console.gblib/services/ConsoleDirectLine.ts diff --git a/deploy/core.gbapp/README.md b/packages/core.gbapp/README.md similarity index 100% rename from deploy/core.gbapp/README.md rename to packages/core.gbapp/README.md diff --git a/deploy/core.gbapp/dialogs/WelcomeDialog.ts b/packages/core.gbapp/dialogs/WelcomeDialog.ts similarity index 100% rename from deploy/core.gbapp/dialogs/WelcomeDialog.ts rename to packages/core.gbapp/dialogs/WelcomeDialog.ts diff --git a/deploy/core.gbapp/dialogs/WhoAmIDialog.ts b/packages/core.gbapp/dialogs/WhoAmIDialog.ts similarity index 100% rename from deploy/core.gbapp/dialogs/WhoAmIDialog.ts rename to packages/core.gbapp/dialogs/WhoAmIDialog.ts diff --git a/deploy/core.gbapp/index.ts b/packages/core.gbapp/index.ts similarity index 100% rename from deploy/core.gbapp/index.ts rename to packages/core.gbapp/index.ts diff --git a/deploy/core.gbapp/models/GBModel.ts b/packages/core.gbapp/models/GBModel.ts similarity index 100% rename from deploy/core.gbapp/models/GBModel.ts rename to packages/core.gbapp/models/GBModel.ts diff --git a/deploy/core.gbapp/services/GBConfigService.ts b/packages/core.gbapp/services/GBConfigService.ts similarity index 100% rename from deploy/core.gbapp/services/GBConfigService.ts rename to packages/core.gbapp/services/GBConfigService.ts diff --git a/deploy/core.gbapp/services/GBConversationalService.ts b/packages/core.gbapp/services/GBConversationalService.ts similarity index 100% rename from deploy/core.gbapp/services/GBConversationalService.ts rename to packages/core.gbapp/services/GBConversationalService.ts diff --git a/deploy/core.gbapp/services/GBCoreService.ts b/packages/core.gbapp/services/GBCoreService.ts similarity index 100% rename from deploy/core.gbapp/services/GBCoreService.ts rename to packages/core.gbapp/services/GBCoreService.ts diff --git a/deploy/core.gbapp/services/GBDeployer.ts b/packages/core.gbapp/services/GBDeployer.ts similarity index 99% rename from deploy/core.gbapp/services/GBDeployer.ts rename to packages/core.gbapp/services/GBDeployer.ts index 7e461fe4..81dc051c 100644 --- a/deploy/core.gbapp/services/GBDeployer.ts +++ b/packages/core.gbapp/services/GBDeployer.ts @@ -52,12 +52,9 @@ import { AzureDeployerService } from "../../azuredeployer.gbapp/services/AzureDe /** Deployer service for bots, themes, ai and more. */ export class GBDeployer { core: IGBCoreService; - importer: GBImporter; - workDir: string = "./work"; - - static deployFolder = "deploy"; + static deployFolder = "packages"; constructor(core: IGBCoreService, importer: GBImporter) { this.core = core; @@ -123,7 +120,7 @@ export class GBDeployer { gbappPackages.forEach(e => { // Skips .gbapp inside deploy folder. - if (!e.startsWith("deploy")) { + if (!e.startsWith("packages")) { logger.info(`Deploying app: ${e}...`); import(e) .then(m => { @@ -374,7 +371,7 @@ export class GBDeployer { * */ async scanBootPackage() { - const deployFolder = "deploy"; + const deployFolder = "packages"; let bootPackage = GBConfigService.get("BOOT_PACKAGE"); if (bootPackage === "none") { diff --git a/deploy/core.gbapp/services/GBImporter.ts b/packages/core.gbapp/services/GBImporter.ts similarity index 100% rename from deploy/core.gbapp/services/GBImporter.ts rename to packages/core.gbapp/services/GBImporter.ts diff --git a/deploy/core.gbapp/services/GBMinService.ts b/packages/core.gbapp/services/GBMinService.ts similarity index 100% rename from deploy/core.gbapp/services/GBMinService.ts rename to packages/core.gbapp/services/GBMinService.ts diff --git a/deploy/core.gbapp/strings.ts b/packages/core.gbapp/strings.ts similarity index 100% rename from deploy/core.gbapp/strings.ts rename to packages/core.gbapp/strings.ts diff --git a/deploy/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts b/packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts rename to packages/customer-satisfaction.gbapp/dialogs/FeedbackDialog.ts diff --git a/deploy/customer-satisfaction.gbapp/dialogs/QualityDialog.ts b/packages/customer-satisfaction.gbapp/dialogs/QualityDialog.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/dialogs/QualityDialog.ts rename to packages/customer-satisfaction.gbapp/dialogs/QualityDialog.ts diff --git a/deploy/customer-satisfaction.gbapp/index.ts b/packages/customer-satisfaction.gbapp/index.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/index.ts rename to packages/customer-satisfaction.gbapp/index.ts diff --git a/deploy/customer-satisfaction.gbapp/models/index.ts b/packages/customer-satisfaction.gbapp/models/index.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/models/index.ts rename to packages/customer-satisfaction.gbapp/models/index.ts diff --git a/deploy/customer-satisfaction.gbapp/services/CSService.ts b/packages/customer-satisfaction.gbapp/services/CSService.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/services/CSService.ts rename to packages/customer-satisfaction.gbapp/services/CSService.ts diff --git a/deploy/customer-satisfaction.gbapp/strings.ts b/packages/customer-satisfaction.gbapp/strings.ts similarity index 100% rename from deploy/customer-satisfaction.gbapp/strings.ts rename to packages/customer-satisfaction.gbapp/strings.ts diff --git a/deploy/default.gbui/.npmrc b/packages/default.gbui/.npmrc similarity index 100% rename from deploy/default.gbui/.npmrc rename to packages/default.gbui/.npmrc diff --git a/deploy/default.gbui/package-lock.json b/packages/default.gbui/package-lock.json similarity index 100% rename from deploy/default.gbui/package-lock.json rename to packages/default.gbui/package-lock.json diff --git a/deploy/default.gbui/package.json b/packages/default.gbui/package.json similarity index 100% rename from deploy/default.gbui/package.json rename to packages/default.gbui/package.json diff --git a/deploy/default.gbui/public/css/botchat.css b/packages/default.gbui/public/css/botchat.css similarity index 100% rename from deploy/default.gbui/public/css/botchat.css rename to packages/default.gbui/public/css/botchat.css diff --git a/deploy/default.gbui/public/css/pragmatismo.css b/packages/default.gbui/public/css/pragmatismo.css similarity index 100% rename from deploy/default.gbui/public/css/pragmatismo.css rename to packages/default.gbui/public/css/pragmatismo.css diff --git a/deploy/default.gbui/public/favicon.ico b/packages/default.gbui/public/favicon.ico similarity index 100% rename from deploy/default.gbui/public/favicon.ico rename to packages/default.gbui/public/favicon.ico diff --git a/deploy/default.gbui/public/images/logo-gb.png b/packages/default.gbui/public/images/logo-gb.png similarity index 100% rename from deploy/default.gbui/public/images/logo-gb.png rename to packages/default.gbui/public/images/logo-gb.png diff --git a/deploy/default.gbui/public/images/pragmatismo-logo.png b/packages/default.gbui/public/images/pragmatismo-logo.png similarity index 100% rename from deploy/default.gbui/public/images/pragmatismo-logo.png rename to packages/default.gbui/public/images/pragmatismo-logo.png diff --git a/deploy/default.gbui/public/images/pragmatismo-powered-by.png b/packages/default.gbui/public/images/pragmatismo-powered-by.png similarity index 100% rename from deploy/default.gbui/public/images/pragmatismo-powered-by.png rename to packages/default.gbui/public/images/pragmatismo-powered-by.png diff --git a/deploy/default.gbui/public/index.html b/packages/default.gbui/public/index.html similarity index 100% rename from deploy/default.gbui/public/index.html rename to packages/default.gbui/public/index.html diff --git a/deploy/default.gbui/public/js/botchat.js b/packages/default.gbui/public/js/botchat.js similarity index 100% rename from deploy/default.gbui/public/js/botchat.js rename to packages/default.gbui/public/js/botchat.js diff --git a/deploy/default.gbui/src/GBUIApp.js b/packages/default.gbui/src/GBUIApp.js similarity index 100% rename from deploy/default.gbui/src/GBUIApp.js rename to packages/default.gbui/src/GBUIApp.js diff --git a/deploy/default.gbui/src/components/ChatPane.js b/packages/default.gbui/src/components/ChatPane.js similarity index 100% rename from deploy/default.gbui/src/components/ChatPane.js rename to packages/default.gbui/src/components/ChatPane.js diff --git a/deploy/default.gbui/src/components/Footer.js b/packages/default.gbui/src/components/Footer.js similarity index 100% rename from deploy/default.gbui/src/components/Footer.js rename to packages/default.gbui/src/components/Footer.js diff --git a/deploy/default.gbui/src/components/GBCss.js b/packages/default.gbui/src/components/GBCss.js similarity index 100% rename from deploy/default.gbui/src/components/GBCss.js rename to packages/default.gbui/src/components/GBCss.js diff --git a/deploy/default.gbui/src/components/NavBar.js b/packages/default.gbui/src/components/NavBar.js similarity index 100% rename from deploy/default.gbui/src/components/NavBar.js rename to packages/default.gbui/src/components/NavBar.js diff --git a/deploy/default.gbui/src/components/SidebarMenu.js b/packages/default.gbui/src/components/SidebarMenu.js similarity index 100% rename from deploy/default.gbui/src/components/SidebarMenu.js rename to packages/default.gbui/src/components/SidebarMenu.js diff --git a/deploy/default.gbui/src/index.js b/packages/default.gbui/src/index.js similarity index 100% rename from deploy/default.gbui/src/index.js rename to packages/default.gbui/src/index.js diff --git a/deploy/default.gbui/src/players/GBBulletPlayer.js b/packages/default.gbui/src/players/GBBulletPlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBBulletPlayer.js rename to packages/default.gbui/src/players/GBBulletPlayer.js diff --git a/deploy/default.gbui/src/players/GBImagePlayer.js b/packages/default.gbui/src/players/GBImagePlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBImagePlayer.js rename to packages/default.gbui/src/players/GBImagePlayer.js diff --git a/deploy/default.gbui/src/players/GBLoginPlayer.js b/packages/default.gbui/src/players/GBLoginPlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBLoginPlayer.js rename to packages/default.gbui/src/players/GBLoginPlayer.js diff --git a/deploy/default.gbui/src/players/GBMarkdownPlayer.js b/packages/default.gbui/src/players/GBMarkdownPlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBMarkdownPlayer.js rename to packages/default.gbui/src/players/GBMarkdownPlayer.js diff --git a/deploy/default.gbui/src/players/GBPowerBIPlayer.js b/packages/default.gbui/src/players/GBPowerBIPlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBPowerBIPlayer.js rename to packages/default.gbui/src/players/GBPowerBIPlayer.js diff --git a/deploy/default.gbui/src/players/GBVideoPlayer.js b/packages/default.gbui/src/players/GBVideoPlayer.js similarity index 100% rename from deploy/default.gbui/src/players/GBVideoPlayer.js rename to packages/default.gbui/src/players/GBVideoPlayer.js diff --git a/deploy/kb.gbapp/dialogs/AskDialog.ts b/packages/kb.gbapp/dialogs/AskDialog.ts similarity index 100% rename from deploy/kb.gbapp/dialogs/AskDialog.ts rename to packages/kb.gbapp/dialogs/AskDialog.ts diff --git a/deploy/kb.gbapp/dialogs/FaqDialog.ts b/packages/kb.gbapp/dialogs/FaqDialog.ts similarity index 100% rename from deploy/kb.gbapp/dialogs/FaqDialog.ts rename to packages/kb.gbapp/dialogs/FaqDialog.ts diff --git a/deploy/kb.gbapp/dialogs/MenuDialog.ts b/packages/kb.gbapp/dialogs/MenuDialog.ts similarity index 100% rename from deploy/kb.gbapp/dialogs/MenuDialog.ts rename to packages/kb.gbapp/dialogs/MenuDialog.ts diff --git a/deploy/kb.gbapp/index.ts b/packages/kb.gbapp/index.ts similarity index 100% rename from deploy/kb.gbapp/index.ts rename to packages/kb.gbapp/index.ts diff --git a/deploy/kb.gbapp/models/index.ts b/packages/kb.gbapp/models/index.ts similarity index 100% rename from deploy/kb.gbapp/models/index.ts rename to packages/kb.gbapp/models/index.ts diff --git a/deploy/kb.gbapp/services/KBService.ts b/packages/kb.gbapp/services/KBService.ts similarity index 100% rename from deploy/kb.gbapp/services/KBService.ts rename to packages/kb.gbapp/services/KBService.ts diff --git a/deploy/kb.gbapp/strings.ts b/packages/kb.gbapp/strings.ts similarity index 100% rename from deploy/kb.gbapp/strings.ts rename to packages/kb.gbapp/strings.ts diff --git a/deploy/line.gbui/botchat.css b/packages/line.gbui/botchat.css similarity index 100% rename from deploy/line.gbui/botchat.css rename to packages/line.gbui/botchat.css diff --git a/deploy/line.gbui/botchat.js b/packages/line.gbui/botchat.js similarity index 100% rename from deploy/line.gbui/botchat.js rename to packages/line.gbui/botchat.js diff --git a/deploy/line.gbui/index.html b/packages/line.gbui/index.html similarity index 100% rename from deploy/line.gbui/index.html rename to packages/line.gbui/index.html diff --git a/deploy/security.gblib/README.md b/packages/security.gblib/README.md similarity index 100% rename from deploy/security.gblib/README.md rename to packages/security.gblib/README.md diff --git a/deploy/security.gblib/index.ts b/packages/security.gblib/index.ts similarity index 100% rename from deploy/security.gblib/index.ts rename to packages/security.gblib/index.ts diff --git a/deploy/security.gblib/models/index.ts b/packages/security.gblib/models/index.ts similarity index 100% rename from deploy/security.gblib/models/index.ts rename to packages/security.gblib/models/index.ts diff --git a/deploy/security.gblib/services/SecService.ts b/packages/security.gblib/services/SecService.ts similarity index 100% rename from deploy/security.gblib/services/SecService.ts rename to packages/security.gblib/services/SecService.ts diff --git a/deploy/whatsapp.gblib/index.ts b/packages/whatsapp.gblib/index.ts similarity index 100% rename from deploy/whatsapp.gblib/index.ts rename to packages/whatsapp.gblib/index.ts diff --git a/deploy/whatsapp.gblib/services/WhatsappDirectLine.ts b/packages/whatsapp.gblib/services/WhatsappDirectLine.ts similarity index 100% rename from deploy/whatsapp.gblib/services/WhatsappDirectLine.ts rename to packages/whatsapp.gblib/services/WhatsappDirectLine.ts diff --git a/src/app.ts b/src/app.ts index 2c9b5081..a29b1a6c 100644 --- a/src/app.ts +++ b/src/app.ts @@ -37,22 +37,22 @@ const logger = require("./logger"); const express = require("express"); const bodyParser = require("body-parser"); -import { GBConfigService } from "../deploy/core.gbapp/services/GBConfigService"; -import { GBConversationalService } from "../deploy/core.gbapp/services/GBConversationalService"; -import { GBMinService } from "../deploy/core.gbapp/services/GBMinService"; -import { GBDeployer } from "../deploy/core.gbapp/services/GBDeployer"; -import { GBWhatsappPackage } from "./../deploy/whatsapp.gblib/index"; -import { GBCoreService } from "../deploy/core.gbapp/services/GBCoreService"; -import { GBImporter } from "../deploy/core.gbapp/services/GBImporter"; -import { GBAnalyticsPackage } from "../deploy/analytics.gblib"; -import { GBCorePackage } from "../deploy/core.gbapp"; -import { GBKBPackage } from "../deploy/kb.gbapp"; -import { GBSecurityPackage } from "../deploy/security.gblib"; -import { GBAdminPackage } from "../deploy/admin.gbapp/index"; -import { GBCustomerSatisfactionPackage } from "../deploy/customer-satisfaction.gbapp"; -import { GBAdminService } from "../deploy/admin.gbapp/services/GBAdminService"; -import { GuaribasInstance } from "../deploy/core.gbapp/models/GBModel"; -import { AzureDeployerService } from "../deploy/azuredeployer.gbapp/services/AzureDeployerService"; +import { GBConfigService } from "../packages/core.gbapp/services/GBConfigService"; +import { GBConversationalService } from "../packages/core.gbapp/services/GBConversationalService"; +import { GBMinService } from "../packages/core.gbapp/services/GBMinService"; +import { GBDeployer } from "../packages/core.gbapp/services/GBDeployer"; +import { GBWhatsappPackage } from "./../packages/whatsapp.gblib/index"; +import { GBCoreService } from "../packages/core.gbapp/services/GBCoreService"; +import { GBImporter } from "../packages/core.gbapp/services/GBImporter"; +import { GBAnalyticsPackage } from "../packages/analytics.gblib"; +import { GBCorePackage } from "../packages/core.gbapp"; +import { GBKBPackage } from "../packages/kb.gbapp"; +import { GBSecurityPackage } from "../packages/security.gblib"; +import { GBAdminPackage } from "../packages/admin.gbapp/index"; +import { GBCustomerSatisfactionPackage } from "../packages/customer-satisfaction.gbapp"; +import { GBAdminService } from "../packages/admin.gbapp/services/GBAdminService"; +import { GuaribasInstance } from "../packages/core.gbapp/models/GBModel"; +import { AzureDeployerService } from "../packages/azuredeployer.gbapp/services/AzureDeployerService"; import { IGBPackage, IGBInstance } from "botlib"; let appPackages = new Array(); diff --git a/tsconfig.json b/tsconfig.json index 68925c5c..6bc1d011 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,8 +22,8 @@ "include": [ "test/**/*", "src/**/*", - "deploy/*.gbapp/**/*", - "deploy/*.gblib/**/*" + "packages/*.gbapp/**/*", + "packages/*.gblib/**/*" ], "exclude": ["dist", "node_modules"] }