a0a85c89914bc5022b20bd4e1d7a6152a63ed8e0
[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 _0x8dfc=['NOT_INUSE','isNil','exitAt','duration','diffTime','error','[%s][members][agentcomplete]','assign','queue','cdr','[%s][members][cdr]','split','data1','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data2','destinationchannel','source','data3','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','type','getUserByInterface','then','name','internal','request','CreateMemberReport','[%s][members][writeDB]','uniqueid','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','voice','TALKING','now','agent'];(function(_0x5ddb1c,_0x5ea4df){var _0x354adc=function(_0x2dfb1f){while(--_0x2dfb1f){_0x5ddb1c['push'](_0x5ddb1c['shift']());}};_0x354adc(++_0x5ea4df);}(_0x8dfc,0xdf));var _0xc8df=function(_0x561f25,_0x2d95c1){_0x561f25=_0x561f25-0x0;var _0x150e4c=_0x8dfc[_0x561f25];return _0x150e4c;};'use strict';var _=require(_0xc8df('0x0'));var util=require(_0xc8df('0x1'));var utils=require(_0xc8df('0x2'));var members={};var exclude=[_0xc8df('0x3'),_0xc8df('0x4')];function writeDB(_0x41ee22){utils[_0xc8df('0x5')](util[_0xc8df('0x6')](_0xc8df('0x7'),_0x41ee22['uniqueid'],_0x41ee22[_0xc8df('0x8')],_0x41ee22[_0xc8df('0x9')],_0x41ee22['data2'],_0x41ee22[_0xc8df('0xa')],_0x41ee22[_0xc8df('0xb')]));if(_0x41ee22[_0xc8df('0x8')]){utils[_0xc8df('0xc')](_0x41ee22['interface'])[_0xc8df('0xd')](function(_0x1e423d){if(_0x1e423d){_0x41ee22[_0xc8df('0xa')]=_0x1e423d[_0xc8df('0xe')];_0x41ee22[_0xc8df('0xf')]=_0x1e423d[_0xc8df('0xf')];utils[_0xc8df('0x10')](_0xc8df('0x11'),_0x41ee22);}else{utils['getUserByName'](_0x41ee22['interface']['split']('/')[0x1])[_0xc8df('0xd')](function(_0x5f0833){if(_0x5f0833){_0x41ee22[_0xc8df('0xa')]=_0x5f0833['name'];_0x41ee22['internal']=_0x5f0833[_0xc8df('0xf')];utils[_0xc8df('0x10')]('CreateMemberReport',_0x41ee22);}});}})['catch'](function(_0x383613){utils['error'](util[_0xc8df('0x6')](_0xc8df('0x12'),_0x41ee22[_0xc8df('0x13')]),_0x383613);});}delete members[_0x41ee22[_0xc8df('0x8')]];}function startsWith(_0xb365dc,_0x29e02d){return _[_0xc8df('0x14')](_0xb365dc,function(_0x59b175){return _[_0xc8df('0x15')](_0x29e02d,_0x59b175);});}exports[_0xc8df('0x16')]=function(_0x581f70){try{utils[_0xc8df('0x17')](util[_0xc8df('0x6')](_0xc8df('0x18'),members[_0x581f70['device']]?members[_0x581f70['device']]['uniqueid']:_0x581f70[_0xc8df('0x19')]),_0x581f70);utils['info'](util[_0xc8df('0x6')](_0xc8df('0x1a'),members[_0x581f70[_0xc8df('0x19')]]?members[_0x581f70['device']][_0xc8df('0x13')]:_0x581f70[_0xc8df('0x19')],_0x581f70[_0xc8df('0x1b')],_0x581f70['device']));switch(_0x581f70[_0xc8df('0x1b')]){case'INUSE':case'BUSY':if(!startsWith(exclude,_0x581f70[_0xc8df('0x19')])){members[_0x581f70['device']]={'channel':_0xc8df('0x1c'),'interface':_0x581f70[_0xc8df('0x19')],'type':_0xc8df('0x1d'),'enterAt':utils[_0xc8df('0x1e')](),'role':_0xc8df('0x1f')};}break;case _0xc8df('0x20'):if(!_[_0xc8df('0x21')](members[_0x581f70[_0xc8df('0x19')]])){members[_0x581f70[_0xc8df('0x19')]][_0xc8df('0x22')]=utils[_0xc8df('0x1e')]();members[_0x581f70['device']][_0xc8df('0x23')]=utils[_0xc8df('0x24')](members[_0x581f70[_0xc8df('0x19')]][_0xc8df('0x22')],members[_0x581f70[_0xc8df('0x19')]]['enterAt']);if(members[_0x581f70['device']][_0xc8df('0x13')]){writeDB(members[_0x581f70[_0xc8df('0x19')]]);}}break;default:break;}}catch(_0x1ccd00){utils[_0xc8df('0x25')](util['format'](_0xc8df('0x18'),members[_0x581f70[_0xc8df('0x19')]]?members[_0x581f70[_0xc8df('0x19')]]['uniqueid']:_0x581f70[_0xc8df('0x19')]),_0x1ccd00);}};exports['agentcomplete']=function(_0x505597){try{if(!_['isNil'](members[_0x505597[_0xc8df('0x8')]])){utils['debug'](util[_0xc8df('0x6')](_0xc8df('0x26'),_0x505597[_0xc8df('0x13')]),_0x505597);utils[_0xc8df('0x5')](util[_0xc8df('0x6')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x505597[_0xc8df('0x13')],_0x505597['interface'],_0x505597['queue']));members[_0x505597['interface']]=_[_0xc8df('0x27')](members[_0x505597[_0xc8df('0x8')]],{'data4':_0x505597[_0xc8df('0x28')],'uniqueid':_0x505597[_0xc8df('0x13')]});}}catch(_0x9f3195){utils[_0xc8df('0x25')](util[_0xc8df('0x6')](_0xc8df('0x26'),_0x505597[_0xc8df('0x13')]),_0x9f3195);}};exports[_0xc8df('0x29')]=function(_0x493c1d){try{utils[_0xc8df('0x17')](util[_0xc8df('0x6')](_0xc8df('0x2a'),_0x493c1d[_0xc8df('0x13')]),_0x493c1d);if(_0x493c1d[_0xc8df('0x9')]){var _0xa92f45=_0x493c1d[_0xc8df('0x9')][_0xc8df('0x2b')]('-')[0x0];if(!_[_0xc8df('0x21')](members[_0xa92f45])){members[_0xa92f45]=_[_0xc8df('0x27')](members[_0xa92f45],{'data1':members[_0xa92f45][_0xc8df('0x2c')]||_0x493c1d[_0xc8df('0xb')],'data2':members[_0xa92f45]['data2']||_0x493c1d['source'],'data3':members[_0xa92f45]['data3']||_0x493c1d[_0xc8df('0x2d')],'uniqueid':members[_0xa92f45][_0xc8df('0x13')]||_0x493c1d[_0xc8df('0x13')]});utils['info'](util[_0xc8df('0x6')](_0xc8df('0x2e'),_0x493c1d['uniqueid'],members[_0xa92f45]['data1'],members[_0xa92f45][_0xc8df('0x2f')],members[_0xa92f45]['data3']));if(members[_0xa92f45]['exitAt']){writeDB(members[_0xa92f45]);}}}if(_0x493c1d['destinationchannel']){var _0xeceaf3=_0x493c1d[_0xc8df('0x30')][_0xc8df('0x2b')]('-')[0x0];if(!_[_0xc8df('0x21')](members[_0xeceaf3])){members[_0xeceaf3]=_[_0xc8df('0x27')](members[_0xeceaf3],{'data1':members[_0xeceaf3][_0xc8df('0x2c')]||_0x493c1d['type'],'data2':members[_0xeceaf3][_0xc8df('0x2f')]||_0x493c1d[_0xc8df('0x31')],'data3':members[_0xeceaf3][_0xc8df('0x32')]||_0x493c1d[_0xc8df('0x2d')],'uniqueid':members[_0xeceaf3][_0xc8df('0x13')]||_0x493c1d[_0xc8df('0x13')]});utils[_0xc8df('0x5')](util[_0xc8df('0x6')](_0xc8df('0x2e'),_0x493c1d['uniqueid'],members[_0xeceaf3]['data1'],members[_0xeceaf3][_0xc8df('0x2f')],members[_0xeceaf3][_0xc8df('0x32')]));if(members[_0xeceaf3][_0xc8df('0x22')]){writeDB(members[_0xeceaf3]);}}}}catch(_0x61066){utils[_0xc8df('0x25')](util[_0xc8df('0x6')](_0xc8df('0x2a'),_0x493c1d['uniqueid']),_0x61066);}};