e6d619f43f9604921c3d88575dd1e9dbe1db0d62
[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 _0x5e37=['uniqueid','channel','membername','type','getUserByInterface','interface','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','error','[%s][members][writeDB]','some','startsWith','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','isNil','diffTime','exitAt','enterAt','agentcomplete','[%s][members][agentcomplete]','queue','assign','cdr','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data2','destinationchannel','lodash','util','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s'];(function(_0x5f09c5,_0x2bfca0){var _0x426ad9=function(_0x18fe5f){while(--_0x18fe5f){_0x5f09c5['push'](_0x5f09c5['shift']());}};_0x426ad9(++_0x2bfca0);}(_0x5e37,0xcc));var _0x75e3=function(_0x261e29,_0x10fffd){_0x261e29=_0x261e29-0x0;var _0x25ef43=_0x5e37[_0x261e29];return _0x25ef43;};'use strict';var _=require(_0x75e3('0x0'));var util=require(_0x75e3('0x1'));var utils=require(_0x75e3('0x2'));var members={};var exclude=[_0x75e3('0x3'),_0x75e3('0x4')];function writeDB(_0x5e32bb){utils[_0x75e3('0x5')](util[_0x75e3('0x6')](_0x75e3('0x7'),_0x5e32bb[_0x75e3('0x8')],_0x5e32bb['interface'],_0x5e32bb[_0x75e3('0x9')],_0x5e32bb['data2'],_0x5e32bb[_0x75e3('0xa')],_0x5e32bb[_0x75e3('0xb')]));if(_0x5e32bb['interface']){utils[_0x75e3('0xc')](_0x5e32bb[_0x75e3('0xd')])[_0x75e3('0xe')](function(_0x37da2c){if(_0x37da2c){_0x5e32bb[_0x75e3('0xa')]=_0x37da2c[_0x75e3('0xf')];_0x5e32bb[_0x75e3('0x10')]=_0x37da2c['internal'];utils[_0x75e3('0x11')](_0x75e3('0x12'),_0x5e32bb);}else{utils[_0x75e3('0x13')](_0x5e32bb[_0x75e3('0xd')][_0x75e3('0x14')]('/')[0x1])[_0x75e3('0xe')](function(_0x13cf71){if(_0x13cf71){_0x5e32bb['membername']=_0x13cf71['name'];_0x5e32bb[_0x75e3('0x10')]=_0x13cf71[_0x75e3('0x10')];utils[_0x75e3('0x11')](_0x75e3('0x12'),_0x5e32bb);}});}})[_0x75e3('0x15')](function(_0x1c71c1){utils[_0x75e3('0x16')](util[_0x75e3('0x6')](_0x75e3('0x17'),_0x5e32bb[_0x75e3('0x8')]),_0x1c71c1);});}delete members[_0x5e32bb[_0x75e3('0xd')]];}function startsWith(_0x39e3c6,_0xc4f4b4){return _[_0x75e3('0x18')](_0x39e3c6,function(_0x3302a7){return _[_0x75e3('0x19')](_0xc4f4b4,_0x3302a7);});}exports['devicestatechange']=function(_0x1fe0ee){try{utils[_0x75e3('0x1a')](util[_0x75e3('0x6')](_0x75e3('0x1b'),members[_0x1fe0ee['device']]?members[_0x1fe0ee[_0x75e3('0x1c')]][_0x75e3('0x8')]:_0x1fe0ee[_0x75e3('0x1c')]),_0x1fe0ee);utils[_0x75e3('0x5')](util[_0x75e3('0x6')](_0x75e3('0x1d'),members[_0x1fe0ee[_0x75e3('0x1c')]]?members[_0x1fe0ee[_0x75e3('0x1c')]]['uniqueid']:_0x1fe0ee['device'],_0x1fe0ee['state'],_0x1fe0ee[_0x75e3('0x1c')]));switch(_0x1fe0ee[_0x75e3('0x1e')]){case _0x75e3('0x1f'):case _0x75e3('0x20'):if(!startsWith(exclude,_0x1fe0ee[_0x75e3('0x1c')])){members[_0x1fe0ee[_0x75e3('0x1c')]]={'channel':_0x75e3('0x21'),'interface':_0x1fe0ee[_0x75e3('0x1c')],'type':_0x75e3('0x22'),'enterAt':utils[_0x75e3('0x23')](),'role':'agent'};}break;case'NOT_INUSE':if(!_[_0x75e3('0x24')](members[_0x1fe0ee[_0x75e3('0x1c')]])){members[_0x1fe0ee[_0x75e3('0x1c')]]['exitAt']=utils[_0x75e3('0x23')]();members[_0x1fe0ee[_0x75e3('0x1c')]]['duration']=utils[_0x75e3('0x25')](members[_0x1fe0ee[_0x75e3('0x1c')]][_0x75e3('0x26')],members[_0x1fe0ee[_0x75e3('0x1c')]][_0x75e3('0x27')]);if(members[_0x1fe0ee[_0x75e3('0x1c')]]['uniqueid']){writeDB(members[_0x1fe0ee['device']]);}}break;default:break;}}catch(_0x1f09dc){utils[_0x75e3('0x16')](util['format'](_0x75e3('0x1b'),members[_0x1fe0ee[_0x75e3('0x1c')]]?members[_0x1fe0ee[_0x75e3('0x1c')]][_0x75e3('0x8')]:_0x1fe0ee[_0x75e3('0x1c')]),_0x1f09dc);}};exports[_0x75e3('0x28')]=function(_0x121d52){try{if(!_[_0x75e3('0x24')](members[_0x121d52[_0x75e3('0xd')]])){utils[_0x75e3('0x1a')](util['format'](_0x75e3('0x29'),_0x121d52[_0x75e3('0x8')]),_0x121d52);utils[_0x75e3('0x5')](util[_0x75e3('0x6')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x121d52[_0x75e3('0x8')],_0x121d52[_0x75e3('0xd')],_0x121d52[_0x75e3('0x2a')]));members[_0x121d52['interface']]=_[_0x75e3('0x2b')](members[_0x121d52['interface']],{'data4':_0x121d52['queue'],'uniqueid':_0x121d52['uniqueid']});}}catch(_0x5a2b92){utils[_0x75e3('0x16')](util[_0x75e3('0x6')](_0x75e3('0x29'),_0x121d52[_0x75e3('0x8')]),_0x5a2b92);}};exports[_0x75e3('0x2c')]=function(_0x1dcb96){try{utils['debug'](util[_0x75e3('0x6')](_0x75e3('0x2d'),_0x1dcb96['uniqueid']),_0x1dcb96);if(_0x1dcb96[_0x75e3('0x9')]){var _0x430463=_0x1dcb96['channel']['split']('-')[0x0];if(!_[_0x75e3('0x24')](members[_0x430463])){members[_0x430463]=_[_0x75e3('0x2b')](members[_0x430463],{'data1':members[_0x430463][_0x75e3('0x2e')]||_0x1dcb96['type'],'data2':members[_0x430463]['data2']||_0x1dcb96[_0x75e3('0x2f')],'data3':members[_0x430463][_0x75e3('0x30')]||_0x1dcb96[_0x75e3('0x31')],'uniqueid':members[_0x430463][_0x75e3('0x8')]||_0x1dcb96['uniqueid']});utils[_0x75e3('0x5')](util[_0x75e3('0x6')](_0x75e3('0x32'),_0x1dcb96['uniqueid'],members[_0x430463][_0x75e3('0x2e')],members[_0x430463][_0x75e3('0x33')],members[_0x430463][_0x75e3('0x30')]));if(members[_0x430463]['exitAt']){writeDB(members[_0x430463]);}}}if(_0x1dcb96['destinationchannel']){var _0x4a7942=_0x1dcb96[_0x75e3('0x34')][_0x75e3('0x14')]('-')[0x0];if(!_[_0x75e3('0x24')](members[_0x4a7942])){members[_0x4a7942]=_[_0x75e3('0x2b')](members[_0x4a7942],{'data1':members[_0x4a7942][_0x75e3('0x2e')]||_0x1dcb96['type'],'data2':members[_0x4a7942]['data2']||_0x1dcb96[_0x75e3('0x2f')],'data3':members[_0x4a7942][_0x75e3('0x30')]||_0x1dcb96[_0x75e3('0x31')],'uniqueid':members[_0x4a7942][_0x75e3('0x8')]||_0x1dcb96[_0x75e3('0x8')]});utils[_0x75e3('0x5')](util[_0x75e3('0x6')](_0x75e3('0x32'),_0x1dcb96['uniqueid'],members[_0x4a7942][_0x75e3('0x2e')],members[_0x4a7942]['data2'],members[_0x4a7942][_0x75e3('0x30')]));if(members[_0x4a7942]['exitAt']){writeDB(members[_0x4a7942]);}}}}catch(_0x28d438){utils[_0x75e3('0x16')](util[_0x75e3('0x6')]('[%s][members][cdr]',_0x1dcb96[_0x75e3('0x8')]),_0x28d438);}};