Built motion from commit (unavailable).|2.6.0
[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 _0xdfd7=['data1','source','data3','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','./utils','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','name','internal','CreateMemberReport','getUserByName','split','then','error','[%s][members][writeDB]','some','startsWith','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','voice','agent','exitAt','duration','diffTime','enterAt','agentcomplete','isNil','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','cdr','[%s][members][cdr]'];(function(_0x51bbe8,_0x538079){var _0x15d8f9=function(_0x258444){while(--_0x258444){_0x51bbe8['push'](_0x51bbe8['shift']());}};_0x15d8f9(++_0x538079);}(_0xdfd7,0x95));var _0x7dfd=function(_0x19c7f6,_0x58b59a){_0x19c7f6=_0x19c7f6-0x0;var _0x509752=_0xdfd7[_0x19c7f6];return _0x509752;};'use strict';var _=require(_0x7dfd('0x0'));var util=require('util');var utils=require(_0x7dfd('0x1'));var members={};var exclude=[_0x7dfd('0x2'),_0x7dfd('0x3')];function writeDB(_0xf80fa2){utils[_0x7dfd('0x4')](util[_0x7dfd('0x5')](_0x7dfd('0x6'),_0xf80fa2[_0x7dfd('0x7')],_0xf80fa2[_0x7dfd('0x8')],_0xf80fa2[_0x7dfd('0x9')],_0xf80fa2[_0x7dfd('0xa')],_0xf80fa2[_0x7dfd('0xb')],_0xf80fa2[_0x7dfd('0xc')]));if(_0xf80fa2['interface']){utils[_0x7dfd('0xd')](_0xf80fa2[_0x7dfd('0x8')])['then'](function(_0x3d7198){if(_0x3d7198){_0xf80fa2[_0x7dfd('0xb')]=_0x3d7198[_0x7dfd('0xe')];_0xf80fa2[_0x7dfd('0xf')]=_0x3d7198[_0x7dfd('0xf')];utils['request'](_0x7dfd('0x10'),_0xf80fa2);}else{utils[_0x7dfd('0x11')](_0xf80fa2[_0x7dfd('0x8')][_0x7dfd('0x12')]('/')[0x1])[_0x7dfd('0x13')](function(_0x19607e){if(_0x19607e){_0xf80fa2[_0x7dfd('0xb')]=_0x19607e[_0x7dfd('0xe')];_0xf80fa2[_0x7dfd('0xf')]=_0x19607e[_0x7dfd('0xf')];utils['request'](_0x7dfd('0x10'),_0xf80fa2);}});}})['catch'](function(_0x4e3067){utils[_0x7dfd('0x14')](util[_0x7dfd('0x5')](_0x7dfd('0x15'),_0xf80fa2['uniqueid']),_0x4e3067);});}delete members[_0xf80fa2[_0x7dfd('0x8')]];}function startsWith(_0x34a1ff,_0x5a4a70){return _[_0x7dfd('0x16')](_0x34a1ff,function(_0x4b46c3){return _[_0x7dfd('0x17')](_0x5a4a70,_0x4b46c3);});}exports['devicestatechange']=function(_0x3b6bf2){try{utils['debug'](util['format'](_0x7dfd('0x18'),members[_0x3b6bf2[_0x7dfd('0x19')]]?members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x7')]:_0x3b6bf2['device']),_0x3b6bf2);utils[_0x7dfd('0x4')](util[_0x7dfd('0x5')](_0x7dfd('0x1a'),members[_0x3b6bf2[_0x7dfd('0x19')]]?members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x7')]:_0x3b6bf2[_0x7dfd('0x19')],_0x3b6bf2[_0x7dfd('0x1b')],_0x3b6bf2['device']));switch(_0x3b6bf2['state']){case'INUSE':case'BUSY':if(!startsWith(exclude,_0x3b6bf2[_0x7dfd('0x19')])){members[_0x3b6bf2[_0x7dfd('0x19')]]={'channel':_0x7dfd('0x1c'),'interface':_0x3b6bf2[_0x7dfd('0x19')],'type':'TALKING','enterAt':utils['now'](),'role':_0x7dfd('0x1d')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x3b6bf2['device']])){members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x1e')]=utils['now']();members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x1f')]=utils[_0x7dfd('0x20')](members[_0x3b6bf2['device']][_0x7dfd('0x1e')],members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x21')]);if(members[_0x3b6bf2[_0x7dfd('0x19')]][_0x7dfd('0x7')]){writeDB(members[_0x3b6bf2[_0x7dfd('0x19')]]);}}break;default:break;}}catch(_0x578797){utils[_0x7dfd('0x14')](util[_0x7dfd('0x5')](_0x7dfd('0x18'),members[_0x3b6bf2[_0x7dfd('0x19')]]?members[_0x3b6bf2[_0x7dfd('0x19')]]['uniqueid']:_0x3b6bf2[_0x7dfd('0x19')]),_0x578797);}};exports[_0x7dfd('0x22')]=function(_0x25b102){try{if(!_[_0x7dfd('0x23')](members[_0x25b102[_0x7dfd('0x8')]])){utils[_0x7dfd('0x24')](util[_0x7dfd('0x5')](_0x7dfd('0x25'),_0x25b102[_0x7dfd('0x7')]),_0x25b102);utils['info'](util[_0x7dfd('0x5')](_0x7dfd('0x26'),_0x25b102[_0x7dfd('0x7')],_0x25b102[_0x7dfd('0x8')],_0x25b102['queue']));members[_0x25b102[_0x7dfd('0x8')]]=_[_0x7dfd('0x27')](members[_0x25b102[_0x7dfd('0x8')]],{'data4':_0x25b102[_0x7dfd('0x28')],'uniqueid':_0x25b102[_0x7dfd('0x7')]});}}catch(_0x153ec3){utils[_0x7dfd('0x14')](util['format']('[%s][members][agentcomplete]',_0x25b102[_0x7dfd('0x7')]),_0x153ec3);}};exports[_0x7dfd('0x29')]=function(_0x20f6bf){try{utils['debug'](util[_0x7dfd('0x5')](_0x7dfd('0x2a'),_0x20f6bf[_0x7dfd('0x7')]),_0x20f6bf);if(_0x20f6bf[_0x7dfd('0x9')]){var _0x37a484=_0x20f6bf[_0x7dfd('0x9')][_0x7dfd('0x12')]('-')[0x0];if(!_[_0x7dfd('0x23')](members[_0x37a484])){members[_0x37a484]=_[_0x7dfd('0x27')](members[_0x37a484],{'data1':members[_0x37a484][_0x7dfd('0x2b')]||_0x20f6bf[_0x7dfd('0xc')],'data2':members[_0x37a484][_0x7dfd('0xa')]||_0x20f6bf[_0x7dfd('0x2c')],'data3':members[_0x37a484][_0x7dfd('0x2d')]||_0x20f6bf['destination'],'uniqueid':members[_0x37a484][_0x7dfd('0x7')]||_0x20f6bf['uniqueid']});utils[_0x7dfd('0x4')](util[_0x7dfd('0x5')](_0x7dfd('0x2e'),_0x20f6bf[_0x7dfd('0x7')],members[_0x37a484]['data1'],members[_0x37a484][_0x7dfd('0xa')],members[_0x37a484][_0x7dfd('0x2d')]));if(members[_0x37a484][_0x7dfd('0x1e')]){writeDB(members[_0x37a484]);}}}if(_0x20f6bf['destinationchannel']){var _0x3e0ac2=_0x20f6bf[_0x7dfd('0x2f')][_0x7dfd('0x12')]('-')[0x0];if(!_['isNil'](members[_0x3e0ac2])){members[_0x3e0ac2]=_['assign'](members[_0x3e0ac2],{'data1':members[_0x3e0ac2]['data1']||_0x20f6bf['type'],'data2':members[_0x3e0ac2]['data2']||_0x20f6bf[_0x7dfd('0x2c')],'data3':members[_0x3e0ac2][_0x7dfd('0x2d')]||_0x20f6bf['destination'],'uniqueid':members[_0x3e0ac2][_0x7dfd('0x7')]||_0x20f6bf[_0x7dfd('0x7')]});utils['info'](util[_0x7dfd('0x5')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x20f6bf[_0x7dfd('0x7')],members[_0x3e0ac2]['data1'],members[_0x3e0ac2]['data2'],members[_0x3e0ac2][_0x7dfd('0x2d')]));if(members[_0x3e0ac2][_0x7dfd('0x1e')]){writeDB(members[_0x3e0ac2]);}}}}catch(_0x402cd9){utils[_0x7dfd('0x14')](util['format'](_0x7dfd('0x2a'),_0x20f6bf[_0x7dfd('0x7')]),_0x402cd9);}};