UNPKG

@onereach/step-voice

Version:
42 lines (41 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const voice_1 = tslib_1.__importDefault(require("./voice")); class Hangup extends voice_1.default { async runStep() { const call = await this.fetchData(); this.triggers.local(`in/voice/${call.id}`, async (event) => { switch (event.params.type) { case 'hangup': await this.handleHangup(call); return this.exitStep('next'); case 'error': return this.throwError(event.params.error); case 'cancel': { return this.handleCancel(); } default: return this.exitFlow(); } }); this.triggers.otherwise(async () => { if (call.ended) return this.exitStep('next'); try { call.sessionEndedBy = 'Bot'; await this.updateData(); await this.sendCommands(call, [{ name: 'hangup' }]); } catch (err) { this.log.warn('hangup error', err); return this.exitStep('next'); } return this.exitFlow(); }); } async onConvEnd() { this.exitStep('next'); } } exports.default = Hangup;