Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / services / ami / report / userReport.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 _0x70b1=['catch','inspect','prototype','resolve','actionSipShowRegistry','[loopSyncRealTimeShow]','isNotNull','isUndefined','emit','username','merge','omit','event','state','format','trunk:%s','[syncRegistry][UserReport]','device','local','toLowerCase','stateTime','toNumber','updateStatusRealtime','telephone:%s','name','telephone:save','trunk:save','startsWith','Queue','Local','substring','indexOf','find','mobile','phone','accountcode','[syncDeviceState][UserReport]','peer','peerstatus','registered','status','address','[syncPeerStatus][UserReport]','exports','lodash','moment','bluebird','util','ioredis','../../../config/environment','../../../config/logger','ami','redis','socket.io-emitter','trunks','agents','telephones','registryentry','syncRegistry','registry','bind','syncDeviceState','syncPeerStatus','loopSyncRealTimeShow','then','actionDeviceStateList','actionSipPeerStatus'];(function(_0x3f6e76,_0x4ea46a){var _0x4c5b01=function(_0x1a6d4a){while(--_0x1a6d4a){_0x3f6e76['push'](_0x3f6e76['shift']());}};_0x4c5b01(++_0x4ea46a);}(_0x70b1,0x138));var _0x170b=function(_0x4fd701,_0x4dd637){_0x4fd701=_0x4fd701-0x0;var _0xb61e42=_0x70b1[_0x4fd701];return _0xb61e42;};'use strict';var _=require(_0x170b('0x0'));var moment=require(_0x170b('0x1'));var BPromise=require(_0x170b('0x2'));var util=require(_0x170b('0x3'));var Redis=require(_0x170b('0x4'));var config=require(_0x170b('0x5'));var logger=require(_0x170b('0x6'))(_0x170b('0x7'));var ami=require('../ami');config[_0x170b('0x8')]=_['defaults'](config[_0x170b('0x8')],{'host':'localhost','port':0x18eb});var io=require(_0x170b('0x9'))(new Redis(config[_0x170b('0x8')]));function UserReport(_0x2a8968){this[_0x170b('0xa')]=_0x2a8968[_0x170b('0xa')];this[_0x170b('0xb')]=_0x2a8968[_0x170b('0xb')];this['telephones']=_0x2a8968[_0x170b('0xc')];ami['on'](_0x170b('0xd'),this[_0x170b('0xe')]['bind'](this));ami['on'](_0x170b('0xf'),this['syncRegistry'][_0x170b('0x10')](this));ami['on']('devicestatechange',this[_0x170b('0x11')][_0x170b('0x10')](this));ami['on']('peerstatus',this[_0x170b('0x12')][_0x170b('0x10')](this));this[_0x170b('0x13')]();return BPromise['resolve']()['then'](ami['actionSipShowRegistry']())[_0x170b('0x14')](ami[_0x170b('0x15')]())[_0x170b('0x14')](ami[_0x170b('0x16')]())[_0x170b('0x17')](loggerCatch('[loopSyncRealTimeShow]'));}function loggerCatch(_0x386ba7){return function(_0x5e2133){logger['error'](_0x386ba7,util[_0x170b('0x18')](_0x5e2133,{'showHidden':![],'depth':null}));};}UserReport[_0x170b('0x19')][_0x170b('0x13')]=function(){setInterval(function(){BPromise[_0x170b('0x1a')]()[_0x170b('0x14')](ami[_0x170b('0x1b')]())[_0x170b('0x14')](ami[_0x170b('0x15')]())[_0x170b('0x14')](ami['actionSipPeerStatus']())[_0x170b('0x17')](loggerCatch(_0x170b('0x1c')));},0x32c8);};UserReport[_0x170b('0x19')][_0x170b('0x1d')]=function(_0x4e2594){return _0x4e2594!==null&&!_[_0x170b('0x1e')](_0x4e2594);};UserReport[_0x170b('0x19')][_0x170b('0x1f')]=function(_0x1164ac,_0x5b5fb7,_0x622c8a){io['to'](_0x1164ac)[_0x170b('0x1f')](_0x5b5fb7,_0x622c8a);};UserReport[_0x170b('0x19')][_0x170b('0xe')]=function(_0xd14f1c){try{if(this[_0x170b('0x1d')](_0xd14f1c)){var _0x4817f9=_['find'](this[_0x170b('0xa')],{'registry':_0xd14f1c[_0x170b('0x20')]});if(_0x4817f9){_0xd14f1c['stateRegistry']=_0xd14f1c['state'];_[_0x170b('0x21')](_0x4817f9,_[_0x170b('0x22')](_0xd14f1c,[_0x170b('0x23'),'actionid',_0x170b('0x20'),_0x170b('0x24')]));this[_0x170b('0x1f')](util[_0x170b('0x25')](_0x170b('0x26'),_0x4817f9['name']),'trunk:save',_0x4817f9);}}}catch(_0x104b32){logger['error'](_0x170b('0x27'),util['inspect'](_0x104b32,{'showHidden':![],'depth':null}));}};UserReport[_0x170b('0x19')][_0x170b('0x11')]=function(_0x5ec067){try{if(this[_0x170b('0x1d')](_0x5ec067)){if(this[_0x170b('0xb')][_0x5ec067[_0x170b('0x28')]]){if(!this[_0x170b('0xb')][_0x5ec067['device']][_0x170b('0x29')]||_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]()=='inuse'){this[_0x170b('0xb')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x29')]=![];if(this['agents'][_0x5ec067[_0x170b('0x28')]][_0x170b('0x24')]!==_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]()){this[_0x170b('0xb')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x2b')]=_[_0x170b('0x2c')](moment()[_0x170b('0x25')]('x'));}this[_0x170b('0xb')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x24')]=_0x5ec067['state']['toLowerCase']();this['agents'][_0x5ec067[_0x170b('0x28')]][_0x170b('0x2d')](_0x5ec067);}}else if(this[_0x170b('0xc')][_0x5ec067['device']]){if(this[_0x170b('0xc')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x24')]!==_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]()){this[_0x170b('0xc')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x2b')]=_['toNumber'](moment()[_0x170b('0x25')]('x'));}this[_0x170b('0xc')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x24')]=_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]();this[_0x170b('0x1f')](util['format'](_0x170b('0x2e'),this[_0x170b('0xc')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x2f')]),_0x170b('0x30'),this['telephones'][_0x5ec067[_0x170b('0x28')]]);}else if(this[_0x170b('0xa')][_0x5ec067[_0x170b('0x28')]]){if(this['trunks'][_0x5ec067[_0x170b('0x28')]][_0x170b('0x24')]!==_0x5ec067['state'][_0x170b('0x2a')]()){this[_0x170b('0xa')][_0x5ec067['device']][_0x170b('0x2b')]=_[_0x170b('0x2c')](moment()[_0x170b('0x25')]('x'));}this['trunks'][_0x5ec067['device']][_0x170b('0x24')]=_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]();this[_0x170b('0x1f')](util[_0x170b('0x25')]('trunk:%s',this[_0x170b('0xa')][_0x5ec067[_0x170b('0x28')]][_0x170b('0x2f')]),_0x170b('0x31'),this[_0x170b('0xa')][_0x5ec067[_0x170b('0x28')]]);}else if(_[_0x170b('0x32')](_0x5ec067[_0x170b('0x28')],_0x170b('0x33'))){}else if(_[_0x170b('0x32')](_0x5ec067[_0x170b('0x28')],_0x170b('0x34'))){var _0x1a28dd=_0x5ec067[_0x170b('0x28')];var _0x33b393=_0x1a28dd[_0x170b('0x35')](_0x1a28dd['indexOf']('/')+0x1,_0x1a28dd[_0x170b('0x36')]('@'));var _0x1592e9=_[_0x170b('0x37')](this[_0x170b('0xb')],function(_0xe4b9ab){return _0xe4b9ab[_0x170b('0x38')]==_0x33b393||_0xe4b9ab[_0x170b('0x39')]==_0x33b393||_0xe4b9ab[_0x170b('0x3a')]==_0x33b393;});if(_0x1592e9){if(_0x1592e9['state']!==_0x5ec067[_0x170b('0x24')][_0x170b('0x2a')]()){_0x1592e9[_0x170b('0x2b')]=_[_0x170b('0x2c')](moment()[_0x170b('0x25')]('x'));}_0x1592e9[_0x170b('0x24')]=_0x5ec067[_0x170b('0x24')]['toLowerCase']();_0x1592e9['local']=!![];_0x1592e9[_0x170b('0x2d')](_0x5ec067);}}else{}}}catch(_0x41717e){logger['error'](_0x170b('0x3b'),util['inspect'](_0x41717e,{'showHidden':![],'depth':null}));}};UserReport[_0x170b('0x19')][_0x170b('0x12')]=function(_0x46687a){try{if(this[_0x170b('0x1d')](_0x46687a)&&this[_0x170b('0x1d')](_0x46687a['peerstatus'])){if(this['agents'][_0x46687a[_0x170b('0x3c')]]){if(!this['agents'][_0x46687a[_0x170b('0x3c')]][_0x170b('0x29')]||_0x46687a[_0x170b('0x3d')][_0x170b('0x2a')]()==_0x170b('0x3e')){this[_0x170b('0xb')][_0x46687a[_0x170b('0x3c')]][_0x170b('0x29')]=![];this[_0x170b('0xb')][_0x46687a[_0x170b('0x3c')]][_0x170b('0x3f')]=_0x46687a['peerstatus'][_0x170b('0x2a')]();this[_0x170b('0xb')][_0x46687a[_0x170b('0x3c')]][_0x170b('0x40')]=_0x46687a[_0x170b('0x40')];this[_0x170b('0xb')][_0x46687a['peer']][_0x170b('0x2d')](_0x46687a);}}else if(this[_0x170b('0xc')][_0x46687a[_0x170b('0x3c')]]){this[_0x170b('0xc')][_0x46687a['peer']][_0x170b('0x3f')]=_0x46687a[_0x170b('0x3d')][_0x170b('0x2a')]();this['telephones'][_0x46687a['peer']][_0x170b('0x40')]=_0x46687a[_0x170b('0x40')];this[_0x170b('0x1f')](util[_0x170b('0x25')](_0x170b('0x2e'),this['telephones'][_0x46687a[_0x170b('0x3c')]][_0x170b('0x2f')]),'telephone:save',this[_0x170b('0xc')][_0x46687a[_0x170b('0x3c')]]);}else if(this[_0x170b('0xa')][_0x46687a[_0x170b('0x3c')]]){this['trunks'][_0x46687a[_0x170b('0x3c')]][_0x170b('0x3f')]=_0x46687a[_0x170b('0x3d')][_0x170b('0x2a')]();this[_0x170b('0xa')][_0x46687a['peer']][_0x170b('0x40')]=_0x46687a[_0x170b('0x40')];this[_0x170b('0x1f')](util[_0x170b('0x25')](_0x170b('0x26'),this[_0x170b('0xa')][_0x46687a['peer']][_0x170b('0x2f')]),'trunk:save',this[_0x170b('0xa')][_0x46687a[_0x170b('0x3c')]]);}else{}}}catch(_0x44bb25){logger['error'](_0x170b('0x41'),util[_0x170b('0x18')](_0x44bb25,{'showHidden':![],'depth':null}));}};module[_0x170b('0x42')]=UserReport;