Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / services / agi / events.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x1793=['defaults','localhost','subscribe','agi','emit','E_AGI_SERVER_ERROR','message','projectUpdate','error','exports','ioredis','../../config/environment','redis'];(function(_0x39b82f,_0x101ffc){var _0x1cbdd9=function(_0xe80b5e){while(--_0xe80b5e){_0x39b82f['push'](_0x39b82f['shift']());}};_0x1cbdd9(++_0x101ffc);}(_0x1793,0x7f));var _0x3179=function(_0x3a8d4a,_0x10ad0d){_0x3a8d4a=_0x3a8d4a-0x0;var _0x18b4f0=_0x1793[_0x3a8d4a];return _0x18b4f0;};'use strict';var _=require('lodash');var EventEmitter=require('events')['EventEmitter'];var Redis=require(_0x3179('0x0'));var AGIError=require('./error');var config=require(_0x3179('0x1'));config[_0x3179('0x2')]=_[_0x3179('0x3')](config[_0x3179('0x2')],{'host':_0x3179('0x4'),'port':0x18eb});var eventEmitter=new EventEmitter();var sub=new Redis(config[_0x3179('0x2')]);sub[_0x3179('0x5')](_0x3179('0x6'),function(_0x116046){if(_0x116046)return eventEmitter[_0x3179('0x7')]('error',new AGIError(_0x3179('0x8'),_0x116046));});sub['on'](_0x3179('0x9'),function(_0x43323e,_0x31071d){if(_0x43323e!==_0x3179('0x6'))return;try{var _0x1f7625=JSON['parse'](_0x31071d);eventEmitter['emit'](_0x3179('0xa'),_0x1f7625);}catch(_0x148398){eventEmitter[_0x3179('0x7')](_0x3179('0xb'),new AGIError(_0x3179('0x8'),_0x148398));}});module[_0x3179('0xc')]={'EventEmitter':eventEmitter};