Built motion from commit 10af8726.|2.6.34
[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 _0x18b8=['split','catch','error','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','[%s][members][agentcomplete]','[%s][members][cdr]','data3','destination','destinationchannel','data1','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','channel','data2','membername','type','interface','getUserByInterface','then','name','internal','CreateMemberReport','getUserByName'];(function(_0x1bc750,_0x23f442){var _0xcd51da=function(_0x323854){while(--_0x323854){_0x1bc750['push'](_0x1bc750['shift']());}};_0xcd51da(++_0x23f442);}(_0x18b8,0xff));var _0x818b=function(_0x490b4a,_0x49e238){_0x490b4a=_0x490b4a-0x0;var _0x5ef966=_0x18b8[_0x490b4a];return _0x5ef966;};'use strict';var _=require(_0x818b('0x0'));var util=require(_0x818b('0x1'));var utils=require(_0x818b('0x2'));var members={};var exclude=[_0x818b('0x3'),_0x818b('0x4')];function writeDB(_0x18bf70){utils[_0x818b('0x5')](util[_0x818b('0x6')](_0x818b('0x7'),_0x18bf70[_0x818b('0x8')],_0x18bf70['interface'],_0x18bf70[_0x818b('0x9')],_0x18bf70[_0x818b('0xa')],_0x18bf70[_0x818b('0xb')],_0x18bf70[_0x818b('0xc')]));if(_0x18bf70[_0x818b('0xd')]){utils[_0x818b('0xe')](_0x18bf70[_0x818b('0xd')])[_0x818b('0xf')](function(_0x5e8ca9){if(_0x5e8ca9){_0x18bf70[_0x818b('0xb')]=_0x5e8ca9[_0x818b('0x10')];_0x18bf70[_0x818b('0x11')]=_0x5e8ca9[_0x818b('0x11')];utils['request'](_0x818b('0x12'),_0x18bf70);}else{utils[_0x818b('0x13')](_0x18bf70[_0x818b('0xd')][_0x818b('0x14')]('/')[0x1])[_0x818b('0xf')](function(_0x40a93e){if(_0x40a93e){_0x18bf70[_0x818b('0xb')]=_0x40a93e[_0x818b('0x10')];_0x18bf70[_0x818b('0x11')]=_0x40a93e['internal'];utils['request']('CreateMemberReport',_0x18bf70);}});}})[_0x818b('0x15')](function(_0x3517b7){utils[_0x818b('0x16')](util[_0x818b('0x6')](_0x818b('0x17'),_0x18bf70[_0x818b('0x8')]),_0x3517b7);});}delete members[_0x18bf70[_0x818b('0xd')]];}function startsWith(_0x3c21b9,_0x38da28){return _[_0x818b('0x18')](_0x3c21b9,function(_0x526481){return _[_0x818b('0x19')](_0x38da28,_0x526481);});}exports[_0x818b('0x1a')]=function(_0x463153){try{utils[_0x818b('0x1b')](util[_0x818b('0x6')]('[%s][members][devicestatechange]',members[_0x463153[_0x818b('0x1c')]]?members[_0x463153[_0x818b('0x1c')]][_0x818b('0x8')]:_0x463153[_0x818b('0x1c')]),_0x463153);utils[_0x818b('0x5')](util[_0x818b('0x6')](_0x818b('0x1d'),members[_0x463153[_0x818b('0x1c')]]?members[_0x463153[_0x818b('0x1c')]][_0x818b('0x8')]:_0x463153[_0x818b('0x1c')],_0x463153['state'],_0x463153[_0x818b('0x1c')]));switch(_0x463153[_0x818b('0x1e')]){case _0x818b('0x1f'):case'BUSY':if(!startsWith(exclude,_0x463153[_0x818b('0x1c')])){members[_0x463153[_0x818b('0x1c')]]={'channel':_0x818b('0x20'),'interface':_0x463153['device'],'type':_0x818b('0x21'),'enterAt':utils[_0x818b('0x22')](),'role':_0x818b('0x23')};}break;case _0x818b('0x24'):if(!_[_0x818b('0x25')](members[_0x463153[_0x818b('0x1c')]])){members[_0x463153[_0x818b('0x1c')]][_0x818b('0x26')]=utils[_0x818b('0x22')]();members[_0x463153['device']][_0x818b('0x27')]=utils[_0x818b('0x28')](members[_0x463153[_0x818b('0x1c')]][_0x818b('0x26')],members[_0x463153['device']][_0x818b('0x29')]);if(members[_0x463153[_0x818b('0x1c')]][_0x818b('0x8')]){writeDB(members[_0x463153[_0x818b('0x1c')]]);}}break;default:break;}}catch(_0x5e1f41){utils[_0x818b('0x16')](util['format'](_0x818b('0x2a'),members[_0x463153['device']]?members[_0x463153[_0x818b('0x1c')]]['uniqueid']:_0x463153[_0x818b('0x1c')]),_0x5e1f41);}};exports[_0x818b('0x2b')]=function(_0x532bbe){try{if(!_[_0x818b('0x25')](members[_0x532bbe[_0x818b('0xd')]])){utils['debug'](util[_0x818b('0x6')]('[%s][members][agentcomplete]',_0x532bbe[_0x818b('0x8')]),_0x532bbe);utils[_0x818b('0x5')](util['format'](_0x818b('0x2c'),_0x532bbe[_0x818b('0x8')],_0x532bbe['interface'],_0x532bbe[_0x818b('0x2d')]));members[_0x532bbe[_0x818b('0xd')]]=_[_0x818b('0x2e')](members[_0x532bbe[_0x818b('0xd')]],{'data4':_0x532bbe['queue'],'uniqueid':_0x532bbe[_0x818b('0x8')]});}}catch(_0x478afd){utils[_0x818b('0x16')](util['format'](_0x818b('0x2f'),_0x532bbe[_0x818b('0x8')]),_0x478afd);}};exports['cdr']=function(_0x5a724d){try{utils[_0x818b('0x1b')](util[_0x818b('0x6')](_0x818b('0x30'),_0x5a724d['uniqueid']),_0x5a724d);if(_0x5a724d[_0x818b('0x9')]){var _0x4cd7cf=_0x5a724d[_0x818b('0x9')][_0x818b('0x14')]('-')[0x0];if(!_[_0x818b('0x25')](members[_0x4cd7cf])){members[_0x4cd7cf]=_[_0x818b('0x2e')](members[_0x4cd7cf],{'data1':members[_0x4cd7cf]['data1']||_0x5a724d[_0x818b('0xc')],'data2':members[_0x4cd7cf][_0x818b('0xa')]||_0x5a724d['source'],'data3':members[_0x4cd7cf][_0x818b('0x31')]||_0x5a724d[_0x818b('0x32')],'uniqueid':members[_0x4cd7cf][_0x818b('0x8')]||_0x5a724d['uniqueid']});utils['info'](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x5a724d[_0x818b('0x8')],members[_0x4cd7cf]['data1'],members[_0x4cd7cf][_0x818b('0xa')],members[_0x4cd7cf][_0x818b('0x31')]));if(members[_0x4cd7cf][_0x818b('0x26')]){writeDB(members[_0x4cd7cf]);}}}if(_0x5a724d[_0x818b('0x33')]){var _0x166ceb=_0x5a724d[_0x818b('0x33')][_0x818b('0x14')]('-')[0x0];if(!_['isNil'](members[_0x166ceb])){members[_0x166ceb]=_['assign'](members[_0x166ceb],{'data1':members[_0x166ceb][_0x818b('0x34')]||_0x5a724d['type'],'data2':members[_0x166ceb][_0x818b('0xa')]||_0x5a724d[_0x818b('0x35')],'data3':members[_0x166ceb][_0x818b('0x31')]||_0x5a724d[_0x818b('0x32')],'uniqueid':members[_0x166ceb][_0x818b('0x8')]||_0x5a724d['uniqueid']});utils['info'](util[_0x818b('0x6')](_0x818b('0x36'),_0x5a724d[_0x818b('0x8')],members[_0x166ceb][_0x818b('0x34')],members[_0x166ceb]['data2'],members[_0x166ceb]['data3']));if(members[_0x166ceb][_0x818b('0x26')]){writeDB(members[_0x166ceb]);}}}}catch(_0x417d92){utils[_0x818b('0x16')](util[_0x818b('0x6')](_0x818b('0x30'),_0x5a724d['uniqueid']),_0x417d92);}};