Built motion from commit 753c950e.|2.5.42
[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 _0xa85d=['lodash','util','./utils','Queue:','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','CreateMemberReport','getUserByName','split','internal','request','error','[%s][members][writeDB]','some','devicestatechange','debug','[%s][members][devicestatechange]','device','info','format','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','enterAt','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','[%s][members][agentcomplete]','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel'];(function(_0x45161c,_0x5494fc){var _0x186581=function(_0x78fada){while(--_0x78fada){_0x45161c['push'](_0x45161c['shift']());}};_0x186581(++_0x5494fc);}(_0xa85d,0x68));var _0xda85=function(_0x3f4315,_0xd6ec89){_0x3f4315=_0x3f4315-0x0;var _0x5842e3=_0xa85d[_0x3f4315];return _0x5842e3;};'use strict';var _=require(_0xda85('0x0'));var util=require(_0xda85('0x1'));var utils=require(_0xda85('0x2'));var members={};var exclude=['Local/_attended@transfer',_0xda85('0x3')];function writeDB(_0x4a5b5f){utils['info'](util['format'](_0xda85('0x4'),_0x4a5b5f[_0xda85('0x5')],_0x4a5b5f[_0xda85('0x6')],_0x4a5b5f[_0xda85('0x7')],_0x4a5b5f[_0xda85('0x8')],_0x4a5b5f[_0xda85('0x9')],_0x4a5b5f[_0xda85('0xa')]));if(_0x4a5b5f[_0xda85('0x6')]){utils[_0xda85('0xb')](_0x4a5b5f[_0xda85('0x6')])[_0xda85('0xc')](function(_0x33ec13){if(_0x33ec13){_0x4a5b5f[_0xda85('0x9')]=_0x33ec13[_0xda85('0xd')];_0x4a5b5f['internal']=_0x33ec13['internal'];utils['request'](_0xda85('0xe'),_0x4a5b5f);}else{utils[_0xda85('0xf')](_0x4a5b5f[_0xda85('0x6')][_0xda85('0x10')]('/')[0x1])[_0xda85('0xc')](function(_0x4e56cd){if(_0x4e56cd){_0x4a5b5f[_0xda85('0x9')]=_0x4e56cd[_0xda85('0xd')];_0x4a5b5f[_0xda85('0x11')]=_0x4e56cd[_0xda85('0x11')];utils[_0xda85('0x12')](_0xda85('0xe'),_0x4a5b5f);}});}})['catch'](function(_0x14cb3f){utils[_0xda85('0x13')](util['format'](_0xda85('0x14'),_0x4a5b5f['uniqueid']),_0x14cb3f);});}delete members[_0x4a5b5f[_0xda85('0x6')]];}function startsWith(_0x3716a4,_0x2a62c9){return _[_0xda85('0x15')](_0x3716a4,function(_0x240d5c){return _['startsWith'](_0x2a62c9,_0x240d5c);});}exports[_0xda85('0x16')]=function(_0x5b42f1){try{utils[_0xda85('0x17')](util['format'](_0xda85('0x18'),members[_0x5b42f1[_0xda85('0x19')]]?members[_0x5b42f1[_0xda85('0x19')]][_0xda85('0x5')]:_0x5b42f1[_0xda85('0x19')]),_0x5b42f1);utils[_0xda85('0x1a')](util[_0xda85('0x1b')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x5b42f1[_0xda85('0x19')]]?members[_0x5b42f1['device']]['uniqueid']:_0x5b42f1[_0xda85('0x19')],_0x5b42f1[_0xda85('0x1c')],_0x5b42f1[_0xda85('0x19')]));switch(_0x5b42f1[_0xda85('0x1c')]){case _0xda85('0x1d'):case _0xda85('0x1e'):if(!startsWith(exclude,_0x5b42f1[_0xda85('0x19')])){members[_0x5b42f1['device']]={'channel':_0xda85('0x1f'),'interface':_0x5b42f1[_0xda85('0x19')],'type':_0xda85('0x20'),'enterAt':utils[_0xda85('0x21')](),'role':_0xda85('0x22')};}break;case _0xda85('0x23'):if(!_[_0xda85('0x24')](members[_0x5b42f1[_0xda85('0x19')]])){members[_0x5b42f1[_0xda85('0x19')]][_0xda85('0x25')]=utils[_0xda85('0x21')]();members[_0x5b42f1[_0xda85('0x19')]][_0xda85('0x26')]=utils['diffTime'](members[_0x5b42f1['device']][_0xda85('0x25')],members[_0x5b42f1['device']][_0xda85('0x27')]);if(members[_0x5b42f1['device']]['uniqueid']){writeDB(members[_0x5b42f1['device']]);}}break;default:break;}}catch(_0x423a2f){utils[_0xda85('0x13')](util[_0xda85('0x1b')]('[%s][members][devicestatechange]',members[_0x5b42f1[_0xda85('0x19')]]?members[_0x5b42f1[_0xda85('0x19')]][_0xda85('0x5')]:_0x5b42f1[_0xda85('0x19')]),_0x423a2f);}};exports[_0xda85('0x28')]=function(_0x173fe4){try{if(!_['isNil'](members[_0x173fe4[_0xda85('0x6')]])){utils[_0xda85('0x17')](util[_0xda85('0x1b')]('[%s][members][agentcomplete]',_0x173fe4[_0xda85('0x5')]),_0x173fe4);utils[_0xda85('0x1a')](util[_0xda85('0x1b')](_0xda85('0x29'),_0x173fe4[_0xda85('0x5')],_0x173fe4[_0xda85('0x6')],_0x173fe4['queue']));members[_0x173fe4[_0xda85('0x6')]]=_[_0xda85('0x2a')](members[_0x173fe4[_0xda85('0x6')]],{'data4':_0x173fe4[_0xda85('0x2b')],'uniqueid':_0x173fe4['uniqueid']});}}catch(_0x89c552){utils[_0xda85('0x13')](util[_0xda85('0x1b')](_0xda85('0x2c'),_0x173fe4[_0xda85('0x5')]),_0x89c552);}};exports['cdr']=function(_0x120544){try{utils[_0xda85('0x17')](util[_0xda85('0x1b')](_0xda85('0x2d'),_0x120544[_0xda85('0x5')]),_0x120544);if(_0x120544[_0xda85('0x7')]){var _0x37dc65=_0x120544[_0xda85('0x7')]['split']('-')[0x0];if(!_[_0xda85('0x24')](members[_0x37dc65])){members[_0x37dc65]=_[_0xda85('0x2a')](members[_0x37dc65],{'data1':members[_0x37dc65][_0xda85('0x2e')]||_0x120544[_0xda85('0xa')],'data2':members[_0x37dc65][_0xda85('0x8')]||_0x120544[_0xda85('0x2f')],'data3':members[_0x37dc65][_0xda85('0x30')]||_0x120544[_0xda85('0x31')],'uniqueid':members[_0x37dc65][_0xda85('0x5')]||_0x120544[_0xda85('0x5')]});utils[_0xda85('0x1a')](util[_0xda85('0x1b')](_0xda85('0x32'),_0x120544[_0xda85('0x5')],members[_0x37dc65][_0xda85('0x2e')],members[_0x37dc65][_0xda85('0x8')],members[_0x37dc65][_0xda85('0x30')]));if(members[_0x37dc65][_0xda85('0x25')]){writeDB(members[_0x37dc65]);}}}if(_0x120544['destinationchannel']){var _0x337592=_0x120544[_0xda85('0x33')]['split']('-')[0x0];if(!_[_0xda85('0x24')](members[_0x337592])){members[_0x337592]=_[_0xda85('0x2a')](members[_0x337592],{'data1':members[_0x337592][_0xda85('0x2e')]||_0x120544[_0xda85('0xa')],'data2':members[_0x337592][_0xda85('0x8')]||_0x120544[_0xda85('0x2f')],'data3':members[_0x337592][_0xda85('0x30')]||_0x120544[_0xda85('0x31')],'uniqueid':members[_0x337592]['uniqueid']||_0x120544[_0xda85('0x5')]});utils['info'](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x120544[_0xda85('0x5')],members[_0x337592][_0xda85('0x2e')],members[_0x337592][_0xda85('0x8')],members[_0x337592]['data3']));if(members[_0x337592][_0xda85('0x25')]){writeDB(members[_0x337592]);}}}}catch(_0x4b49d3){utils[_0xda85('0x13')](util[_0xda85('0x1b')]('[%s][members][cdr]',_0x120544['uniqueid']),_0x4b49d3);}};