Built motion from commit (unavailable).|2.4.21
[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 _0x59dd=['localhost','socket.io-emitter','agents','telephones','syncRegistry','bind','devicestatechange','syncDeviceState','peerstatus','syncPeerStatus','loopSyncRealTimeShow','then','actionDeviceStateList','actionSipPeerStatus','catch','[loopSyncRealTimeShow]','error','inspect','resolve','actionSipShowRegistry','isNotNull','emit','prototype','trunks','omit','event','actionid','username','state','format','trunk:%s','name','trunk:save','[syncRegistry][UserReport]','device','local','toLowerCase','inuse','stateTime','toNumber','telephone:%s','telephone:save','startsWith','Local','substring','indexOf','find','mobile','accountcode','[syncDeviceState][UserReport]','peer','registered','status','address','updateStatusRealtime','[syncPeerStatus][UserReport]','lodash','moment','bluebird','util','ioredis','../../../config/environment','../../../config/logger','redis','defaults'];(function(_0x19d476,_0x2fa16b){var _0x35426d=function(_0x42020c){while(--_0x42020c){_0x19d476['push'](_0x19d476['shift']());}};_0x35426d(++_0x2fa16b);}(_0x59dd,0x17d));var _0xd59d=function(_0x12f688,_0x585c25){_0x12f688=_0x12f688-0x0;var _0x59c3de=_0x59dd[_0x12f688];return _0x59c3de;};'use strict';var _=require(_0xd59d('0x0'));var moment=require(_0xd59d('0x1'));var BPromise=require(_0xd59d('0x2'));var util=require(_0xd59d('0x3'));var Redis=require(_0xd59d('0x4'));var config=require(_0xd59d('0x5'));var logger=require(_0xd59d('0x6'))('ami');var ami=require('../ami');config[_0xd59d('0x7')]=_[_0xd59d('0x8')](config[_0xd59d('0x7')],{'host':_0xd59d('0x9'),'port':0x18eb});var io=require(_0xd59d('0xa'))(new Redis(config[_0xd59d('0x7')]));function UserReport(_0x5a1793){this['trunks']=_0x5a1793['trunks'];this['agents']=_0x5a1793[_0xd59d('0xb')];this[_0xd59d('0xc')]=_0x5a1793['telephones'];ami['on']('registryentry',this[_0xd59d('0xd')][_0xd59d('0xe')](this));ami['on']('registry',this['syncRegistry']['bind'](this));ami['on'](_0xd59d('0xf'),this[_0xd59d('0x10')][_0xd59d('0xe')](this));ami['on'](_0xd59d('0x11'),this[_0xd59d('0x12')][_0xd59d('0xe')](this));this[_0xd59d('0x13')]();return BPromise['resolve']()[_0xd59d('0x14')](ami['actionSipShowRegistry']())['then'](ami[_0xd59d('0x15')]())[_0xd59d('0x14')](ami[_0xd59d('0x16')]())[_0xd59d('0x17')](loggerCatch(_0xd59d('0x18')));}function loggerCatch(_0x4d388f){return function(_0x13523c){logger[_0xd59d('0x19')](_0x4d388f,util[_0xd59d('0x1a')](_0x13523c,{'showHidden':![],'depth':null}));};}UserReport['prototype'][_0xd59d('0x13')]=function(){setInterval(function(){BPromise[_0xd59d('0x1b')]()[_0xd59d('0x14')](ami[_0xd59d('0x1c')]())[_0xd59d('0x14')](ami[_0xd59d('0x15')]())[_0xd59d('0x14')](ami[_0xd59d('0x16')]())[_0xd59d('0x17')](loggerCatch('[loopSyncRealTimeShow]'));},0x32c8);};UserReport['prototype'][_0xd59d('0x1d')]=function(_0x4bf1e9){return _0x4bf1e9!==null&&!_['isUndefined'](_0x4bf1e9);};UserReport['prototype'][_0xd59d('0x1e')]=function(_0x569210,_0x571b09,_0x5b16cf){io['to'](_0x569210)[_0xd59d('0x1e')](_0x571b09,_0x5b16cf);};UserReport[_0xd59d('0x1f')][_0xd59d('0xd')]=function(_0x2b456a){try{if(this[_0xd59d('0x1d')](_0x2b456a)){var _0x1af896=_['find'](this[_0xd59d('0x20')],{'registry':_0x2b456a['username']});if(_0x1af896){_0x2b456a['stateRegistry']=_0x2b456a['state'];_['merge'](_0x1af896,_[_0xd59d('0x21')](_0x2b456a,[_0xd59d('0x22'),_0xd59d('0x23'),_0xd59d('0x24'),_0xd59d('0x25')]));this[_0xd59d('0x1e')](util[_0xd59d('0x26')](_0xd59d('0x27'),_0x1af896[_0xd59d('0x28')]),_0xd59d('0x29'),_0x1af896);}}}catch(_0xa37724){logger[_0xd59d('0x19')](_0xd59d('0x2a'),util[_0xd59d('0x1a')](_0xa37724,{'showHidden':![],'depth':null}));}};UserReport[_0xd59d('0x1f')][_0xd59d('0x10')]=function(_0x376af5){try{if(this[_0xd59d('0x1d')](_0x376af5)){if(this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]]){if(!this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x2c')]||_0x376af5['state'][_0xd59d('0x2d')]()==_0xd59d('0x2e')){this['agents'][_0x376af5[_0xd59d('0x2b')]]['local']=![];if(this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x25')]!==_0x376af5['state'][_0xd59d('0x2d')]()){this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x2f')]=_[_0xd59d('0x30')](moment()[_0xd59d('0x26')]('x'));}this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]]['state']=_0x376af5['state'][_0xd59d('0x2d')]();this[_0xd59d('0xb')][_0x376af5[_0xd59d('0x2b')]]['updateStatusRealtime'](_0x376af5);}}else if(this[_0xd59d('0xc')][_0x376af5[_0xd59d('0x2b')]]){if(this['telephones'][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x25')]!==_0x376af5['state'][_0xd59d('0x2d')]()){this[_0xd59d('0xc')][_0x376af5['device']][_0xd59d('0x2f')]=_['toNumber'](moment()[_0xd59d('0x26')]('x'));}this[_0xd59d('0xc')][_0x376af5['device']][_0xd59d('0x25')]=_0x376af5[_0xd59d('0x25')][_0xd59d('0x2d')]();this[_0xd59d('0x1e')](util[_0xd59d('0x26')](_0xd59d('0x31'),this[_0xd59d('0xc')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x28')]),_0xd59d('0x32'),this[_0xd59d('0xc')][_0x376af5[_0xd59d('0x2b')]]);}else if(this[_0xd59d('0x20')][_0x376af5[_0xd59d('0x2b')]]){if(this[_0xd59d('0x20')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x25')]!==_0x376af5[_0xd59d('0x25')]['toLowerCase']()){this['trunks'][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x2f')]=_[_0xd59d('0x30')](moment()[_0xd59d('0x26')]('x'));}this['trunks'][_0x376af5[_0xd59d('0x2b')]]['state']=_0x376af5[_0xd59d('0x25')][_0xd59d('0x2d')]();this['emit'](util[_0xd59d('0x26')](_0xd59d('0x27'),this[_0xd59d('0x20')][_0x376af5[_0xd59d('0x2b')]][_0xd59d('0x28')]),_0xd59d('0x29'),this[_0xd59d('0x20')][_0x376af5[_0xd59d('0x2b')]]);}else if(_[_0xd59d('0x33')](_0x376af5[_0xd59d('0x2b')],'Queue')){}else if(_[_0xd59d('0x33')](_0x376af5[_0xd59d('0x2b')],_0xd59d('0x34'))){var _0x4bfdf8=_0x376af5[_0xd59d('0x2b')];var _0x172732=_0x4bfdf8[_0xd59d('0x35')](_0x4bfdf8[_0xd59d('0x36')]('/')+0x1,_0x4bfdf8[_0xd59d('0x36')]('@'));var _0x13a73d=_[_0xd59d('0x37')](this['agents'],function(_0x36cf93){return _0x36cf93[_0xd59d('0x38')]==_0x172732||_0x36cf93['phone']==_0x172732||_0x36cf93[_0xd59d('0x39')]==_0x172732;});if(_0x13a73d){if(_0x13a73d['state']!==_0x376af5[_0xd59d('0x25')]['toLowerCase']()){_0x13a73d[_0xd59d('0x2f')]=_[_0xd59d('0x30')](moment()[_0xd59d('0x26')]('x'));}_0x13a73d['state']=_0x376af5[_0xd59d('0x25')][_0xd59d('0x2d')]();_0x13a73d[_0xd59d('0x2c')]=!![];_0x13a73d['updateStatusRealtime'](_0x376af5);}}else{}}}catch(_0x19f150){logger[_0xd59d('0x19')](_0xd59d('0x3a'),util[_0xd59d('0x1a')](_0x19f150,{'showHidden':![],'depth':null}));}};UserReport[_0xd59d('0x1f')][_0xd59d('0x12')]=function(_0x391abd){try{if(this[_0xd59d('0x1d')](_0x391abd)&&this[_0xd59d('0x1d')](_0x391abd[_0xd59d('0x11')])){if(this[_0xd59d('0xb')][_0x391abd[_0xd59d('0x3b')]]){if(!this[_0xd59d('0xb')][_0x391abd['peer']][_0xd59d('0x2c')]||_0x391abd[_0xd59d('0x11')]['toLowerCase']()==_0xd59d('0x3c')){this[_0xd59d('0xb')][_0x391abd['peer']]['local']=![];this[_0xd59d('0xb')][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3d')]=_0x391abd[_0xd59d('0x11')]['toLowerCase']();this['agents'][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3e')]=_0x391abd[_0xd59d('0x3e')];this[_0xd59d('0xb')][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3f')](_0x391abd);}}else if(this[_0xd59d('0xc')][_0x391abd[_0xd59d('0x3b')]]){this[_0xd59d('0xc')][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3d')]=_0x391abd[_0xd59d('0x11')][_0xd59d('0x2d')]();this['telephones'][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3e')]=_0x391abd[_0xd59d('0x3e')];this[_0xd59d('0x1e')](util[_0xd59d('0x26')](_0xd59d('0x31'),this[_0xd59d('0xc')][_0x391abd[_0xd59d('0x3b')]]['name']),_0xd59d('0x32'),this['telephones'][_0x391abd[_0xd59d('0x3b')]]);}else if(this['trunks'][_0x391abd['peer']]){this['trunks'][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3d')]=_0x391abd[_0xd59d('0x11')][_0xd59d('0x2d')]();this['trunks'][_0x391abd[_0xd59d('0x3b')]][_0xd59d('0x3e')]=_0x391abd['address'];this[_0xd59d('0x1e')](util[_0xd59d('0x26')]('trunk:%s',this[_0xd59d('0x20')][_0x391abd['peer']][_0xd59d('0x28')]),_0xd59d('0x29'),this[_0xd59d('0x20')][_0x391abd[_0xd59d('0x3b')]]);}else{}}}catch(_0x5110a8){logger[_0xd59d('0x19')](_0xd59d('0x40'),util['inspect'](_0x5110a8,{'showHidden':![],'depth':null}));}};module['exports']=UserReport;