e9074d8fac867821c0680dafe367be3cb78e8bac
[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 _0x4a3d=['now','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','debug','[%s][members][agentcomplete]','queue','cdr','[%s][members][cdr]','assign','data1','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','type','then','membername','name','internal','request','CreateMemberReport','split','catch','error','[%s][members][writeDB]','some','startsWith','devicestatechange','device','INUSE','BUSY','TALKING'];(function(_0x39ec44,_0xb4a77){var _0x301ad6=function(_0x250f01){while(--_0x250f01){_0x39ec44['push'](_0x39ec44['shift']());}};_0x301ad6(++_0xb4a77);}(_0x4a3d,0x79));var _0xd4a3=function(_0x4b5b8b,_0x3494d1){_0x4b5b8b=_0x4b5b8b-0x0;var _0x10d1e2=_0x4a3d[_0x4b5b8b];return _0x10d1e2;};'use strict';var _=require(_0xd4a3('0x0'));var util=require(_0xd4a3('0x1'));var utils=require(_0xd4a3('0x2'));var members={};var exclude=[_0xd4a3('0x3'),_0xd4a3('0x4')];function writeDB(_0x34fd01){utils[_0xd4a3('0x5')](util[_0xd4a3('0x6')](_0xd4a3('0x7'),_0x34fd01[_0xd4a3('0x8')],_0x34fd01[_0xd4a3('0x9')],_0x34fd01[_0xd4a3('0xa')],_0x34fd01['data2'],_0x34fd01['membername'],_0x34fd01[_0xd4a3('0xb')]));if(_0x34fd01[_0xd4a3('0x9')]){utils['getUserByInterface'](_0x34fd01['interface'])[_0xd4a3('0xc')](function(_0x1ad12e){if(_0x1ad12e){_0x34fd01[_0xd4a3('0xd')]=_0x1ad12e[_0xd4a3('0xe')];_0x34fd01[_0xd4a3('0xf')]=_0x1ad12e[_0xd4a3('0xf')];utils[_0xd4a3('0x10')](_0xd4a3('0x11'),_0x34fd01);}else{utils['getUserByName'](_0x34fd01[_0xd4a3('0x9')][_0xd4a3('0x12')]('/')[0x1])[_0xd4a3('0xc')](function(_0x213577){if(_0x213577){_0x34fd01[_0xd4a3('0xd')]=_0x213577[_0xd4a3('0xe')];_0x34fd01[_0xd4a3('0xf')]=_0x213577['internal'];utils[_0xd4a3('0x10')](_0xd4a3('0x11'),_0x34fd01);}});}})[_0xd4a3('0x13')](function(_0x1d13e3){utils[_0xd4a3('0x14')](util[_0xd4a3('0x6')](_0xd4a3('0x15'),_0x34fd01[_0xd4a3('0x8')]),_0x1d13e3);});}delete members[_0x34fd01['interface']];}function startsWith(_0x5d16e8,_0x140379){return _[_0xd4a3('0x16')](_0x5d16e8,function(_0x124d03){return _[_0xd4a3('0x17')](_0x140379,_0x124d03);});}exports[_0xd4a3('0x18')]=function(_0x454361){try{utils['debug'](util[_0xd4a3('0x6')]('[%s][members][devicestatechange]',members[_0x454361[_0xd4a3('0x19')]]?members[_0x454361['device']][_0xd4a3('0x8')]:_0x454361['device']),_0x454361);utils[_0xd4a3('0x5')](util[_0xd4a3('0x6')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x454361[_0xd4a3('0x19')]]?members[_0x454361[_0xd4a3('0x19')]][_0xd4a3('0x8')]:_0x454361['device'],_0x454361['state'],_0x454361[_0xd4a3('0x19')]));switch(_0x454361['state']){case _0xd4a3('0x1a'):case _0xd4a3('0x1b'):if(!startsWith(exclude,_0x454361['device'])){members[_0x454361['device']]={'channel':'voice','interface':_0x454361[_0xd4a3('0x19')],'type':_0xd4a3('0x1c'),'enterAt':utils[_0xd4a3('0x1d')](),'role':'agent'};}break;case _0xd4a3('0x1e'):if(!_[_0xd4a3('0x1f')](members[_0x454361[_0xd4a3('0x19')]])){members[_0x454361[_0xd4a3('0x19')]][_0xd4a3('0x20')]=utils[_0xd4a3('0x1d')]();members[_0x454361['device']][_0xd4a3('0x21')]=utils[_0xd4a3('0x22')](members[_0x454361['device']][_0xd4a3('0x20')],members[_0x454361[_0xd4a3('0x19')]][_0xd4a3('0x23')]);if(members[_0x454361['device']][_0xd4a3('0x8')]){writeDB(members[_0x454361[_0xd4a3('0x19')]]);}}break;default:break;}}catch(_0x20a845){utils['error'](util[_0xd4a3('0x6')]('[%s][members][devicestatechange]',members[_0x454361[_0xd4a3('0x19')]]?members[_0x454361['device']][_0xd4a3('0x8')]:_0x454361['device']),_0x20a845);}};exports[_0xd4a3('0x24')]=function(_0x535ecd){try{if(!_[_0xd4a3('0x1f')](members[_0x535ecd['interface']])){utils[_0xd4a3('0x25')](util[_0xd4a3('0x6')](_0xd4a3('0x26'),_0x535ecd[_0xd4a3('0x8')]),_0x535ecd);utils[_0xd4a3('0x5')](util['format']('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x535ecd[_0xd4a3('0x8')],_0x535ecd[_0xd4a3('0x9')],_0x535ecd[_0xd4a3('0x27')]));members[_0x535ecd[_0xd4a3('0x9')]]=_['assign'](members[_0x535ecd[_0xd4a3('0x9')]],{'data4':_0x535ecd[_0xd4a3('0x27')],'uniqueid':_0x535ecd['uniqueid']});}}catch(_0x3ee869){utils['error'](util[_0xd4a3('0x6')](_0xd4a3('0x26'),_0x535ecd[_0xd4a3('0x8')]),_0x3ee869);}};exports[_0xd4a3('0x28')]=function(_0x43746f){try{utils[_0xd4a3('0x25')](util[_0xd4a3('0x6')](_0xd4a3('0x29'),_0x43746f[_0xd4a3('0x8')]),_0x43746f);if(_0x43746f['channel']){var _0x250ca9=_0x43746f[_0xd4a3('0xa')][_0xd4a3('0x12')]('-')[0x0];if(!_['isNil'](members[_0x250ca9])){members[_0x250ca9]=_[_0xd4a3('0x2a')](members[_0x250ca9],{'data1':members[_0x250ca9][_0xd4a3('0x2b')]||_0x43746f[_0xd4a3('0xb')],'data2':members[_0x250ca9][_0xd4a3('0x2c')]||_0x43746f[_0xd4a3('0x2d')],'data3':members[_0x250ca9][_0xd4a3('0x2e')]||_0x43746f[_0xd4a3('0x2f')],'uniqueid':members[_0x250ca9]['uniqueid']||_0x43746f[_0xd4a3('0x8')]});utils['info'](util['format'](_0xd4a3('0x30'),_0x43746f[_0xd4a3('0x8')],members[_0x250ca9][_0xd4a3('0x2b')],members[_0x250ca9][_0xd4a3('0x2c')],members[_0x250ca9]['data3']));if(members[_0x250ca9][_0xd4a3('0x20')]){writeDB(members[_0x250ca9]);}}}if(_0x43746f['destinationchannel']){var _0x380e73=_0x43746f[_0xd4a3('0x31')][_0xd4a3('0x12')]('-')[0x0];if(!_[_0xd4a3('0x1f')](members[_0x380e73])){members[_0x380e73]=_['assign'](members[_0x380e73],{'data1':members[_0x380e73][_0xd4a3('0x2b')]||_0x43746f[_0xd4a3('0xb')],'data2':members[_0x380e73][_0xd4a3('0x2c')]||_0x43746f[_0xd4a3('0x2d')],'data3':members[_0x380e73]['data3']||_0x43746f['destination'],'uniqueid':members[_0x380e73][_0xd4a3('0x8')]||_0x43746f[_0xd4a3('0x8')]});utils[_0xd4a3('0x5')](util[_0xd4a3('0x6')](_0xd4a3('0x30'),_0x43746f[_0xd4a3('0x8')],members[_0x380e73][_0xd4a3('0x2b')],members[_0x380e73]['data2'],members[_0x380e73]['data3']));if(members[_0x380e73][_0xd4a3('0x20')]){writeDB(members[_0x380e73]);}}}}catch(_0x26ab3a){utils[_0xd4a3('0x14')](util[_0xd4a3('0x6')](_0xd4a3('0x29'),_0x43746f[_0xd4a3('0x8')]),_0x26ab3a);}};