6619d7a3f16845383a21edc6dfa8f6d190d971dc
[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 _0xaaf2=['info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','error','format','[%s][members][writeDB]','some','startsWith','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','agent','diffTime','exitAt','enterAt','agentcomplete','isNil','debug','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','channel','split','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','util','./utils','Queue:'];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0xaaf2,0x169));var _0x2aaf=function(_0x5a3b94,_0x2aa9c4){_0x5a3b94=_0x5a3b94-0x0;var _0x2151de=_0xaaf2[_0x5a3b94];return _0x2151de;};'use strict';var _=require('lodash');var util=require(_0x2aaf('0x0'));var utils=require(_0x2aaf('0x1'));var members={};var exclude=['Local/_attended@transfer',_0x2aaf('0x2')];function writeDB(_0x1f6b0a){utils[_0x2aaf('0x3')](util['format'](_0x2aaf('0x4'),_0x1f6b0a[_0x2aaf('0x5')],_0x1f6b0a[_0x2aaf('0x6')],_0x1f6b0a['channel'],_0x1f6b0a[_0x2aaf('0x7')],_0x1f6b0a[_0x2aaf('0x8')],_0x1f6b0a[_0x2aaf('0x9')]));if(_0x1f6b0a[_0x2aaf('0x6')]){utils[_0x2aaf('0xa')](_0x1f6b0a[_0x2aaf('0x6')])[_0x2aaf('0xb')](function(_0x16b1e4){if(_0x16b1e4){_0x1f6b0a['membername']=_0x16b1e4[_0x2aaf('0xc')];_0x1f6b0a[_0x2aaf('0xd')]=_0x16b1e4['internal'];utils[_0x2aaf('0xe')](_0x2aaf('0xf'),_0x1f6b0a);}else{utils[_0x2aaf('0x10')](_0x1f6b0a[_0x2aaf('0x6')]['split']('/')[0x1])[_0x2aaf('0xb')](function(_0x17eaca){if(_0x17eaca){_0x1f6b0a[_0x2aaf('0x8')]=_0x17eaca['name'];_0x1f6b0a[_0x2aaf('0xd')]=_0x17eaca[_0x2aaf('0xd')];utils[_0x2aaf('0xe')](_0x2aaf('0xf'),_0x1f6b0a);}});}})['catch'](function(_0x24fed8){utils[_0x2aaf('0x11')](util[_0x2aaf('0x12')](_0x2aaf('0x13'),_0x1f6b0a['uniqueid']),_0x24fed8);});}delete members[_0x1f6b0a[_0x2aaf('0x6')]];}function startsWith(_0x36245d,_0x2ef758){return _[_0x2aaf('0x14')](_0x36245d,function(_0x32af23){return _[_0x2aaf('0x15')](_0x2ef758,_0x32af23);});}exports[_0x2aaf('0x16')]=function(_0x3238b0){try{utils['debug'](util[_0x2aaf('0x12')](_0x2aaf('0x17'),members[_0x3238b0[_0x2aaf('0x18')]]?members[_0x3238b0[_0x2aaf('0x18')]][_0x2aaf('0x5')]:_0x3238b0[_0x2aaf('0x18')]),_0x3238b0);utils[_0x2aaf('0x3')](util[_0x2aaf('0x12')](_0x2aaf('0x19'),members[_0x3238b0[_0x2aaf('0x18')]]?members[_0x3238b0['device']][_0x2aaf('0x5')]:_0x3238b0[_0x2aaf('0x18')],_0x3238b0[_0x2aaf('0x1a')],_0x3238b0['device']));switch(_0x3238b0[_0x2aaf('0x1a')]){case _0x2aaf('0x1b'):case _0x2aaf('0x1c'):if(!startsWith(exclude,_0x3238b0[_0x2aaf('0x18')])){members[_0x3238b0['device']]={'channel':_0x2aaf('0x1d'),'interface':_0x3238b0[_0x2aaf('0x18')],'type':_0x2aaf('0x1e'),'enterAt':utils['now'](),'role':_0x2aaf('0x1f')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x3238b0[_0x2aaf('0x18')]])){members[_0x3238b0[_0x2aaf('0x18')]]['exitAt']=utils['now']();members[_0x3238b0[_0x2aaf('0x18')]]['duration']=utils[_0x2aaf('0x20')](members[_0x3238b0[_0x2aaf('0x18')]][_0x2aaf('0x21')],members[_0x3238b0[_0x2aaf('0x18')]][_0x2aaf('0x22')]);if(members[_0x3238b0[_0x2aaf('0x18')]]['uniqueid']){writeDB(members[_0x3238b0[_0x2aaf('0x18')]]);}}break;default:break;}}catch(_0x5687a8){utils[_0x2aaf('0x11')](util[_0x2aaf('0x12')](_0x2aaf('0x17'),members[_0x3238b0[_0x2aaf('0x18')]]?members[_0x3238b0['device']][_0x2aaf('0x5')]:_0x3238b0[_0x2aaf('0x18')]),_0x5687a8);}};exports[_0x2aaf('0x23')]=function(_0x2eb564){try{if(!_[_0x2aaf('0x24')](members[_0x2eb564['interface']])){utils[_0x2aaf('0x25')](util[_0x2aaf('0x12')]('[%s][members][agentcomplete]',_0x2eb564['uniqueid']),_0x2eb564);utils[_0x2aaf('0x3')](util[_0x2aaf('0x12')](_0x2aaf('0x26'),_0x2eb564[_0x2aaf('0x5')],_0x2eb564[_0x2aaf('0x6')],_0x2eb564['queue']));members[_0x2eb564['interface']]=_[_0x2aaf('0x27')](members[_0x2eb564['interface']],{'data4':_0x2eb564[_0x2aaf('0x28')],'uniqueid':_0x2eb564[_0x2aaf('0x5')]});}}catch(_0x330720){utils[_0x2aaf('0x11')](util[_0x2aaf('0x12')](_0x2aaf('0x29'),_0x2eb564[_0x2aaf('0x5')]),_0x330720);}};exports[_0x2aaf('0x2a')]=function(_0x5f2eb0){try{utils[_0x2aaf('0x25')](util[_0x2aaf('0x12')](_0x2aaf('0x2b'),_0x5f2eb0[_0x2aaf('0x5')]),_0x5f2eb0);if(_0x5f2eb0[_0x2aaf('0x2c')]){var _0x21cdd8=_0x5f2eb0[_0x2aaf('0x2c')][_0x2aaf('0x2d')]('-')[0x0];if(!_[_0x2aaf('0x24')](members[_0x21cdd8])){members[_0x21cdd8]=_['assign'](members[_0x21cdd8],{'data1':members[_0x21cdd8][_0x2aaf('0x2e')]||_0x5f2eb0['type'],'data2':members[_0x21cdd8][_0x2aaf('0x7')]||_0x5f2eb0[_0x2aaf('0x2f')],'data3':members[_0x21cdd8][_0x2aaf('0x30')]||_0x5f2eb0[_0x2aaf('0x31')],'uniqueid':members[_0x21cdd8][_0x2aaf('0x5')]||_0x5f2eb0[_0x2aaf('0x5')]});utils['info'](util[_0x2aaf('0x12')](_0x2aaf('0x32'),_0x5f2eb0['uniqueid'],members[_0x21cdd8][_0x2aaf('0x2e')],members[_0x21cdd8][_0x2aaf('0x7')],members[_0x21cdd8]['data3']));if(members[_0x21cdd8]['exitAt']){writeDB(members[_0x21cdd8]);}}}if(_0x5f2eb0[_0x2aaf('0x33')]){var _0x22d389=_0x5f2eb0['destinationchannel'][_0x2aaf('0x2d')]('-')[0x0];if(!_[_0x2aaf('0x24')](members[_0x22d389])){members[_0x22d389]=_[_0x2aaf('0x27')](members[_0x22d389],{'data1':members[_0x22d389][_0x2aaf('0x2e')]||_0x5f2eb0['type'],'data2':members[_0x22d389]['data2']||_0x5f2eb0[_0x2aaf('0x2f')],'data3':members[_0x22d389][_0x2aaf('0x30')]||_0x5f2eb0[_0x2aaf('0x31')],'uniqueid':members[_0x22d389][_0x2aaf('0x5')]||_0x5f2eb0['uniqueid']});utils['info'](util[_0x2aaf('0x12')](_0x2aaf('0x32'),_0x5f2eb0[_0x2aaf('0x5')],members[_0x22d389][_0x2aaf('0x2e')],members[_0x22d389][_0x2aaf('0x7')],members[_0x22d389][_0x2aaf('0x30')]));if(members[_0x22d389][_0x2aaf('0x21')]){writeDB(members[_0x22d389]);}}}}catch(_0x4d106a){utils[_0x2aaf('0x11')](util[_0x2aaf('0x12')]('[%s][members][cdr]',_0x5f2eb0[_0x2aaf('0x5')]),_0x4d106a);}};