Built motion from commit e0fa946e.|2.6.5
[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 _0x634d=['[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','agent','NOT_INUSE','duration','diffTime','agentcomplete','isNil','[%s][members][agentcomplete]','queue','assign','cdr','[%s][members][cdr]','split','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data1','exitAt','destinationchannel','lodash','util','./utils','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','membername','type','getUserByInterface','then','name','internal','request','getUserByName','CreateMemberReport','catch','error','[%s][members][writeDB]','uniqueid','some','devicestatechange','debug'];(function(_0x4d07cc,_0x587613){var _0x42de3b=function(_0x201f78){while(--_0x201f78){_0x4d07cc['push'](_0x4d07cc['shift']());}};_0x42de3b(++_0x587613);}(_0x634d,0x120));var _0xd634=function(_0x1830fa,_0x4b6401){_0x1830fa=_0x1830fa-0x0;var _0x5d62a7=_0x634d[_0x1830fa];return _0x5d62a7;};'use strict';var _=require(_0xd634('0x0'));var util=require(_0xd634('0x1'));var utils=require(_0xd634('0x2'));var members={};var exclude=['Local/_attended@transfer','Queue:'];function writeDB(_0x484b7d){utils[_0xd634('0x3')](util[_0xd634('0x4')](_0xd634('0x5'),_0x484b7d['uniqueid'],_0x484b7d[_0xd634('0x6')],_0x484b7d[_0xd634('0x7')],_0x484b7d['data2'],_0x484b7d[_0xd634('0x8')],_0x484b7d[_0xd634('0x9')]));if(_0x484b7d[_0xd634('0x6')]){utils[_0xd634('0xa')](_0x484b7d[_0xd634('0x6')])[_0xd634('0xb')](function(_0x4efe63){if(_0x4efe63){_0x484b7d[_0xd634('0x8')]=_0x4efe63[_0xd634('0xc')];_0x484b7d['internal']=_0x4efe63[_0xd634('0xd')];utils[_0xd634('0xe')]('CreateMemberReport',_0x484b7d);}else{utils[_0xd634('0xf')](_0x484b7d['interface']['split']('/')[0x1])['then'](function(_0x1cc989){if(_0x1cc989){_0x484b7d[_0xd634('0x8')]=_0x1cc989[_0xd634('0xc')];_0x484b7d['internal']=_0x1cc989['internal'];utils[_0xd634('0xe')](_0xd634('0x10'),_0x484b7d);}});}})[_0xd634('0x11')](function(_0x4bdc4b){utils[_0xd634('0x12')](util[_0xd634('0x4')](_0xd634('0x13'),_0x484b7d[_0xd634('0x14')]),_0x4bdc4b);});}delete members[_0x484b7d[_0xd634('0x6')]];}function startsWith(_0xc43fc0,_0x6a8151){return _[_0xd634('0x15')](_0xc43fc0,function(_0x3a5fdd){return _['startsWith'](_0x6a8151,_0x3a5fdd);});}exports[_0xd634('0x16')]=function(_0x123c26){try{utils[_0xd634('0x17')](util[_0xd634('0x4')](_0xd634('0x18'),members[_0x123c26[_0xd634('0x19')]]?members[_0x123c26[_0xd634('0x19')]][_0xd634('0x14')]:_0x123c26[_0xd634('0x19')]),_0x123c26);utils[_0xd634('0x3')](util['format'](_0xd634('0x1a'),members[_0x123c26[_0xd634('0x19')]]?members[_0x123c26[_0xd634('0x19')]][_0xd634('0x14')]:_0x123c26[_0xd634('0x19')],_0x123c26[_0xd634('0x1b')],_0x123c26[_0xd634('0x19')]));switch(_0x123c26[_0xd634('0x1b')]){case _0xd634('0x1c'):case _0xd634('0x1d'):if(!startsWith(exclude,_0x123c26['device'])){members[_0x123c26['device']]={'channel':_0xd634('0x1e'),'interface':_0x123c26[_0xd634('0x19')],'type':_0xd634('0x1f'),'enterAt':utils['now'](),'role':_0xd634('0x20')};}break;case _0xd634('0x21'):if(!_['isNil'](members[_0x123c26['device']])){members[_0x123c26[_0xd634('0x19')]]['exitAt']=utils['now']();members[_0x123c26[_0xd634('0x19')]][_0xd634('0x22')]=utils[_0xd634('0x23')](members[_0x123c26['device']]['exitAt'],members[_0x123c26[_0xd634('0x19')]]['enterAt']);if(members[_0x123c26[_0xd634('0x19')]][_0xd634('0x14')]){writeDB(members[_0x123c26[_0xd634('0x19')]]);}}break;default:break;}}catch(_0x2a3b86){utils[_0xd634('0x12')](util[_0xd634('0x4')](_0xd634('0x18'),members[_0x123c26[_0xd634('0x19')]]?members[_0x123c26[_0xd634('0x19')]][_0xd634('0x14')]:_0x123c26[_0xd634('0x19')]),_0x2a3b86);}};exports[_0xd634('0x24')]=function(_0x37783f){try{if(!_[_0xd634('0x25')](members[_0x37783f[_0xd634('0x6')]])){utils[_0xd634('0x17')](util[_0xd634('0x4')](_0xd634('0x26'),_0x37783f[_0xd634('0x14')]),_0x37783f);utils[_0xd634('0x3')](util[_0xd634('0x4')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x37783f[_0xd634('0x14')],_0x37783f['interface'],_0x37783f[_0xd634('0x27')]));members[_0x37783f['interface']]=_[_0xd634('0x28')](members[_0x37783f[_0xd634('0x6')]],{'data4':_0x37783f[_0xd634('0x27')],'uniqueid':_0x37783f['uniqueid']});}}catch(_0xe6f382){utils[_0xd634('0x12')](util[_0xd634('0x4')](_0xd634('0x26'),_0x37783f['uniqueid']),_0xe6f382);}};exports[_0xd634('0x29')]=function(_0x23b86c){try{utils[_0xd634('0x17')](util[_0xd634('0x4')](_0xd634('0x2a'),_0x23b86c[_0xd634('0x14')]),_0x23b86c);if(_0x23b86c[_0xd634('0x7')]){var _0x13cc54=_0x23b86c['channel'][_0xd634('0x2b')]('-')[0x0];if(!_[_0xd634('0x25')](members[_0x13cc54])){members[_0x13cc54]=_['assign'](members[_0x13cc54],{'data1':members[_0x13cc54]['data1']||_0x23b86c['type'],'data2':members[_0x13cc54][_0xd634('0x2c')]||_0x23b86c[_0xd634('0x2d')],'data3':members[_0x13cc54][_0xd634('0x2e')]||_0x23b86c[_0xd634('0x2f')],'uniqueid':members[_0x13cc54][_0xd634('0x14')]||_0x23b86c[_0xd634('0x14')]});utils['info'](util[_0xd634('0x4')](_0xd634('0x30'),_0x23b86c[_0xd634('0x14')],members[_0x13cc54][_0xd634('0x31')],members[_0x13cc54][_0xd634('0x2c')],members[_0x13cc54][_0xd634('0x2e')]));if(members[_0x13cc54][_0xd634('0x32')]){writeDB(members[_0x13cc54]);}}}if(_0x23b86c[_0xd634('0x33')]){var _0x542e03=_0x23b86c[_0xd634('0x33')]['split']('-')[0x0];if(!_[_0xd634('0x25')](members[_0x542e03])){members[_0x542e03]=_[_0xd634('0x28')](members[_0x542e03],{'data1':members[_0x542e03][_0xd634('0x31')]||_0x23b86c[_0xd634('0x9')],'data2':members[_0x542e03][_0xd634('0x2c')]||_0x23b86c[_0xd634('0x2d')],'data3':members[_0x542e03][_0xd634('0x2e')]||_0x23b86c['destination'],'uniqueid':members[_0x542e03][_0xd634('0x14')]||_0x23b86c['uniqueid']});utils[_0xd634('0x3')](util[_0xd634('0x4')](_0xd634('0x30'),_0x23b86c[_0xd634('0x14')],members[_0x542e03][_0xd634('0x31')],members[_0x542e03][_0xd634('0x2c')],members[_0x542e03]['data3']));if(members[_0x542e03][_0xd634('0x32')]){writeDB(members[_0x542e03]);}}}}catch(_0xff1e71){utils[_0xd634('0x12')](util[_0xd634('0x4')](_0xd634('0x2a'),_0x23b86c[_0xd634('0x14')]),_0xff1e71);}};