Built motion from commit (unavailable).|2.5.2
[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 _0x1d7a=['peerstatus','peer','registered','status','address','telephone:%s','[syncPeerStatus][UserReport]','exports','lodash','bluebird','util','ioredis','../../../config/logger','ami','redis','localhost','agents','telephones','registryentry','syncRegistry','bind','registry','devicestatechange','syncDeviceState','syncPeerStatus','resolve','then','actionSipShowRegistry','actionDeviceStateList','catch','inspect','prototype','loopSyncRealTimeShow','actionSipPeerStatus','[loopSyncRealTimeShow]','emit','isNotNull','find','trunks','username','state','merge','omit','event','actionid','format','trunk:%s','name','trunk:save','error','[syncRegistry][UserReport]','device','local','toLowerCase','stateTime','toNumber','updateStatusRealtime','telephone:save','startsWith','Queue','substring','indexOf','mobile','phone','accountcode','[syncDeviceState][UserReport]'];(function(_0x25ee89,_0x5e365b){var _0x8f283a=function(_0x5e2607){while(--_0x5e2607){_0x25ee89['push'](_0x25ee89['shift']());}};_0x8f283a(++_0x5e365b);}(_0x1d7a,0x152));var _0xa1d7=function(_0x17cca1,_0x4cd1f6){_0x17cca1=_0x17cca1-0x0;var _0x2a1d4a=_0x1d7a[_0x17cca1];return _0x2a1d4a;};'use strict';var _=require(_0xa1d7('0x0'));var moment=require('moment');var BPromise=require(_0xa1d7('0x1'));var util=require(_0xa1d7('0x2'));var Redis=require(_0xa1d7('0x3'));var config=require('../../../config/environment');var logger=require(_0xa1d7('0x4'))(_0xa1d7('0x5'));var ami=require('../ami');config['redis']=_['defaults'](config[_0xa1d7('0x6')],{'host':_0xa1d7('0x7'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config['redis']));function UserReport(_0x5b5b0d){this['trunks']=_0x5b5b0d['trunks'];this[_0xa1d7('0x8')]=_0x5b5b0d[_0xa1d7('0x8')];this['telephones']=_0x5b5b0d[_0xa1d7('0x9')];ami['on'](_0xa1d7('0xa'),this[_0xa1d7('0xb')][_0xa1d7('0xc')](this));ami['on'](_0xa1d7('0xd'),this[_0xa1d7('0xb')][_0xa1d7('0xc')](this));ami['on'](_0xa1d7('0xe'),this[_0xa1d7('0xf')][_0xa1d7('0xc')](this));ami['on']('peerstatus',this[_0xa1d7('0x10')][_0xa1d7('0xc')](this));this['loopSyncRealTimeShow']();return BPromise[_0xa1d7('0x11')]()[_0xa1d7('0x12')](ami[_0xa1d7('0x13')]())['then'](ami[_0xa1d7('0x14')]())[_0xa1d7('0x12')](ami['actionSipPeerStatus']())[_0xa1d7('0x15')](loggerCatch('[loopSyncRealTimeShow]'));}function loggerCatch(_0x4d4348){return function(_0x32a723){logger['error'](_0x4d4348,util[_0xa1d7('0x16')](_0x32a723,{'showHidden':![],'depth':null}));};}UserReport[_0xa1d7('0x17')][_0xa1d7('0x18')]=function(){setInterval(function(){BPromise[_0xa1d7('0x11')]()['then'](ami[_0xa1d7('0x13')]())['then'](ami[_0xa1d7('0x14')]())['then'](ami[_0xa1d7('0x19')]())['catch'](loggerCatch(_0xa1d7('0x1a')));},0x32c8);};UserReport[_0xa1d7('0x17')]['isNotNull']=function(_0x1f93d7){return _0x1f93d7!==null&&!_['isUndefined'](_0x1f93d7);};UserReport[_0xa1d7('0x17')]['emit']=function(_0x3fd955,_0x1af0f6,_0x2eb41b){io['to'](_0x3fd955)[_0xa1d7('0x1b')](_0x1af0f6,_0x2eb41b);};UserReport['prototype']['syncRegistry']=function(_0x2b1195){try{if(this[_0xa1d7('0x1c')](_0x2b1195)){var _0x37c311=_[_0xa1d7('0x1d')](this[_0xa1d7('0x1e')],{'registry':_0x2b1195[_0xa1d7('0x1f')]});if(_0x37c311){_0x2b1195['stateRegistry']=_0x2b1195[_0xa1d7('0x20')];_[_0xa1d7('0x21')](_0x37c311,_[_0xa1d7('0x22')](_0x2b1195,[_0xa1d7('0x23'),_0xa1d7('0x24'),'username',_0xa1d7('0x20')]));this[_0xa1d7('0x1b')](util[_0xa1d7('0x25')](_0xa1d7('0x26'),_0x37c311[_0xa1d7('0x27')]),_0xa1d7('0x28'),_0x37c311);}}}catch(_0x105e8c){logger[_0xa1d7('0x29')](_0xa1d7('0x2a'),util[_0xa1d7('0x16')](_0x105e8c,{'showHidden':![],'depth':null}));}};UserReport['prototype'][_0xa1d7('0xf')]=function(_0x1c5355){try{if(this[_0xa1d7('0x1c')](_0x1c5355)){if(this[_0xa1d7('0x8')][_0x1c5355[_0xa1d7('0x2b')]]){if(!this[_0xa1d7('0x8')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x2c')]||_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]()=='inuse'){this['agents'][_0x1c5355[_0xa1d7('0x2b')]]['local']=![];if(this[_0xa1d7('0x8')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x20')]!==_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]()){this['agents'][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x2e')]=_[_0xa1d7('0x2f')](moment()[_0xa1d7('0x25')]('x'));}this[_0xa1d7('0x8')][_0x1c5355[_0xa1d7('0x2b')]]['state']=_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]();this[_0xa1d7('0x8')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x30')](_0x1c5355);}}else if(this[_0xa1d7('0x9')][_0x1c5355[_0xa1d7('0x2b')]]){if(this['telephones'][_0x1c5355[_0xa1d7('0x2b')]]['state']!==_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]()){this[_0xa1d7('0x9')][_0x1c5355['device']]['stateTime']=_[_0xa1d7('0x2f')](moment()[_0xa1d7('0x25')]('x'));}this[_0xa1d7('0x9')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x20')]=_0x1c5355['state'][_0xa1d7('0x2d')]();this[_0xa1d7('0x1b')](util[_0xa1d7('0x25')]('telephone:%s',this[_0xa1d7('0x9')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x27')]),_0xa1d7('0x31'),this['telephones'][_0x1c5355[_0xa1d7('0x2b')]]);}else if(this[_0xa1d7('0x1e')][_0x1c5355['device']]){if(this[_0xa1d7('0x1e')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x20')]!==_0x1c5355[_0xa1d7('0x20')]['toLowerCase']()){this[_0xa1d7('0x1e')][_0x1c5355['device']][_0xa1d7('0x2e')]=_[_0xa1d7('0x2f')](moment()['format']('x'));}this['trunks'][_0x1c5355['device']][_0xa1d7('0x20')]=_0x1c5355[_0xa1d7('0x20')]['toLowerCase']();this[_0xa1d7('0x1b')](util[_0xa1d7('0x25')](_0xa1d7('0x26'),this[_0xa1d7('0x1e')][_0x1c5355[_0xa1d7('0x2b')]][_0xa1d7('0x27')]),_0xa1d7('0x28'),this[_0xa1d7('0x1e')][_0x1c5355['device']]);}else if(_[_0xa1d7('0x32')](_0x1c5355['device'],_0xa1d7('0x33'))){}else if(_[_0xa1d7('0x32')](_0x1c5355[_0xa1d7('0x2b')],'Local')){var _0x5dda0d=_0x1c5355['device'];var _0x888e21=_0x5dda0d[_0xa1d7('0x34')](_0x5dda0d[_0xa1d7('0x35')]('/')+0x1,_0x5dda0d['indexOf']('@'));var _0x32a872=_[_0xa1d7('0x1d')](this[_0xa1d7('0x8')],function(_0x1d1c5c){return _0x1d1c5c[_0xa1d7('0x36')]==_0x888e21||_0x1d1c5c[_0xa1d7('0x37')]==_0x888e21||_0x1d1c5c[_0xa1d7('0x38')]==_0x888e21;});if(_0x32a872){if(_0x32a872[_0xa1d7('0x20')]!==_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]()){_0x32a872[_0xa1d7('0x2e')]=_[_0xa1d7('0x2f')](moment()[_0xa1d7('0x25')]('x'));}_0x32a872[_0xa1d7('0x20')]=_0x1c5355[_0xa1d7('0x20')][_0xa1d7('0x2d')]();_0x32a872[_0xa1d7('0x2c')]=!![];_0x32a872[_0xa1d7('0x30')](_0x1c5355);}}else{}}}catch(_0x27cc87){logger['error'](_0xa1d7('0x39'),util[_0xa1d7('0x16')](_0x27cc87,{'showHidden':![],'depth':null}));}};UserReport['prototype'][_0xa1d7('0x10')]=function(_0x17fd50){try{if(this[_0xa1d7('0x1c')](_0x17fd50)&&this[_0xa1d7('0x1c')](_0x17fd50[_0xa1d7('0x3a')])){if(this[_0xa1d7('0x8')][_0x17fd50[_0xa1d7('0x3b')]]){if(!this['agents'][_0x17fd50[_0xa1d7('0x3b')]]['local']||_0x17fd50[_0xa1d7('0x3a')][_0xa1d7('0x2d')]()==_0xa1d7('0x3c')){this[_0xa1d7('0x8')][_0x17fd50[_0xa1d7('0x3b')]][_0xa1d7('0x2c')]=![];this[_0xa1d7('0x8')][_0x17fd50[_0xa1d7('0x3b')]][_0xa1d7('0x3d')]=_0x17fd50['peerstatus']['toLowerCase']();this[_0xa1d7('0x8')][_0x17fd50[_0xa1d7('0x3b')]][_0xa1d7('0x3e')]=_0x17fd50['address'];this['agents'][_0x17fd50[_0xa1d7('0x3b')]][_0xa1d7('0x30')](_0x17fd50);}}else if(this['telephones'][_0x17fd50['peer']]){this[_0xa1d7('0x9')][_0x17fd50[_0xa1d7('0x3b')]][_0xa1d7('0x3d')]=_0x17fd50[_0xa1d7('0x3a')][_0xa1d7('0x2d')]();this[_0xa1d7('0x9')][_0x17fd50['peer']]['address']=_0x17fd50[_0xa1d7('0x3e')];this[_0xa1d7('0x1b')](util['format'](_0xa1d7('0x3f'),this[_0xa1d7('0x9')][_0x17fd50[_0xa1d7('0x3b')]]['name']),_0xa1d7('0x31'),this[_0xa1d7('0x9')][_0x17fd50[_0xa1d7('0x3b')]]);}else if(this['trunks'][_0x17fd50['peer']]){this['trunks'][_0x17fd50['peer']][_0xa1d7('0x3d')]=_0x17fd50[_0xa1d7('0x3a')][_0xa1d7('0x2d')]();this[_0xa1d7('0x1e')][_0x17fd50[_0xa1d7('0x3b')]]['address']=_0x17fd50[_0xa1d7('0x3e')];this['emit'](util[_0xa1d7('0x25')](_0xa1d7('0x26'),this[_0xa1d7('0x1e')][_0x17fd50[_0xa1d7('0x3b')]]['name']),_0xa1d7('0x28'),this[_0xa1d7('0x1e')][_0x17fd50[_0xa1d7('0x3b')]]);}else{}}}catch(_0x31bcf0){logger['error'](_0xa1d7('0x40'),util[_0xa1d7('0x16')](_0x31bcf0,{'showHidden':![],'depth':null}));}};module[_0xa1d7('0x41')]=UserReport;