import { AccountService } from '@everisinnovationbot/banc_sabadell_services'; import { AccountDFManager } from '@everisinnovationbot/dialog_flow_managers'; import { IntentsAccountsDFManager } from "../../managers/dialogflow/accounts.manager" export class AccountIntents { private accountService: AccountService = new AccountService(); public intents(app): void { //LISTA CUENTAS app.intent('Accounts', async (conv) => { conv.contexts.set('parentoperativectx', 5, { 'parentoperativectx': 'accounts' }); let accounts = await this.accountService.getAccounts(conv.user.access.token); if (accounts) { if (conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT')) { const accountsSimpleResponseScreen = AccountDFManager.generateAccountsSimpleResponseScreen(accounts); const accountsList = AccountDFManager.generateAccountsList(accounts); conv.ask(accountsSimpleResponseScreen); conv.ask(accountsList); } else { const accountsSimpleResponseNoScreen = AccountDFManager.generateAccountsSimpleResponseNoScreen(accounts); conv.ask(accountsSimpleResponseNoScreen); } } else { IntentsAccountsDFManager.accountNullResponse(conv) } }); //CUENTA SELECCIONADA app.intent('Accounts selected', async (conv, input, option) => { await IntentsAccountsDFManager.getIntentAccountSelected(conv, option, null); }) // SALDO CUENTA app.intent('Accounts balance', async (conv, { last4numbers }) => { await IntentsAccountsDFManager.getIntentAccountBalance(conv, last4numbers); }); //MOVIMIENTOS CUENTA app.intent('Accounts movements', async (conv, { last4numbers }) => { await IntentsAccountsDFManager.getIntentAccountMovements(conv, last4numbers); }); } }