Built motion from commit f7863d46.|2.5.41
[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 _0xbbcb=['type','then','name','internal','request','CreateMemberReport','getUserByName','split','error','[%s][members][writeDB]','some','startsWith','debug','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','diffTime','enterAt','agentcomplete','isNil','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','data3','destination','data1','destinationchannel','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','[%s][members][cdr]','lodash','util','./utils','Local/_attended@transfer','Queue:','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername'];(function(_0x55358f,_0xe0a01){var _0xba2c05=function(_0x5f16f9){while(--_0x5f16f9){_0x55358f['push'](_0x55358f['shift']());}};_0xba2c05(++_0xe0a01);}(_0xbbcb,0x16e));var _0xbbbc=function(_0x587874,_0x196dd0){_0x587874=_0x587874-0x0;var _0x41d2af=_0xbbcb[_0x587874];return _0x41d2af;};'use strict';var _=require(_0xbbbc('0x0'));var util=require(_0xbbbc('0x1'));var utils=require(_0xbbbc('0x2'));var members={};var exclude=[_0xbbbc('0x3'),_0xbbbc('0x4')];function writeDB(_0x28fa3e){utils['info'](util[_0xbbbc('0x5')](_0xbbbc('0x6'),_0x28fa3e[_0xbbbc('0x7')],_0x28fa3e[_0xbbbc('0x8')],_0x28fa3e[_0xbbbc('0x9')],_0x28fa3e[_0xbbbc('0xa')],_0x28fa3e[_0xbbbc('0xb')],_0x28fa3e[_0xbbbc('0xc')]));if(_0x28fa3e[_0xbbbc('0x8')]){utils['getUserByInterface'](_0x28fa3e['interface'])[_0xbbbc('0xd')](function(_0x5e984b){if(_0x5e984b){_0x28fa3e['membername']=_0x5e984b[_0xbbbc('0xe')];_0x28fa3e[_0xbbbc('0xf')]=_0x5e984b[_0xbbbc('0xf')];utils[_0xbbbc('0x10')](_0xbbbc('0x11'),_0x28fa3e);}else{utils[_0xbbbc('0x12')](_0x28fa3e['interface'][_0xbbbc('0x13')]('/')[0x1])[_0xbbbc('0xd')](function(_0x5441c5){if(_0x5441c5){_0x28fa3e[_0xbbbc('0xb')]=_0x5441c5[_0xbbbc('0xe')];_0x28fa3e[_0xbbbc('0xf')]=_0x5441c5['internal'];utils[_0xbbbc('0x10')](_0xbbbc('0x11'),_0x28fa3e);}});}})['catch'](function(_0x42a4f7){utils[_0xbbbc('0x14')](util[_0xbbbc('0x5')](_0xbbbc('0x15'),_0x28fa3e['uniqueid']),_0x42a4f7);});}delete members[_0x28fa3e['interface']];}function startsWith(_0x1c1a48,_0x5f0402){return _[_0xbbbc('0x16')](_0x1c1a48,function(_0x35afdd){return _[_0xbbbc('0x17')](_0x5f0402,_0x35afdd);});}exports['devicestatechange']=function(_0x45cb29){try{utils[_0xbbbc('0x18')](util[_0xbbbc('0x5')](_0xbbbc('0x19'),members[_0x45cb29[_0xbbbc('0x1a')]]?members[_0x45cb29[_0xbbbc('0x1a')]][_0xbbbc('0x7')]:_0x45cb29[_0xbbbc('0x1a')]),_0x45cb29);utils[_0xbbbc('0x1b')](util[_0xbbbc('0x5')](_0xbbbc('0x1c'),members[_0x45cb29[_0xbbbc('0x1a')]]?members[_0x45cb29['device']][_0xbbbc('0x7')]:_0x45cb29[_0xbbbc('0x1a')],_0x45cb29[_0xbbbc('0x1d')],_0x45cb29[_0xbbbc('0x1a')]));switch(_0x45cb29[_0xbbbc('0x1d')]){case _0xbbbc('0x1e'):case _0xbbbc('0x1f'):if(!startsWith(exclude,_0x45cb29[_0xbbbc('0x1a')])){members[_0x45cb29[_0xbbbc('0x1a')]]={'channel':_0xbbbc('0x20'),'interface':_0x45cb29[_0xbbbc('0x1a')],'type':_0xbbbc('0x21'),'enterAt':utils[_0xbbbc('0x22')](),'role':_0xbbbc('0x23')};}break;case _0xbbbc('0x24'):if(!_['isNil'](members[_0x45cb29[_0xbbbc('0x1a')]])){members[_0x45cb29[_0xbbbc('0x1a')]][_0xbbbc('0x25')]=utils[_0xbbbc('0x22')]();members[_0x45cb29[_0xbbbc('0x1a')]]['duration']=utils[_0xbbbc('0x26')](members[_0x45cb29['device']][_0xbbbc('0x25')],members[_0x45cb29[_0xbbbc('0x1a')]][_0xbbbc('0x27')]);if(members[_0x45cb29[_0xbbbc('0x1a')]]['uniqueid']){writeDB(members[_0x45cb29[_0xbbbc('0x1a')]]);}}break;default:break;}}catch(_0x37d005){utils[_0xbbbc('0x14')](util[_0xbbbc('0x5')](_0xbbbc('0x19'),members[_0x45cb29[_0xbbbc('0x1a')]]?members[_0x45cb29[_0xbbbc('0x1a')]]['uniqueid']:_0x45cb29['device']),_0x37d005);}};exports[_0xbbbc('0x28')]=function(_0x1071ec){try{if(!_[_0xbbbc('0x29')](members[_0x1071ec['interface']])){utils[_0xbbbc('0x18')](util['format'](_0xbbbc('0x2a'),_0x1071ec[_0xbbbc('0x7')]),_0x1071ec);utils[_0xbbbc('0x1b')](util[_0xbbbc('0x5')](_0xbbbc('0x2b'),_0x1071ec['uniqueid'],_0x1071ec[_0xbbbc('0x8')],_0x1071ec[_0xbbbc('0x2c')]));members[_0x1071ec['interface']]=_[_0xbbbc('0x2d')](members[_0x1071ec['interface']],{'data4':_0x1071ec[_0xbbbc('0x2c')],'uniqueid':_0x1071ec['uniqueid']});}}catch(_0x2b5f01){utils[_0xbbbc('0x14')](util[_0xbbbc('0x5')]('[%s][members][agentcomplete]',_0x1071ec[_0xbbbc('0x7')]),_0x2b5f01);}};exports[_0xbbbc('0x2e')]=function(_0x299467){try{utils['debug'](util[_0xbbbc('0x5')]('[%s][members][cdr]',_0x299467[_0xbbbc('0x7')]),_0x299467);if(_0x299467['channel']){var _0x4d06d6=_0x299467[_0xbbbc('0x9')]['split']('-')[0x0];if(!_[_0xbbbc('0x29')](members[_0x4d06d6])){members[_0x4d06d6]=_[_0xbbbc('0x2d')](members[_0x4d06d6],{'data1':members[_0x4d06d6]['data1']||_0x299467['type'],'data2':members[_0x4d06d6][_0xbbbc('0xa')]||_0x299467['source'],'data3':members[_0x4d06d6][_0xbbbc('0x2f')]||_0x299467[_0xbbbc('0x30')],'uniqueid':members[_0x4d06d6][_0xbbbc('0x7')]||_0x299467[_0xbbbc('0x7')]});utils[_0xbbbc('0x1b')](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x299467['uniqueid'],members[_0x4d06d6][_0xbbbc('0x31')],members[_0x4d06d6][_0xbbbc('0xa')],members[_0x4d06d6][_0xbbbc('0x2f')]));if(members[_0x4d06d6][_0xbbbc('0x25')]){writeDB(members[_0x4d06d6]);}}}if(_0x299467[_0xbbbc('0x32')]){var _0x24abae=_0x299467['destinationchannel'][_0xbbbc('0x13')]('-')[0x0];if(!_[_0xbbbc('0x29')](members[_0x24abae])){members[_0x24abae]=_[_0xbbbc('0x2d')](members[_0x24abae],{'data1':members[_0x24abae][_0xbbbc('0x31')]||_0x299467[_0xbbbc('0xc')],'data2':members[_0x24abae][_0xbbbc('0xa')]||_0x299467[_0xbbbc('0x33')],'data3':members[_0x24abae][_0xbbbc('0x2f')]||_0x299467[_0xbbbc('0x30')],'uniqueid':members[_0x24abae][_0xbbbc('0x7')]||_0x299467['uniqueid']});utils[_0xbbbc('0x1b')](util['format'](_0xbbbc('0x34'),_0x299467[_0xbbbc('0x7')],members[_0x24abae][_0xbbbc('0x31')],members[_0x24abae][_0xbbbc('0xa')],members[_0x24abae][_0xbbbc('0x2f')]));if(members[_0x24abae]['exitAt']){writeDB(members[_0x24abae]);}}}}catch(_0x2fce23){utils[_0xbbbc('0x14')](util[_0xbbbc('0x5')](_0xbbbc('0x35'),_0x299467[_0xbbbc('0x7')]),_0x2fce23);}};