Built motion from commit 4c281f94.|2.6.31
[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 _0x16d2=['channel','data2','membername','type','getUserByInterface','name','internal','request','getUserByName','split','then','catch','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','state','BUSY','voice','now','agent','NOT_INUSE','isNil','exitAt','enterAt','uniqueid','agentcomplete','[%s][members][agentcomplete]','queue','assign','error','cdr','[%s][members][cdr]','data1','source','data3','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface'];(function(_0x44aec9,_0x52a392){var _0x3d6741=function(_0x523a96){while(--_0x523a96){_0x44aec9['push'](_0x44aec9['shift']());}};_0x3d6741(++_0x52a392);}(_0x16d2,0x123));var _0x216d=function(_0x475993,_0x844c92){_0x475993=_0x475993-0x0;var _0x237a25=_0x16d2[_0x475993];return _0x237a25;};'use strict';var _=require(_0x216d('0x0'));var util=require(_0x216d('0x1'));var utils=require(_0x216d('0x2'));var members={};var exclude=[_0x216d('0x3'),_0x216d('0x4')];function writeDB(_0x3a2589){utils[_0x216d('0x5')](util[_0x216d('0x6')](_0x216d('0x7'),_0x3a2589['uniqueid'],_0x3a2589[_0x216d('0x8')],_0x3a2589[_0x216d('0x9')],_0x3a2589[_0x216d('0xa')],_0x3a2589[_0x216d('0xb')],_0x3a2589[_0x216d('0xc')]));if(_0x3a2589[_0x216d('0x8')]){utils[_0x216d('0xd')](_0x3a2589[_0x216d('0x8')])['then'](function(_0x22c7b3){if(_0x22c7b3){_0x3a2589[_0x216d('0xb')]=_0x22c7b3[_0x216d('0xe')];_0x3a2589[_0x216d('0xf')]=_0x22c7b3[_0x216d('0xf')];utils[_0x216d('0x10')]('CreateMemberReport',_0x3a2589);}else{utils[_0x216d('0x11')](_0x3a2589['interface'][_0x216d('0x12')]('/')[0x1])[_0x216d('0x13')](function(_0x332e30){if(_0x332e30){_0x3a2589[_0x216d('0xb')]=_0x332e30[_0x216d('0xe')];_0x3a2589[_0x216d('0xf')]=_0x332e30['internal'];utils[_0x216d('0x10')]('CreateMemberReport',_0x3a2589);}});}})[_0x216d('0x14')](function(_0xfb7154){utils['error'](util[_0x216d('0x6')](_0x216d('0x15'),_0x3a2589['uniqueid']),_0xfb7154);});}delete members[_0x3a2589[_0x216d('0x8')]];}function startsWith(_0x494e92,_0x448c0d){return _[_0x216d('0x16')](_0x494e92,function(_0x4631b0){return _[_0x216d('0x17')](_0x448c0d,_0x4631b0);});}exports[_0x216d('0x18')]=function(_0x304dfa){try{utils[_0x216d('0x19')](util[_0x216d('0x6')](_0x216d('0x1a'),members[_0x304dfa['device']]?members[_0x304dfa[_0x216d('0x1b')]]['uniqueid']:_0x304dfa['device']),_0x304dfa);utils[_0x216d('0x5')](util[_0x216d('0x6')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x304dfa[_0x216d('0x1b')]]?members[_0x304dfa[_0x216d('0x1b')]]['uniqueid']:_0x304dfa[_0x216d('0x1b')],_0x304dfa[_0x216d('0x1c')],_0x304dfa[_0x216d('0x1b')]));switch(_0x304dfa[_0x216d('0x1c')]){case'INUSE':case _0x216d('0x1d'):if(!startsWith(exclude,_0x304dfa[_0x216d('0x1b')])){members[_0x304dfa[_0x216d('0x1b')]]={'channel':_0x216d('0x1e'),'interface':_0x304dfa[_0x216d('0x1b')],'type':'TALKING','enterAt':utils[_0x216d('0x1f')](),'role':_0x216d('0x20')};}break;case _0x216d('0x21'):if(!_[_0x216d('0x22')](members[_0x304dfa[_0x216d('0x1b')]])){members[_0x304dfa['device']][_0x216d('0x23')]=utils[_0x216d('0x1f')]();members[_0x304dfa[_0x216d('0x1b')]]['duration']=utils['diffTime'](members[_0x304dfa['device']]['exitAt'],members[_0x304dfa['device']][_0x216d('0x24')]);if(members[_0x304dfa[_0x216d('0x1b')]][_0x216d('0x25')]){writeDB(members[_0x304dfa[_0x216d('0x1b')]]);}}break;default:break;}}catch(_0x46d0ef){utils['error'](util['format'](_0x216d('0x1a'),members[_0x304dfa['device']]?members[_0x304dfa[_0x216d('0x1b')]][_0x216d('0x25')]:_0x304dfa[_0x216d('0x1b')]),_0x46d0ef);}};exports[_0x216d('0x26')]=function(_0x307f2b){try{if(!_[_0x216d('0x22')](members[_0x307f2b[_0x216d('0x8')]])){utils[_0x216d('0x19')](util[_0x216d('0x6')](_0x216d('0x27'),_0x307f2b[_0x216d('0x25')]),_0x307f2b);utils[_0x216d('0x5')](util[_0x216d('0x6')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x307f2b[_0x216d('0x25')],_0x307f2b[_0x216d('0x8')],_0x307f2b[_0x216d('0x28')]));members[_0x307f2b['interface']]=_[_0x216d('0x29')](members[_0x307f2b[_0x216d('0x8')]],{'data4':_0x307f2b[_0x216d('0x28')],'uniqueid':_0x307f2b[_0x216d('0x25')]});}}catch(_0x5f3054){utils[_0x216d('0x2a')](util[_0x216d('0x6')](_0x216d('0x27'),_0x307f2b[_0x216d('0x25')]),_0x5f3054);}};exports[_0x216d('0x2b')]=function(_0x208bb6){try{utils[_0x216d('0x19')](util[_0x216d('0x6')](_0x216d('0x2c'),_0x208bb6[_0x216d('0x25')]),_0x208bb6);if(_0x208bb6[_0x216d('0x9')]){var _0x4a2caa=_0x208bb6[_0x216d('0x9')][_0x216d('0x12')]('-')[0x0];if(!_[_0x216d('0x22')](members[_0x4a2caa])){members[_0x4a2caa]=_['assign'](members[_0x4a2caa],{'data1':members[_0x4a2caa][_0x216d('0x2d')]||_0x208bb6[_0x216d('0xc')],'data2':members[_0x4a2caa]['data2']||_0x208bb6[_0x216d('0x2e')],'data3':members[_0x4a2caa]['data3']||_0x208bb6['destination'],'uniqueid':members[_0x4a2caa][_0x216d('0x25')]||_0x208bb6[_0x216d('0x25')]});utils[_0x216d('0x5')](util[_0x216d('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x208bb6['uniqueid'],members[_0x4a2caa]['data1'],members[_0x4a2caa][_0x216d('0xa')],members[_0x4a2caa][_0x216d('0x2f')]));if(members[_0x4a2caa]['exitAt']){writeDB(members[_0x4a2caa]);}}}if(_0x208bb6[_0x216d('0x30')]){var _0x2e334b=_0x208bb6['destinationchannel'][_0x216d('0x12')]('-')[0x0];if(!_[_0x216d('0x22')](members[_0x2e334b])){members[_0x2e334b]=_[_0x216d('0x29')](members[_0x2e334b],{'data1':members[_0x2e334b][_0x216d('0x2d')]||_0x208bb6[_0x216d('0xc')],'data2':members[_0x2e334b][_0x216d('0xa')]||_0x208bb6[_0x216d('0x2e')],'data3':members[_0x2e334b][_0x216d('0x2f')]||_0x208bb6['destination'],'uniqueid':members[_0x2e334b]['uniqueid']||_0x208bb6[_0x216d('0x25')]});utils[_0x216d('0x5')](util['format'](_0x216d('0x31'),_0x208bb6[_0x216d('0x25')],members[_0x2e334b][_0x216d('0x2d')],members[_0x2e334b]['data2'],members[_0x2e334b][_0x216d('0x2f')]));if(members[_0x2e334b][_0x216d('0x23')]){writeDB(members[_0x2e334b]);}}}}catch(_0x13d787){utils[_0x216d('0x2a')](util['format'](_0x216d('0x2c'),_0x208bb6[_0x216d('0x25')]),_0x13d787);}};