Built motion from commit (unavailable).|2.4.17
[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 _0x4d1d=['substring','indexOf','mobile','phone','[syncDeviceState][UserReport]','peer','registered','address','status','[syncPeerStatus][UserReport]','exports','lodash','moment','bluebird','ioredis','../../../config/environment','ami','../ami','redis','localhost','socket.io-emitter','trunks','agents','telephones','registryentry','syncRegistry','bind','registry','devicestatechange','peerstatus','syncPeerStatus','loopSyncRealTimeShow','resolve','then','actionSipShowRegistry','actionDeviceStateList','actionSipPeerStatus','catch','[loopSyncRealTimeShow]','error','inspect','prototype','isNotNull','emit','find','username','state','merge','event','actionid','format','trunk:%s','trunk:save','[syncRegistry][UserReport]','syncDeviceState','device','local','toLowerCase','inuse','stateTime','updateStatusRealtime','toNumber','telephone:%s','name','telephone:save','startsWith','Queue'];(function(_0x1fa759,_0x4ecdce){var _0x2da9f4=function(_0x463e2a){while(--_0x463e2a){_0x1fa759['push'](_0x1fa759['shift']());}};_0x2da9f4(++_0x4ecdce);}(_0x4d1d,0x15a));var _0xd4d1=function(_0x7d2768,_0x5f43a0){_0x7d2768=_0x7d2768-0x0;var _0x1fdc5a=_0x4d1d[_0x7d2768];return _0x1fdc5a;};'use strict';var _=require(_0xd4d1('0x0'));var moment=require(_0xd4d1('0x1'));var BPromise=require(_0xd4d1('0x2'));var util=require('util');var Redis=require(_0xd4d1('0x3'));var config=require(_0xd4d1('0x4'));var logger=require('../../../config/logger')(_0xd4d1('0x5'));var ami=require(_0xd4d1('0x6'));config[_0xd4d1('0x7')]=_['defaults'](config[_0xd4d1('0x7')],{'host':_0xd4d1('0x8'),'port':0x18eb});var io=require(_0xd4d1('0x9'))(new Redis(config[_0xd4d1('0x7')]));function UserReport(_0xcd93a){this[_0xd4d1('0xa')]=_0xcd93a[_0xd4d1('0xa')];this['agents']=_0xcd93a[_0xd4d1('0xb')];this[_0xd4d1('0xc')]=_0xcd93a[_0xd4d1('0xc')];ami['on'](_0xd4d1('0xd'),this[_0xd4d1('0xe')][_0xd4d1('0xf')](this));ami['on'](_0xd4d1('0x10'),this[_0xd4d1('0xe')][_0xd4d1('0xf')](this));ami['on'](_0xd4d1('0x11'),this['syncDeviceState'][_0xd4d1('0xf')](this));ami['on'](_0xd4d1('0x12'),this[_0xd4d1('0x13')][_0xd4d1('0xf')](this));this[_0xd4d1('0x14')]();return BPromise[_0xd4d1('0x15')]()[_0xd4d1('0x16')](ami[_0xd4d1('0x17')]())[_0xd4d1('0x16')](ami[_0xd4d1('0x18')]())[_0xd4d1('0x16')](ami[_0xd4d1('0x19')]())[_0xd4d1('0x1a')](loggerCatch(_0xd4d1('0x1b')));}function loggerCatch(_0x4bb3c5){return function(_0x4171da){logger[_0xd4d1('0x1c')](_0x4bb3c5,util[_0xd4d1('0x1d')](_0x4171da,{'showHidden':![],'depth':null}));};}UserReport[_0xd4d1('0x1e')][_0xd4d1('0x14')]=function(){setInterval(function(){BPromise[_0xd4d1('0x15')]()[_0xd4d1('0x16')](ami[_0xd4d1('0x17')]())[_0xd4d1('0x16')](ami[_0xd4d1('0x18')]())['then'](ami[_0xd4d1('0x19')]())['catch'](loggerCatch('[loopSyncRealTimeShow]'));},0x32c8);};UserReport['prototype'][_0xd4d1('0x1f')]=function(_0x5cfa25){return _0x5cfa25!==null&&!_['isUndefined'](_0x5cfa25);};UserReport[_0xd4d1('0x1e')][_0xd4d1('0x20')]=function(_0x4d2af9,_0x89bb0a,_0x259c4d){io['to'](_0x4d2af9)[_0xd4d1('0x20')](_0x89bb0a,_0x259c4d);};UserReport[_0xd4d1('0x1e')][_0xd4d1('0xe')]=function(_0x4b36ec){try{if(this[_0xd4d1('0x1f')](_0x4b36ec)){var _0x51f7b3=_[_0xd4d1('0x21')](this[_0xd4d1('0xa')],{'registry':_0x4b36ec[_0xd4d1('0x22')]});if(_0x51f7b3){_0x4b36ec['stateRegistry']=_0x4b36ec[_0xd4d1('0x23')];_[_0xd4d1('0x24')](_0x51f7b3,_['omit'](_0x4b36ec,[_0xd4d1('0x25'),_0xd4d1('0x26'),_0xd4d1('0x22'),_0xd4d1('0x23')]));this['emit'](util[_0xd4d1('0x27')](_0xd4d1('0x28'),_0x51f7b3['name']),_0xd4d1('0x29'),_0x51f7b3);}}}catch(_0x32c73d){logger[_0xd4d1('0x1c')](_0xd4d1('0x2a'),util[_0xd4d1('0x1d')](_0x32c73d,{'showHidden':![],'depth':null}));}};UserReport[_0xd4d1('0x1e')][_0xd4d1('0x2b')]=function(_0x585f97){try{if(this['isNotNull'](_0x585f97)){if(this['agents'][_0x585f97['device']]){if(!this[_0xd4d1('0xb')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x2d')]||_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]()==_0xd4d1('0x2f')){this['agents'][_0x585f97['device']][_0xd4d1('0x2d')]=![];if(this[_0xd4d1('0xb')][_0x585f97['device']][_0xd4d1('0x23')]!==_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]()){this[_0xd4d1('0xb')][_0x585f97['device']][_0xd4d1('0x30')]=_['toNumber'](moment()[_0xd4d1('0x27')]('x'));}this[_0xd4d1('0xb')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x23')]=_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]();this[_0xd4d1('0xb')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x31')](_0x585f97);}}else if(this[_0xd4d1('0xc')][_0x585f97[_0xd4d1('0x2c')]]){if(this['telephones'][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x23')]!==_0x585f97['state'][_0xd4d1('0x2e')]()){this['telephones'][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x30')]=_[_0xd4d1('0x32')](moment()['format']('x'));}this['telephones'][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x23')]=_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]();this[_0xd4d1('0x20')](util[_0xd4d1('0x27')](_0xd4d1('0x33'),this[_0xd4d1('0xc')][_0x585f97['device']][_0xd4d1('0x34')]),_0xd4d1('0x35'),this[_0xd4d1('0xc')][_0x585f97['device']]);}else if(this[_0xd4d1('0xa')][_0x585f97[_0xd4d1('0x2c')]]){if(this[_0xd4d1('0xa')][_0x585f97['device']][_0xd4d1('0x23')]!==_0x585f97['state'][_0xd4d1('0x2e')]()){this[_0xd4d1('0xa')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x30')]=_[_0xd4d1('0x32')](moment()[_0xd4d1('0x27')]('x'));}this[_0xd4d1('0xa')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x23')]=_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]();this['emit'](util[_0xd4d1('0x27')](_0xd4d1('0x28'),this[_0xd4d1('0xa')][_0x585f97[_0xd4d1('0x2c')]][_0xd4d1('0x34')]),_0xd4d1('0x29'),this[_0xd4d1('0xa')][_0x585f97[_0xd4d1('0x2c')]]);}else if(_[_0xd4d1('0x36')](_0x585f97[_0xd4d1('0x2c')],_0xd4d1('0x37'))){}else if(_[_0xd4d1('0x36')](_0x585f97[_0xd4d1('0x2c')],'Local')){var _0x51d946=_0x585f97[_0xd4d1('0x2c')];var _0x8056b6=_0x51d946[_0xd4d1('0x38')](_0x51d946[_0xd4d1('0x39')]('/')+0x1,_0x51d946['indexOf']('@'));var _0x4aad8e=_[_0xd4d1('0x21')](this[_0xd4d1('0xb')],function(_0x3f1df1){return _0x3f1df1[_0xd4d1('0x3a')]==_0x8056b6||_0x3f1df1[_0xd4d1('0x3b')]==_0x8056b6||_0x3f1df1['accountcode']==_0x8056b6;});if(_0x4aad8e){if(_0x4aad8e['state']!==_0x585f97[_0xd4d1('0x23')][_0xd4d1('0x2e')]()){_0x4aad8e[_0xd4d1('0x30')]=_[_0xd4d1('0x32')](moment()[_0xd4d1('0x27')]('x'));}_0x4aad8e[_0xd4d1('0x23')]=_0x585f97[_0xd4d1('0x23')]['toLowerCase']();_0x4aad8e['local']=!![];_0x4aad8e[_0xd4d1('0x31')](_0x585f97);}}else{}}}catch(_0x2c6c11){logger['error'](_0xd4d1('0x3c'),util[_0xd4d1('0x1d')](_0x2c6c11,{'showHidden':![],'depth':null}));}};UserReport[_0xd4d1('0x1e')][_0xd4d1('0x13')]=function(_0x2f38aa){try{if(this[_0xd4d1('0x1f')](_0x2f38aa)&&this[_0xd4d1('0x1f')](_0x2f38aa[_0xd4d1('0x12')])){if(this[_0xd4d1('0xb')][_0x2f38aa[_0xd4d1('0x3d')]]){if(!this[_0xd4d1('0xb')][_0x2f38aa['peer']][_0xd4d1('0x2d')]||_0x2f38aa[_0xd4d1('0x12')][_0xd4d1('0x2e')]()==_0xd4d1('0x3e')){this['agents'][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x2d')]=![];this[_0xd4d1('0xb')][_0x2f38aa[_0xd4d1('0x3d')]]['status']=_0x2f38aa['peerstatus']['toLowerCase']();this[_0xd4d1('0xb')][_0x2f38aa['peer']][_0xd4d1('0x3f')]=_0x2f38aa['address'];this[_0xd4d1('0xb')][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x31')](_0x2f38aa);}}else if(this[_0xd4d1('0xc')][_0x2f38aa['peer']]){this['telephones'][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x40')]=_0x2f38aa['peerstatus']['toLowerCase']();this[_0xd4d1('0xc')][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x3f')]=_0x2f38aa[_0xd4d1('0x3f')];this[_0xd4d1('0x20')](util[_0xd4d1('0x27')](_0xd4d1('0x33'),this[_0xd4d1('0xc')][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x34')]),_0xd4d1('0x35'),this[_0xd4d1('0xc')][_0x2f38aa[_0xd4d1('0x3d')]]);}else if(this[_0xd4d1('0xa')][_0x2f38aa[_0xd4d1('0x3d')]]){this[_0xd4d1('0xa')][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x40')]=_0x2f38aa[_0xd4d1('0x12')]['toLowerCase']();this[_0xd4d1('0xa')][_0x2f38aa[_0xd4d1('0x3d')]][_0xd4d1('0x3f')]=_0x2f38aa[_0xd4d1('0x3f')];this['emit'](util[_0xd4d1('0x27')](_0xd4d1('0x28'),this['trunks'][_0x2f38aa['peer']]['name']),_0xd4d1('0x29'),this[_0xd4d1('0xa')][_0x2f38aa[_0xd4d1('0x3d')]]);}else{}}}catch(_0x30c0da){logger['error'](_0xd4d1('0x41'),util['inspect'](_0x30c0da,{'showHidden':![],'depth':null}));}};module[_0xd4d1('0x42')]=UserReport;