Built motion from commit (unavailable).|2.5.20
[motion2.git] / server / services / xdr / members.controller.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 _0x51d2=['error','some','devicestatechange','debug','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','duration','diffTime','[%s][members][devicestatechange]','agentcomplete','isNil','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][cdr]','data1','source','data3','destinationchannel','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','data2','membername','type','then','name','request','CreateMemberReport','getUserByName','split','internal','catch'];(function(_0x152e53,_0x22d004){var _0x463324=function(_0xa97442){while(--_0xa97442){_0x152e53['push'](_0x152e53['shift']());}};_0x463324(++_0x22d004);}(_0x51d2,0xb7));var _0x251d=function(_0x529296,_0x1a6a23){_0x529296=_0x529296-0x0;var _0x1796bf=_0x51d2[_0x529296];return _0x1796bf;};'use strict';var _=require(_0x251d('0x0'));var util=require(_0x251d('0x1'));var utils=require(_0x251d('0x2'));var members={};var exclude=[_0x251d('0x3'),_0x251d('0x4')];function writeDB(_0x523c22){utils[_0x251d('0x5')](util[_0x251d('0x6')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x523c22[_0x251d('0x7')],_0x523c22[_0x251d('0x8')],_0x523c22[_0x251d('0x9')],_0x523c22[_0x251d('0xa')],_0x523c22[_0x251d('0xb')],_0x523c22[_0x251d('0xc')]));if(_0x523c22[_0x251d('0x8')]){utils['getUserByInterface'](_0x523c22[_0x251d('0x8')])[_0x251d('0xd')](function(_0x550c01){if(_0x550c01){_0x523c22[_0x251d('0xb')]=_0x550c01[_0x251d('0xe')];_0x523c22['internal']=_0x550c01['internal'];utils[_0x251d('0xf')](_0x251d('0x10'),_0x523c22);}else{utils[_0x251d('0x11')](_0x523c22[_0x251d('0x8')][_0x251d('0x12')]('/')[0x1])['then'](function(_0x3405b1){if(_0x3405b1){_0x523c22[_0x251d('0xb')]=_0x3405b1[_0x251d('0xe')];_0x523c22[_0x251d('0x13')]=_0x3405b1[_0x251d('0x13')];utils[_0x251d('0xf')](_0x251d('0x10'),_0x523c22);}});}})[_0x251d('0x14')](function(_0x1bbe2d){utils[_0x251d('0x15')](util['format']('[%s][members][writeDB]',_0x523c22['uniqueid']),_0x1bbe2d);});}delete members[_0x523c22[_0x251d('0x8')]];}function startsWith(_0x447054,_0x150755){return _[_0x251d('0x16')](_0x447054,function(_0x5afc41){return _['startsWith'](_0x150755,_0x5afc41);});}exports[_0x251d('0x17')]=function(_0x5f1a0f){try{utils[_0x251d('0x18')](util[_0x251d('0x6')]('[%s][members][devicestatechange]',members[_0x5f1a0f[_0x251d('0x19')]]?members[_0x5f1a0f['device']][_0x251d('0x7')]:_0x5f1a0f[_0x251d('0x19')]),_0x5f1a0f);utils['info'](util[_0x251d('0x6')](_0x251d('0x1a'),members[_0x5f1a0f[_0x251d('0x19')]]?members[_0x5f1a0f[_0x251d('0x19')]][_0x251d('0x7')]:_0x5f1a0f[_0x251d('0x19')],_0x5f1a0f[_0x251d('0x1b')],_0x5f1a0f[_0x251d('0x19')]));switch(_0x5f1a0f[_0x251d('0x1b')]){case'INUSE':case _0x251d('0x1c'):if(!startsWith(exclude,_0x5f1a0f[_0x251d('0x19')])){members[_0x5f1a0f[_0x251d('0x19')]]={'channel':_0x251d('0x1d'),'interface':_0x5f1a0f['device'],'type':_0x251d('0x1e'),'enterAt':utils[_0x251d('0x1f')](),'role':_0x251d('0x20')};}break;case _0x251d('0x21'):if(!_['isNil'](members[_0x5f1a0f[_0x251d('0x19')]])){members[_0x5f1a0f['device']][_0x251d('0x22')]=utils[_0x251d('0x1f')]();members[_0x5f1a0f['device']][_0x251d('0x23')]=utils[_0x251d('0x24')](members[_0x5f1a0f[_0x251d('0x19')]][_0x251d('0x22')],members[_0x5f1a0f[_0x251d('0x19')]]['enterAt']);if(members[_0x5f1a0f[_0x251d('0x19')]][_0x251d('0x7')]){writeDB(members[_0x5f1a0f[_0x251d('0x19')]]);}}break;default:break;}}catch(_0xf64ff0){utils['error'](util['format'](_0x251d('0x25'),members[_0x5f1a0f[_0x251d('0x19')]]?members[_0x5f1a0f[_0x251d('0x19')]]['uniqueid']:_0x5f1a0f[_0x251d('0x19')]),_0xf64ff0);}};exports[_0x251d('0x26')]=function(_0x1678b2){try{if(!_[_0x251d('0x27')](members[_0x1678b2[_0x251d('0x8')]])){utils[_0x251d('0x18')](util[_0x251d('0x6')](_0x251d('0x28'),_0x1678b2[_0x251d('0x7')]),_0x1678b2);utils[_0x251d('0x5')](util[_0x251d('0x6')](_0x251d('0x29'),_0x1678b2[_0x251d('0x7')],_0x1678b2[_0x251d('0x8')],_0x1678b2[_0x251d('0x2a')]));members[_0x1678b2[_0x251d('0x8')]]=_[_0x251d('0x2b')](members[_0x1678b2[_0x251d('0x8')]],{'data4':_0x1678b2['queue'],'uniqueid':_0x1678b2[_0x251d('0x7')]});}}catch(_0x7d3901){utils['error'](util[_0x251d('0x6')](_0x251d('0x28'),_0x1678b2[_0x251d('0x7')]),_0x7d3901);}};exports['cdr']=function(_0x1affcc){try{utils[_0x251d('0x18')](util['format'](_0x251d('0x2c'),_0x1affcc[_0x251d('0x7')]),_0x1affcc);if(_0x1affcc[_0x251d('0x9')]){var _0x46b7f6=_0x1affcc['channel'][_0x251d('0x12')]('-')[0x0];if(!_[_0x251d('0x27')](members[_0x46b7f6])){members[_0x46b7f6]=_[_0x251d('0x2b')](members[_0x46b7f6],{'data1':members[_0x46b7f6][_0x251d('0x2d')]||_0x1affcc[_0x251d('0xc')],'data2':members[_0x46b7f6][_0x251d('0xa')]||_0x1affcc[_0x251d('0x2e')],'data3':members[_0x46b7f6][_0x251d('0x2f')]||_0x1affcc['destination'],'uniqueid':members[_0x46b7f6][_0x251d('0x7')]||_0x1affcc[_0x251d('0x7')]});utils[_0x251d('0x5')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x1affcc[_0x251d('0x7')],members[_0x46b7f6]['data1'],members[_0x46b7f6]['data2'],members[_0x46b7f6]['data3']));if(members[_0x46b7f6][_0x251d('0x22')]){writeDB(members[_0x46b7f6]);}}}if(_0x1affcc[_0x251d('0x30')]){var _0x5bb627=_0x1affcc['destinationchannel']['split']('-')[0x0];if(!_['isNil'](members[_0x5bb627])){members[_0x5bb627]=_[_0x251d('0x2b')](members[_0x5bb627],{'data1':members[_0x5bb627]['data1']||_0x1affcc[_0x251d('0xc')],'data2':members[_0x5bb627][_0x251d('0xa')]||_0x1affcc[_0x251d('0x2e')],'data3':members[_0x5bb627][_0x251d('0x2f')]||_0x1affcc[_0x251d('0x31')],'uniqueid':members[_0x5bb627][_0x251d('0x7')]||_0x1affcc[_0x251d('0x7')]});utils[_0x251d('0x5')](util[_0x251d('0x6')](_0x251d('0x32'),_0x1affcc[_0x251d('0x7')],members[_0x5bb627]['data1'],members[_0x5bb627][_0x251d('0xa')],members[_0x5bb627][_0x251d('0x2f')]));if(members[_0x5bb627]['exitAt']){writeDB(members[_0x5bb627]);}}}}catch(_0x3d8417){utils[_0x251d('0x15')](util[_0x251d('0x6')](_0x251d('0x2c'),_0x1affcc[_0x251d('0x7')]),_0x3d8417);}};