fe0b5ccadab29d741f54aeb3d5abbd05aa5b5141
[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 _0x3452=['some','devicestatechange','[%s][members][devicestatechange]','device','state','INUSE','BUSY','voice','now','NOT_INUSE','isNil','exitAt','duration','diffTime','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','cdr','[%s][members][cdr]','split','data1','type','data2','source','data3','destination','destinationchannel','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','membername','getUserByInterface','then','name','request','internal','CreateMemberReport','catch','error','[%s][members][writeDB]','uniqueid'];(function(_0x2fdf91,_0x24e087){var _0x1d828a=function(_0x1cf06d){while(--_0x1cf06d){_0x2fdf91['push'](_0x2fdf91['shift']());}};_0x1d828a(++_0x24e087);}(_0x3452,0x183));var _0x2345=function(_0x2f5ac5,_0x1ee939){_0x2f5ac5=_0x2f5ac5-0x0;var _0x37c9a8=_0x3452[_0x2f5ac5];return _0x37c9a8;};'use strict';var _=require(_0x2345('0x0'));var util=require(_0x2345('0x1'));var utils=require(_0x2345('0x2'));var members={};var exclude=[_0x2345('0x3'),_0x2345('0x4')];function writeDB(_0x35f24f){utils[_0x2345('0x5')](util[_0x2345('0x6')](_0x2345('0x7'),_0x35f24f['uniqueid'],_0x35f24f[_0x2345('0x8')],_0x35f24f[_0x2345('0x9')],_0x35f24f['data2'],_0x35f24f[_0x2345('0xa')],_0x35f24f['type']));if(_0x35f24f['interface']){utils[_0x2345('0xb')](_0x35f24f[_0x2345('0x8')])[_0x2345('0xc')](function(_0x5709c5){if(_0x5709c5){_0x35f24f[_0x2345('0xa')]=_0x5709c5[_0x2345('0xd')];_0x35f24f['internal']=_0x5709c5['internal'];utils[_0x2345('0xe')]('CreateMemberReport',_0x35f24f);}else{utils['getUserByName'](_0x35f24f['interface']['split']('/')[0x1])[_0x2345('0xc')](function(_0x60a065){if(_0x60a065){_0x35f24f[_0x2345('0xa')]=_0x60a065['name'];_0x35f24f['internal']=_0x60a065[_0x2345('0xf')];utils['request'](_0x2345('0x10'),_0x35f24f);}});}})[_0x2345('0x11')](function(_0x41245d){utils[_0x2345('0x12')](util[_0x2345('0x6')](_0x2345('0x13'),_0x35f24f[_0x2345('0x14')]),_0x41245d);});}delete members[_0x35f24f[_0x2345('0x8')]];}function startsWith(_0x530856,_0x18415b){return _[_0x2345('0x15')](_0x530856,function(_0x2b194a){return _['startsWith'](_0x18415b,_0x2b194a);});}exports[_0x2345('0x16')]=function(_0x532b33){try{utils['debug'](util[_0x2345('0x6')](_0x2345('0x17'),members[_0x532b33[_0x2345('0x18')]]?members[_0x532b33[_0x2345('0x18')]]['uniqueid']:_0x532b33[_0x2345('0x18')]),_0x532b33);utils['info'](util['format']('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x532b33[_0x2345('0x18')]]?members[_0x532b33[_0x2345('0x18')]][_0x2345('0x14')]:_0x532b33['device'],_0x532b33[_0x2345('0x19')],_0x532b33[_0x2345('0x18')]));switch(_0x532b33[_0x2345('0x19')]){case _0x2345('0x1a'):case _0x2345('0x1b'):if(!startsWith(exclude,_0x532b33[_0x2345('0x18')])){members[_0x532b33[_0x2345('0x18')]]={'channel':_0x2345('0x1c'),'interface':_0x532b33[_0x2345('0x18')],'type':'TALKING','enterAt':utils[_0x2345('0x1d')](),'role':'agent'};}break;case _0x2345('0x1e'):if(!_[_0x2345('0x1f')](members[_0x532b33[_0x2345('0x18')]])){members[_0x532b33[_0x2345('0x18')]][_0x2345('0x20')]=utils[_0x2345('0x1d')]();members[_0x532b33[_0x2345('0x18')]][_0x2345('0x21')]=utils[_0x2345('0x22')](members[_0x532b33[_0x2345('0x18')]]['exitAt'],members[_0x532b33['device']]['enterAt']);if(members[_0x532b33[_0x2345('0x18')]][_0x2345('0x14')]){writeDB(members[_0x532b33['device']]);}}break;default:break;}}catch(_0x2b1338){utils[_0x2345('0x12')](util[_0x2345('0x6')](_0x2345('0x17'),members[_0x532b33[_0x2345('0x18')]]?members[_0x532b33['device']][_0x2345('0x14')]:_0x532b33[_0x2345('0x18')]),_0x2b1338);}};exports[_0x2345('0x23')]=function(_0x1ac0b6){try{if(!_[_0x2345('0x1f')](members[_0x1ac0b6[_0x2345('0x8')]])){utils[_0x2345('0x24')](util[_0x2345('0x6')](_0x2345('0x25'),_0x1ac0b6[_0x2345('0x14')]),_0x1ac0b6);utils['info'](util[_0x2345('0x6')](_0x2345('0x26'),_0x1ac0b6['uniqueid'],_0x1ac0b6['interface'],_0x1ac0b6['queue']));members[_0x1ac0b6[_0x2345('0x8')]]=_[_0x2345('0x27')](members[_0x1ac0b6[_0x2345('0x8')]],{'data4':_0x1ac0b6[_0x2345('0x28')],'uniqueid':_0x1ac0b6[_0x2345('0x14')]});}}catch(_0x139802){utils[_0x2345('0x12')](util['format'](_0x2345('0x25'),_0x1ac0b6[_0x2345('0x14')]),_0x139802);}};exports[_0x2345('0x29')]=function(_0x1b90bd){try{utils['debug'](util[_0x2345('0x6')](_0x2345('0x2a'),_0x1b90bd[_0x2345('0x14')]),_0x1b90bd);if(_0x1b90bd['channel']){var _0x5189aa=_0x1b90bd['channel'][_0x2345('0x2b')]('-')[0x0];if(!_['isNil'](members[_0x5189aa])){members[_0x5189aa]=_[_0x2345('0x27')](members[_0x5189aa],{'data1':members[_0x5189aa][_0x2345('0x2c')]||_0x1b90bd[_0x2345('0x2d')],'data2':members[_0x5189aa][_0x2345('0x2e')]||_0x1b90bd[_0x2345('0x2f')],'data3':members[_0x5189aa][_0x2345('0x30')]||_0x1b90bd[_0x2345('0x31')],'uniqueid':members[_0x5189aa][_0x2345('0x14')]||_0x1b90bd['uniqueid']});utils[_0x2345('0x5')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x1b90bd[_0x2345('0x14')],members[_0x5189aa][_0x2345('0x2c')],members[_0x5189aa][_0x2345('0x2e')],members[_0x5189aa]['data3']));if(members[_0x5189aa][_0x2345('0x20')]){writeDB(members[_0x5189aa]);}}}if(_0x1b90bd[_0x2345('0x32')]){var _0x57f72a=_0x1b90bd[_0x2345('0x32')][_0x2345('0x2b')]('-')[0x0];if(!_[_0x2345('0x1f')](members[_0x57f72a])){members[_0x57f72a]=_[_0x2345('0x27')](members[_0x57f72a],{'data1':members[_0x57f72a][_0x2345('0x2c')]||_0x1b90bd[_0x2345('0x2d')],'data2':members[_0x57f72a][_0x2345('0x2e')]||_0x1b90bd[_0x2345('0x2f')],'data3':members[_0x57f72a][_0x2345('0x30')]||_0x1b90bd[_0x2345('0x31')],'uniqueid':members[_0x57f72a][_0x2345('0x14')]||_0x1b90bd[_0x2345('0x14')]});utils['info'](util[_0x2345('0x6')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x1b90bd[_0x2345('0x14')],members[_0x57f72a][_0x2345('0x2c')],members[_0x57f72a][_0x2345('0x2e')],members[_0x57f72a][_0x2345('0x30')]));if(members[_0x57f72a][_0x2345('0x20')]){writeDB(members[_0x57f72a]);}}}}catch(_0x59f2e5){utils[_0x2345('0x12')](util[_0x2345('0x6')]('[%s][members][cdr]',_0x1b90bd['uniqueid']),_0x59f2e5);}};