UNPKG

asksuite-core

Version:
59 lines (50 loc) 1.67 kB
const AskstoreUtils = require('./util/AskstoreUtils'); const ChatTreeModifiersUtils = require('./util/ChatTreeModifiersUtils'); const PackageModifiersUtils = require('./util/PackageModifiersUtils'); class TreeCompiler { constructor(configuration, awsLambdaCaller) { this.configuration = configuration; this.awsLambdaCaller = awsLambdaCaller; } compile(chatTree, company) { return new Promise((resolve, reject) => { const executor = async () => { try { const apps = await AskstoreUtils.getInstalledApps( chatTree.chatTreeId, this.configuration, ); const modifiers = await ChatTreeModifiersUtils.getChatTreeModifiers( chatTree.chatTreeId, this.configuration, ); const packages = await PackageModifiersUtils.getPackageModifiers( chatTree.chatTreeId, this.configuration, ); const result = await this.awsLambdaCaller.call( { tree: chatTree, apps, modifiers, packages, company, }, 'asksuite-tree-manager-dev-tree-compiler', ); if (result.statusCode === 200) { resolve(JSON.parse(result.body)); } else { console.log('Erro no lambda asksuite-tree-manager-dev-tree-compiler', result); reject(result); } } catch (e) { console.log('Erro ao invocar asksuite-tree-manager-dev-tree-compiler', e); reject(); } }; executor(); }); } } module.exports = TreeCompiler;