Built motion from commit (unavailable).|2.5.1
[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 _0x553b=['peer','address','status','[syncPeerStatus][UserReport]','exports','lodash','moment','util','ioredis','../../../config/environment','../../../config/logger','ami','redis','localhost','socket.io-emitter','trunks','agents','telephones','registryentry','syncRegistry','bind','registry','devicestatechange','syncDeviceState','peerstatus','syncPeerStatus','resolve','then','actionSipShowRegistry','catch','[loopSyncRealTimeShow]','inspect','prototype','actionDeviceStateList','isNotNull','emit','username','stateRegistry','merge','omit','event','actionid','name','trunk:save','error','[syncRegistry][UserReport]','device','local','state','inuse','stateTime','toNumber','format','toLowerCase','telephone:%s','telephone:save','trunk:%s','startsWith','Queue','Local','substring','indexOf','find','mobile','phone','updateStatusRealtime','[syncDeviceState][UserReport]'];(function(_0x57b6eb,_0x2d032b){var _0xfb5ac4=function(_0x22d8ac){while(--_0x22d8ac){_0x57b6eb['push'](_0x57b6eb['shift']());}};_0xfb5ac4(++_0x2d032b);}(_0x553b,0x1da));var _0xb553=function(_0x575112,_0x56ff89){_0x575112=_0x575112-0x0;var _0x4addb4=_0x553b[_0x575112];return _0x4addb4;};'use strict';var _=require(_0xb553('0x0'));var moment=require(_0xb553('0x1'));var BPromise=require('bluebird');var util=require(_0xb553('0x2'));var Redis=require(_0xb553('0x3'));var config=require(_0xb553('0x4'));var logger=require(_0xb553('0x5'))(_0xb553('0x6'));var ami=require('../ami');config[_0xb553('0x7')]=_['defaults'](config[_0xb553('0x7')],{'host':_0xb553('0x8'),'port':0x18eb});var io=require(_0xb553('0x9'))(new Redis(config[_0xb553('0x7')]));function UserReport(_0x6e2956){this[_0xb553('0xa')]=_0x6e2956['trunks'];this[_0xb553('0xb')]=_0x6e2956[_0xb553('0xb')];this[_0xb553('0xc')]=_0x6e2956[_0xb553('0xc')];ami['on'](_0xb553('0xd'),this[_0xb553('0xe')][_0xb553('0xf')](this));ami['on'](_0xb553('0x10'),this['syncRegistry'][_0xb553('0xf')](this));ami['on'](_0xb553('0x11'),this[_0xb553('0x12')]['bind'](this));ami['on'](_0xb553('0x13'),this[_0xb553('0x14')][_0xb553('0xf')](this));this['loopSyncRealTimeShow']();return BPromise[_0xb553('0x15')]()[_0xb553('0x16')](ami[_0xb553('0x17')]())['then'](ami['actionDeviceStateList']())[_0xb553('0x16')](ami['actionSipPeerStatus']())[_0xb553('0x18')](loggerCatch(_0xb553('0x19')));}function loggerCatch(_0x3f5346){return function(_0xf4f9f6){logger['error'](_0x3f5346,util[_0xb553('0x1a')](_0xf4f9f6,{'showHidden':![],'depth':null}));};}UserReport[_0xb553('0x1b')]['loopSyncRealTimeShow']=function(){setInterval(function(){BPromise[_0xb553('0x15')]()[_0xb553('0x16')](ami[_0xb553('0x17')]())[_0xb553('0x16')](ami[_0xb553('0x1c')]())[_0xb553('0x16')](ami['actionSipPeerStatus']())[_0xb553('0x18')](loggerCatch('[loopSyncRealTimeShow]'));},0x32c8);};UserReport[_0xb553('0x1b')][_0xb553('0x1d')]=function(_0x7a6d0c){return _0x7a6d0c!==null&&!_['isUndefined'](_0x7a6d0c);};UserReport['prototype'][_0xb553('0x1e')]=function(_0x2f9347,_0x330ca5,_0xbe01de){io['to'](_0x2f9347)[_0xb553('0x1e')](_0x330ca5,_0xbe01de);};UserReport['prototype'][_0xb553('0xe')]=function(_0x448039){try{if(this[_0xb553('0x1d')](_0x448039)){var _0x3b2278=_['find'](this[_0xb553('0xa')],{'registry':_0x448039[_0xb553('0x1f')]});if(_0x3b2278){_0x448039[_0xb553('0x20')]=_0x448039['state'];_[_0xb553('0x21')](_0x3b2278,_[_0xb553('0x22')](_0x448039,[_0xb553('0x23'),_0xb553('0x24'),'username','state']));this[_0xb553('0x1e')](util['format']('trunk:%s',_0x3b2278[_0xb553('0x25')]),_0xb553('0x26'),_0x3b2278);}}}catch(_0x50e64d){logger[_0xb553('0x27')](_0xb553('0x28'),util[_0xb553('0x1a')](_0x50e64d,{'showHidden':![],'depth':null}));}};UserReport[_0xb553('0x1b')][_0xb553('0x12')]=function(_0x5ce64b){try{if(this[_0xb553('0x1d')](_0x5ce64b)){if(this[_0xb553('0xb')][_0x5ce64b[_0xb553('0x29')]]){if(!this[_0xb553('0xb')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2a')]||_0x5ce64b[_0xb553('0x2b')]['toLowerCase']()==_0xb553('0x2c')){this[_0xb553('0xb')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2a')]=![];if(this['agents'][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2b')]!==_0x5ce64b[_0xb553('0x2b')]['toLowerCase']()){this['agents'][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2d')]=_[_0xb553('0x2e')](moment()[_0xb553('0x2f')]('x'));}this[_0xb553('0xb')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2b')]=_0x5ce64b['state'][_0xb553('0x30')]();this[_0xb553('0xb')][_0x5ce64b[_0xb553('0x29')]]['updateStatusRealtime'](_0x5ce64b);}}else if(this[_0xb553('0xc')][_0x5ce64b[_0xb553('0x29')]]){if(this[_0xb553('0xc')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2b')]!==_0x5ce64b['state'][_0xb553('0x30')]()){this[_0xb553('0xc')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2d')]=_[_0xb553('0x2e')](moment()['format']('x'));}this[_0xb553('0xc')][_0x5ce64b[_0xb553('0x29')]]['state']=_0x5ce64b['state'][_0xb553('0x30')]();this[_0xb553('0x1e')](util[_0xb553('0x2f')](_0xb553('0x31'),this[_0xb553('0xc')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x25')]),_0xb553('0x32'),this[_0xb553('0xc')][_0x5ce64b['device']]);}else if(this[_0xb553('0xa')][_0x5ce64b[_0xb553('0x29')]]){if(this[_0xb553('0xa')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2b')]!==_0x5ce64b[_0xb553('0x2b')]['toLowerCase']()){this[_0xb553('0xa')][_0x5ce64b[_0xb553('0x29')]][_0xb553('0x2d')]=_['toNumber'](moment()[_0xb553('0x2f')]('x'));}this[_0xb553('0xa')][_0x5ce64b['device']][_0xb553('0x2b')]=_0x5ce64b['state'][_0xb553('0x30')]();this[_0xb553('0x1e')](util[_0xb553('0x2f')](_0xb553('0x33'),this[_0xb553('0xa')][_0x5ce64b['device']][_0xb553('0x25')]),_0xb553('0x26'),this['trunks'][_0x5ce64b['device']]);}else if(_[_0xb553('0x34')](_0x5ce64b['device'],_0xb553('0x35'))){}else if(_[_0xb553('0x34')](_0x5ce64b[_0xb553('0x29')],_0xb553('0x36'))){var _0x158a4f=_0x5ce64b[_0xb553('0x29')];var _0x2865b7=_0x158a4f[_0xb553('0x37')](_0x158a4f[_0xb553('0x38')]('/')+0x1,_0x158a4f[_0xb553('0x38')]('@'));var _0x8b4b34=_[_0xb553('0x39')](this[_0xb553('0xb')],function(_0x4ad727){return _0x4ad727[_0xb553('0x3a')]==_0x2865b7||_0x4ad727[_0xb553('0x3b')]==_0x2865b7||_0x4ad727['accountcode']==_0x2865b7;});if(_0x8b4b34){if(_0x8b4b34['state']!==_0x5ce64b['state'][_0xb553('0x30')]()){_0x8b4b34[_0xb553('0x2d')]=_[_0xb553('0x2e')](moment()[_0xb553('0x2f')]('x'));}_0x8b4b34[_0xb553('0x2b')]=_0x5ce64b[_0xb553('0x2b')]['toLowerCase']();_0x8b4b34['local']=!![];_0x8b4b34[_0xb553('0x3c')](_0x5ce64b);}}else{}}}catch(_0x4c29d9){logger[_0xb553('0x27')](_0xb553('0x3d'),util[_0xb553('0x1a')](_0x4c29d9,{'showHidden':![],'depth':null}));}};UserReport[_0xb553('0x1b')][_0xb553('0x14')]=function(_0x2946f6){try{if(this[_0xb553('0x1d')](_0x2946f6)&&this[_0xb553('0x1d')](_0x2946f6[_0xb553('0x13')])){if(this[_0xb553('0xb')][_0x2946f6[_0xb553('0x3e')]]){if(!this['agents'][_0x2946f6['peer']]['local']||_0x2946f6[_0xb553('0x13')][_0xb553('0x30')]()=='registered'){this[_0xb553('0xb')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x2a')]=![];this[_0xb553('0xb')][_0x2946f6[_0xb553('0x3e')]]['status']=_0x2946f6[_0xb553('0x13')]['toLowerCase']();this[_0xb553('0xb')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x3f')]=_0x2946f6[_0xb553('0x3f')];this[_0xb553('0xb')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x3c')](_0x2946f6);}}else if(this[_0xb553('0xc')][_0x2946f6['peer']]){this[_0xb553('0xc')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x40')]=_0x2946f6[_0xb553('0x13')][_0xb553('0x30')]();this[_0xb553('0xc')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x3f')]=_0x2946f6[_0xb553('0x3f')];this[_0xb553('0x1e')](util[_0xb553('0x2f')](_0xb553('0x31'),this[_0xb553('0xc')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x25')]),_0xb553('0x32'),this[_0xb553('0xc')][_0x2946f6[_0xb553('0x3e')]]);}else if(this[_0xb553('0xa')][_0x2946f6['peer']]){this[_0xb553('0xa')][_0x2946f6['peer']][_0xb553('0x40')]=_0x2946f6[_0xb553('0x13')][_0xb553('0x30')]();this[_0xb553('0xa')][_0x2946f6[_0xb553('0x3e')]]['address']=_0x2946f6[_0xb553('0x3f')];this[_0xb553('0x1e')](util[_0xb553('0x2f')](_0xb553('0x33'),this[_0xb553('0xa')][_0x2946f6[_0xb553('0x3e')]][_0xb553('0x25')]),'trunk:save',this[_0xb553('0xa')][_0x2946f6[_0xb553('0x3e')]]);}else{}}}catch(_0x8f1f04){logger['error'](_0xb553('0x41'),util['inspect'](_0x8f1f04,{'showHidden':![],'depth':null}));}};module[_0xb553('0x42')]=UserReport;