Built motion from commit 85328c08.|2.5.50
[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 _0x65e9=['interface','channel','data2','membername','type','getUserByInterface','then','name','internal','CreateMemberReport','getUserByName','split','request','catch','error','format','[%s][members][writeDB]','some','startsWith','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','enterAt','debug','[%s][members][agentcomplete]','assign','queue','cdr','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','Local/_attended@transfer','Queue:','info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid'];(function(_0xd9ce1,_0x517167){var _0x54be53=function(_0x27a6bd){while(--_0x27a6bd){_0xd9ce1['push'](_0xd9ce1['shift']());}};_0x54be53(++_0x517167);}(_0x65e9,0x15e));var _0x965e=function(_0x2463f8,_0x278755){_0x2463f8=_0x2463f8-0x0;var _0x428d86=_0x65e9[_0x2463f8];return _0x428d86;};'use strict';var _=require(_0x965e('0x0'));var util=require(_0x965e('0x1'));var utils=require('./utils');var members={};var exclude=[_0x965e('0x2'),_0x965e('0x3')];function writeDB(_0x18623f){utils[_0x965e('0x4')](util['format'](_0x965e('0x5'),_0x18623f[_0x965e('0x6')],_0x18623f[_0x965e('0x7')],_0x18623f[_0x965e('0x8')],_0x18623f[_0x965e('0x9')],_0x18623f[_0x965e('0xa')],_0x18623f[_0x965e('0xb')]));if(_0x18623f[_0x965e('0x7')]){utils[_0x965e('0xc')](_0x18623f['interface'])[_0x965e('0xd')](function(_0x9c897a){if(_0x9c897a){_0x18623f[_0x965e('0xa')]=_0x9c897a[_0x965e('0xe')];_0x18623f[_0x965e('0xf')]=_0x9c897a[_0x965e('0xf')];utils['request'](_0x965e('0x10'),_0x18623f);}else{utils[_0x965e('0x11')](_0x18623f[_0x965e('0x7')][_0x965e('0x12')]('/')[0x1])['then'](function(_0x4a00e9){if(_0x4a00e9){_0x18623f[_0x965e('0xa')]=_0x4a00e9[_0x965e('0xe')];_0x18623f[_0x965e('0xf')]=_0x4a00e9['internal'];utils[_0x965e('0x13')](_0x965e('0x10'),_0x18623f);}});}})[_0x965e('0x14')](function(_0x3d888e){utils[_0x965e('0x15')](util[_0x965e('0x16')](_0x965e('0x17'),_0x18623f[_0x965e('0x6')]),_0x3d888e);});}delete members[_0x18623f['interface']];}function startsWith(_0x57fdf0,_0x211e10){return _[_0x965e('0x18')](_0x57fdf0,function(_0x578450){return _[_0x965e('0x19')](_0x211e10,_0x578450);});}exports[_0x965e('0x1a')]=function(_0x4d2ddb){try{utils['debug'](util[_0x965e('0x16')](_0x965e('0x1b'),members[_0x4d2ddb[_0x965e('0x1c')]]?members[_0x4d2ddb[_0x965e('0x1c')]]['uniqueid']:_0x4d2ddb[_0x965e('0x1c')]),_0x4d2ddb);utils[_0x965e('0x4')](util[_0x965e('0x16')](_0x965e('0x1d'),members[_0x4d2ddb['device']]?members[_0x4d2ddb[_0x965e('0x1c')]][_0x965e('0x6')]:_0x4d2ddb['device'],_0x4d2ddb[_0x965e('0x1e')],_0x4d2ddb[_0x965e('0x1c')]));switch(_0x4d2ddb[_0x965e('0x1e')]){case _0x965e('0x1f'):case _0x965e('0x20'):if(!startsWith(exclude,_0x4d2ddb[_0x965e('0x1c')])){members[_0x4d2ddb[_0x965e('0x1c')]]={'channel':_0x965e('0x21'),'interface':_0x4d2ddb['device'],'type':_0x965e('0x22'),'enterAt':utils[_0x965e('0x23')](),'role':_0x965e('0x24')};}break;case _0x965e('0x25'):if(!_[_0x965e('0x26')](members[_0x4d2ddb[_0x965e('0x1c')]])){members[_0x4d2ddb['device']]['exitAt']=utils[_0x965e('0x23')]();members[_0x4d2ddb[_0x965e('0x1c')]]['duration']=utils['diffTime'](members[_0x4d2ddb[_0x965e('0x1c')]][_0x965e('0x27')],members[_0x4d2ddb['device']][_0x965e('0x28')]);if(members[_0x4d2ddb['device']]['uniqueid']){writeDB(members[_0x4d2ddb['device']]);}}break;default:break;}}catch(_0x2f5415){utils[_0x965e('0x15')](util[_0x965e('0x16')](_0x965e('0x1b'),members[_0x4d2ddb[_0x965e('0x1c')]]?members[_0x4d2ddb['device']][_0x965e('0x6')]:_0x4d2ddb[_0x965e('0x1c')]),_0x2f5415);}};exports['agentcomplete']=function(_0x4683f9){try{if(!_['isNil'](members[_0x4683f9['interface']])){utils[_0x965e('0x29')](util[_0x965e('0x16')](_0x965e('0x2a'),_0x4683f9[_0x965e('0x6')]),_0x4683f9);utils[_0x965e('0x4')](util[_0x965e('0x16')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x4683f9[_0x965e('0x6')],_0x4683f9[_0x965e('0x7')],_0x4683f9['queue']));members[_0x4683f9[_0x965e('0x7')]]=_[_0x965e('0x2b')](members[_0x4683f9[_0x965e('0x7')]],{'data4':_0x4683f9[_0x965e('0x2c')],'uniqueid':_0x4683f9[_0x965e('0x6')]});}}catch(_0x5aae57){utils[_0x965e('0x15')](util[_0x965e('0x16')]('[%s][members][agentcomplete]',_0x4683f9[_0x965e('0x6')]),_0x5aae57);}};exports[_0x965e('0x2d')]=function(_0x3ab21c){try{utils[_0x965e('0x29')](util['format']('[%s][members][cdr]',_0x3ab21c[_0x965e('0x6')]),_0x3ab21c);if(_0x3ab21c[_0x965e('0x8')]){var _0x24c13c=_0x3ab21c['channel'][_0x965e('0x12')]('-')[0x0];if(!_[_0x965e('0x26')](members[_0x24c13c])){members[_0x24c13c]=_[_0x965e('0x2b')](members[_0x24c13c],{'data1':members[_0x24c13c][_0x965e('0x2e')]||_0x3ab21c['type'],'data2':members[_0x24c13c][_0x965e('0x9')]||_0x3ab21c[_0x965e('0x2f')],'data3':members[_0x24c13c][_0x965e('0x30')]||_0x3ab21c[_0x965e('0x31')],'uniqueid':members[_0x24c13c][_0x965e('0x6')]||_0x3ab21c[_0x965e('0x6')]});utils[_0x965e('0x4')](util[_0x965e('0x16')](_0x965e('0x32'),_0x3ab21c['uniqueid'],members[_0x24c13c][_0x965e('0x2e')],members[_0x24c13c][_0x965e('0x9')],members[_0x24c13c][_0x965e('0x30')]));if(members[_0x24c13c]['exitAt']){writeDB(members[_0x24c13c]);}}}if(_0x3ab21c['destinationchannel']){var _0xd14325=_0x3ab21c['destinationchannel']['split']('-')[0x0];if(!_['isNil'](members[_0xd14325])){members[_0xd14325]=_[_0x965e('0x2b')](members[_0xd14325],{'data1':members[_0xd14325][_0x965e('0x2e')]||_0x3ab21c[_0x965e('0xb')],'data2':members[_0xd14325][_0x965e('0x9')]||_0x3ab21c[_0x965e('0x2f')],'data3':members[_0xd14325][_0x965e('0x30')]||_0x3ab21c[_0x965e('0x31')],'uniqueid':members[_0xd14325][_0x965e('0x6')]||_0x3ab21c[_0x965e('0x6')]});utils[_0x965e('0x4')](util[_0x965e('0x16')](_0x965e('0x32'),_0x3ab21c[_0x965e('0x6')],members[_0xd14325][_0x965e('0x2e')],members[_0xd14325][_0x965e('0x9')],members[_0xd14325][_0x965e('0x30')]));if(members[_0xd14325][_0x965e('0x27')]){writeDB(members[_0xd14325]);}}}}catch(_0x1ab81b){utils[_0x965e('0x15')](util['format']('[%s][members][cdr]',_0x3ab21c[_0x965e('0x6')]),_0x1ab81b);}};