Built motion from commit ff78e754.|2.6.29
[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 _0x447b=['membername','name','internal','request','CreateMemberReport','getUserByName','split','error','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','source','data3','destinationchannel','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','then'];(function(_0x587398,_0x42dadb){var _0x4b851a=function(_0x2f6b79){while(--_0x2f6b79){_0x587398['push'](_0x587398['shift']());}};_0x4b851a(++_0x42dadb);}(_0x447b,0xe4));var _0xb447=function(_0x48e2a4,_0xc4a02a){_0x48e2a4=_0x48e2a4-0x0;var _0x44271f=_0x447b[_0x48e2a4];return _0x44271f;};'use strict';var _=require(_0xb447('0x0'));var util=require(_0xb447('0x1'));var utils=require('./utils');var members={};var exclude=[_0xb447('0x2'),_0xb447('0x3')];function writeDB(_0x2a45d2){utils[_0xb447('0x4')](util[_0xb447('0x5')](_0xb447('0x6'),_0x2a45d2[_0xb447('0x7')],_0x2a45d2[_0xb447('0x8')],_0x2a45d2[_0xb447('0x9')],_0x2a45d2[_0xb447('0xa')],_0x2a45d2['membername'],_0x2a45d2['type']));if(_0x2a45d2[_0xb447('0x8')]){utils['getUserByInterface'](_0x2a45d2[_0xb447('0x8')])[_0xb447('0xb')](function(_0x270edf){if(_0x270edf){_0x2a45d2[_0xb447('0xc')]=_0x270edf[_0xb447('0xd')];_0x2a45d2['internal']=_0x270edf[_0xb447('0xe')];utils[_0xb447('0xf')](_0xb447('0x10'),_0x2a45d2);}else{utils[_0xb447('0x11')](_0x2a45d2['interface'][_0xb447('0x12')]('/')[0x1])[_0xb447('0xb')](function(_0x3ef180){if(_0x3ef180){_0x2a45d2[_0xb447('0xc')]=_0x3ef180[_0xb447('0xd')];_0x2a45d2[_0xb447('0xe')]=_0x3ef180[_0xb447('0xe')];utils[_0xb447('0xf')](_0xb447('0x10'),_0x2a45d2);}});}})['catch'](function(_0x4a8d6f){utils[_0xb447('0x13')](util[_0xb447('0x5')]('[%s][members][writeDB]',_0x2a45d2[_0xb447('0x7')]),_0x4a8d6f);});}delete members[_0x2a45d2[_0xb447('0x8')]];}function startsWith(_0x43f53f,_0x557701){return _['some'](_0x43f53f,function(_0x86993a){return _['startsWith'](_0x557701,_0x86993a);});}exports[_0xb447('0x14')]=function(_0x5c98a9){try{utils[_0xb447('0x15')](util[_0xb447('0x5')](_0xb447('0x16'),members[_0x5c98a9[_0xb447('0x17')]]?members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x7')]:_0x5c98a9[_0xb447('0x17')]),_0x5c98a9);utils['info'](util['format'](_0xb447('0x18'),members[_0x5c98a9[_0xb447('0x17')]]?members[_0x5c98a9[_0xb447('0x17')]]['uniqueid']:_0x5c98a9[_0xb447('0x17')],_0x5c98a9[_0xb447('0x19')],_0x5c98a9[_0xb447('0x17')]));switch(_0x5c98a9[_0xb447('0x19')]){case _0xb447('0x1a'):case'BUSY':if(!startsWith(exclude,_0x5c98a9[_0xb447('0x17')])){members[_0x5c98a9[_0xb447('0x17')]]={'channel':_0xb447('0x1b'),'interface':_0x5c98a9[_0xb447('0x17')],'type':_0xb447('0x1c'),'enterAt':utils[_0xb447('0x1d')](),'role':'agent'};}break;case _0xb447('0x1e'):if(!_[_0xb447('0x1f')](members[_0x5c98a9[_0xb447('0x17')]])){members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x20')]=utils['now']();members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x21')]=utils[_0xb447('0x22')](members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x20')],members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x23')]);if(members[_0x5c98a9[_0xb447('0x17')]]['uniqueid']){writeDB(members[_0x5c98a9[_0xb447('0x17')]]);}}break;default:break;}}catch(_0x6eaf85){utils[_0xb447('0x13')](util[_0xb447('0x5')](_0xb447('0x16'),members[_0x5c98a9[_0xb447('0x17')]]?members[_0x5c98a9[_0xb447('0x17')]][_0xb447('0x7')]:_0x5c98a9[_0xb447('0x17')]),_0x6eaf85);}};exports['agentcomplete']=function(_0x533444){try{if(!_['isNil'](members[_0x533444[_0xb447('0x8')]])){utils['debug'](util['format']('[%s][members][agentcomplete]',_0x533444[_0xb447('0x7')]),_0x533444);utils[_0xb447('0x4')](util[_0xb447('0x5')](_0xb447('0x24'),_0x533444['uniqueid'],_0x533444[_0xb447('0x8')],_0x533444[_0xb447('0x25')]));members[_0x533444[_0xb447('0x8')]]=_[_0xb447('0x26')](members[_0x533444[_0xb447('0x8')]],{'data4':_0x533444[_0xb447('0x25')],'uniqueid':_0x533444[_0xb447('0x7')]});}}catch(_0x3c3025){utils[_0xb447('0x13')](util[_0xb447('0x5')](_0xb447('0x27'),_0x533444[_0xb447('0x7')]),_0x3c3025);}};exports[_0xb447('0x28')]=function(_0x34f96f){try{utils['debug'](util[_0xb447('0x5')](_0xb447('0x29'),_0x34f96f[_0xb447('0x7')]),_0x34f96f);if(_0x34f96f[_0xb447('0x9')]){var _0x1b7fee=_0x34f96f[_0xb447('0x9')]['split']('-')[0x0];if(!_[_0xb447('0x1f')](members[_0x1b7fee])){members[_0x1b7fee]=_[_0xb447('0x26')](members[_0x1b7fee],{'data1':members[_0x1b7fee][_0xb447('0x2a')]||_0x34f96f['type'],'data2':members[_0x1b7fee]['data2']||_0x34f96f[_0xb447('0x2b')],'data3':members[_0x1b7fee]['data3']||_0x34f96f['destination'],'uniqueid':members[_0x1b7fee][_0xb447('0x7')]||_0x34f96f[_0xb447('0x7')]});utils[_0xb447('0x4')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x34f96f['uniqueid'],members[_0x1b7fee][_0xb447('0x2a')],members[_0x1b7fee]['data2'],members[_0x1b7fee][_0xb447('0x2c')]));if(members[_0x1b7fee][_0xb447('0x20')]){writeDB(members[_0x1b7fee]);}}}if(_0x34f96f[_0xb447('0x2d')]){var _0x31e16b=_0x34f96f[_0xb447('0x2d')][_0xb447('0x12')]('-')[0x0];if(!_[_0xb447('0x1f')](members[_0x31e16b])){members[_0x31e16b]=_[_0xb447('0x26')](members[_0x31e16b],{'data1':members[_0x31e16b][_0xb447('0x2a')]||_0x34f96f['type'],'data2':members[_0x31e16b][_0xb447('0xa')]||_0x34f96f['source'],'data3':members[_0x31e16b][_0xb447('0x2c')]||_0x34f96f[_0xb447('0x2e')],'uniqueid':members[_0x31e16b][_0xb447('0x7')]||_0x34f96f['uniqueid']});utils[_0xb447('0x4')](util[_0xb447('0x5')](_0xb447('0x2f'),_0x34f96f[_0xb447('0x7')],members[_0x31e16b][_0xb447('0x2a')],members[_0x31e16b][_0xb447('0xa')],members[_0x31e16b]['data3']));if(members[_0x31e16b][_0xb447('0x20')]){writeDB(members[_0x31e16b]);}}}}catch(_0x3fee12){utils['error'](util[_0xb447('0x5')](_0xb447('0x29'),_0x34f96f['uniqueid']),_0x3fee12);}};