Built motion from commit bab6f49e.|2.6.17
[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 _0x5974=['[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','type','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','source','lodash','util','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','getUserByInterface','name','internal','request','CreateMemberReport','getUserByName','split','then','some','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','duration','diffTime','enterAt','error','agentcomplete','isNil'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x5974,0x1d8));var _0x4597=function(_0x1bfcfc,_0x140f5b){_0x1bfcfc=_0x1bfcfc-0x0;var _0x1041ff=_0x5974[_0x1bfcfc];return _0x1041ff;};'use strict';var _=require(_0x4597('0x0'));var util=require(_0x4597('0x1'));var utils=require('./utils');var members={};var exclude=[_0x4597('0x2'),'Queue:'];function writeDB(_0x43fabe){utils[_0x4597('0x3')](util[_0x4597('0x4')](_0x4597('0x5'),_0x43fabe[_0x4597('0x6')],_0x43fabe[_0x4597('0x7')],_0x43fabe[_0x4597('0x8')],_0x43fabe[_0x4597('0x9')],_0x43fabe[_0x4597('0xa')],_0x43fabe['type']));if(_0x43fabe[_0x4597('0x7')]){utils[_0x4597('0xb')](_0x43fabe[_0x4597('0x7')])['then'](function(_0x50360d){if(_0x50360d){_0x43fabe[_0x4597('0xa')]=_0x50360d[_0x4597('0xc')];_0x43fabe[_0x4597('0xd')]=_0x50360d['internal'];utils[_0x4597('0xe')](_0x4597('0xf'),_0x43fabe);}else{utils[_0x4597('0x10')](_0x43fabe[_0x4597('0x7')][_0x4597('0x11')]('/')[0x1])[_0x4597('0x12')](function(_0x395c50){if(_0x395c50){_0x43fabe['membername']=_0x395c50[_0x4597('0xc')];_0x43fabe[_0x4597('0xd')]=_0x395c50['internal'];utils['request'](_0x4597('0xf'),_0x43fabe);}});}})['catch'](function(_0x789a4e){utils['error'](util[_0x4597('0x4')]('[%s][members][writeDB]',_0x43fabe['uniqueid']),_0x789a4e);});}delete members[_0x43fabe['interface']];}function startsWith(_0xe4a772,_0x21f502){return _[_0x4597('0x13')](_0xe4a772,function(_0x28e25e){return _['startsWith'](_0x21f502,_0x28e25e);});}exports[_0x4597('0x14')]=function(_0x512e9c){try{utils['debug'](util[_0x4597('0x4')](_0x4597('0x15'),members[_0x512e9c['device']]?members[_0x512e9c[_0x4597('0x16')]][_0x4597('0x6')]:_0x512e9c['device']),_0x512e9c);utils[_0x4597('0x3')](util[_0x4597('0x4')](_0x4597('0x17'),members[_0x512e9c[_0x4597('0x16')]]?members[_0x512e9c[_0x4597('0x16')]][_0x4597('0x6')]:_0x512e9c['device'],_0x512e9c[_0x4597('0x18')],_0x512e9c[_0x4597('0x16')]));switch(_0x512e9c[_0x4597('0x18')]){case'INUSE':case _0x4597('0x19'):if(!startsWith(exclude,_0x512e9c['device'])){members[_0x512e9c[_0x4597('0x16')]]={'channel':_0x4597('0x1a'),'interface':_0x512e9c[_0x4597('0x16')],'type':_0x4597('0x1b'),'enterAt':utils[_0x4597('0x1c')](),'role':_0x4597('0x1d')};}break;case _0x4597('0x1e'):if(!_['isNil'](members[_0x512e9c[_0x4597('0x16')]])){members[_0x512e9c[_0x4597('0x16')]][_0x4597('0x1f')]=utils['now']();members[_0x512e9c[_0x4597('0x16')]][_0x4597('0x20')]=utils[_0x4597('0x21')](members[_0x512e9c[_0x4597('0x16')]]['exitAt'],members[_0x512e9c['device']][_0x4597('0x22')]);if(members[_0x512e9c[_0x4597('0x16')]]['uniqueid']){writeDB(members[_0x512e9c[_0x4597('0x16')]]);}}break;default:break;}}catch(_0x47fb0b){utils[_0x4597('0x23')](util[_0x4597('0x4')](_0x4597('0x15'),members[_0x512e9c[_0x4597('0x16')]]?members[_0x512e9c[_0x4597('0x16')]][_0x4597('0x6')]:_0x512e9c['device']),_0x47fb0b);}};exports[_0x4597('0x24')]=function(_0x2edfad){try{if(!_[_0x4597('0x25')](members[_0x2edfad['interface']])){utils['debug'](util[_0x4597('0x4')]('[%s][members][agentcomplete]',_0x2edfad[_0x4597('0x6')]),_0x2edfad);utils[_0x4597('0x3')](util[_0x4597('0x4')](_0x4597('0x26'),_0x2edfad[_0x4597('0x6')],_0x2edfad[_0x4597('0x7')],_0x2edfad[_0x4597('0x27')]));members[_0x2edfad[_0x4597('0x7')]]=_[_0x4597('0x28')](members[_0x2edfad[_0x4597('0x7')]],{'data4':_0x2edfad[_0x4597('0x27')],'uniqueid':_0x2edfad[_0x4597('0x6')]});}}catch(_0x2b8aaa){utils['error'](util[_0x4597('0x4')](_0x4597('0x29'),_0x2edfad[_0x4597('0x6')]),_0x2b8aaa);}};exports[_0x4597('0x2a')]=function(_0x73a88d){try{utils['debug'](util[_0x4597('0x4')](_0x4597('0x2b'),_0x73a88d['uniqueid']),_0x73a88d);if(_0x73a88d[_0x4597('0x8')]){var _0x3084f7=_0x73a88d[_0x4597('0x8')][_0x4597('0x11')]('-')[0x0];if(!_[_0x4597('0x25')](members[_0x3084f7])){members[_0x3084f7]=_[_0x4597('0x28')](members[_0x3084f7],{'data1':members[_0x3084f7][_0x4597('0x2c')]||_0x73a88d[_0x4597('0x2d')],'data2':members[_0x3084f7]['data2']||_0x73a88d['source'],'data3':members[_0x3084f7][_0x4597('0x2e')]||_0x73a88d[_0x4597('0x2f')],'uniqueid':members[_0x3084f7][_0x4597('0x6')]||_0x73a88d[_0x4597('0x6')]});utils['info'](util[_0x4597('0x4')](_0x4597('0x30'),_0x73a88d['uniqueid'],members[_0x3084f7][_0x4597('0x2c')],members[_0x3084f7]['data2'],members[_0x3084f7]['data3']));if(members[_0x3084f7][_0x4597('0x1f')]){writeDB(members[_0x3084f7]);}}}if(_0x73a88d[_0x4597('0x31')]){var _0x2a182d=_0x73a88d['destinationchannel'][_0x4597('0x11')]('-')[0x0];if(!_['isNil'](members[_0x2a182d])){members[_0x2a182d]=_['assign'](members[_0x2a182d],{'data1':members[_0x2a182d][_0x4597('0x2c')]||_0x73a88d[_0x4597('0x2d')],'data2':members[_0x2a182d][_0x4597('0x9')]||_0x73a88d[_0x4597('0x32')],'data3':members[_0x2a182d][_0x4597('0x2e')]||_0x73a88d[_0x4597('0x2f')],'uniqueid':members[_0x2a182d][_0x4597('0x6')]||_0x73a88d[_0x4597('0x6')]});utils[_0x4597('0x3')](util[_0x4597('0x4')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x73a88d[_0x4597('0x6')],members[_0x2a182d][_0x4597('0x2c')],members[_0x2a182d][_0x4597('0x9')],members[_0x2a182d]['data3']));if(members[_0x2a182d][_0x4597('0x1f')]){writeDB(members[_0x2a182d]);}}}}catch(_0x4e1126){utils[_0x4597('0x23')](util[_0x4597('0x4')](_0x4597('0x2b'),_0x73a88d[_0x4597('0x6')]),_0x4e1126);}};