Built motion from commit (unavailable).|2.4.17
[motion2.git] / server / services / xdr / queues.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 _0x1bc3=['isNil','queuecallerleaveAt','queuecallerabandon','queuecallerexit','queuecallercomplete','queuecallercompleteAt','COMPLETEDBYAGENT','queuecallerenterreason','varset','variable','queuestatus','value','toUpperCase','CONTINUE','queuecallerexitAt','queuecallerexitreason','queueposition','queuecallerabandonAt','EXITWITHKEY','ABANDONED','queuecallerleave','holdtime','queuecallerjoinAt','count','connectedlinenum','connectedlinename','agentconnect','assigned','destaccountcode','lastAssignedTo','membername','agentcomplete','reason','transfer','TRANSFER','COMPLETEDBY','blindtransfer','transfereeuniqueid','transfertype','BLIND','transferexten','BLINDTRANSFER','attendedtransfer','origtransfereruniqueid','origtransfererlinkedid','secondtransfererlinkedid','origtransfererexten','transferuniqueid','ATTENDEDTRANSFER','transfereelinkedid','clone','transfertargetuniqueid','calleridname','mohtime','secondtransfereruniqueid','secondtransfererexten','transfertargetlinkedid','stack','musiconholdstartAt','musiconholdstop','diffTime','lodash','util','./utils','info','format','QUEUE|%s|%s|%s|%s|%s|%s|%s','uniqueid','channel','queue','calleridnum','accountcode','getVoiceQueueByName','type','request','CreateVoiceQueueReport','transfereduniqueid','queuecallerjoin','assign','position','now','hangup'];(function(_0x58779f,_0x14d3b1){var _0xe38836=function(_0x597d41){while(--_0x597d41){_0x58779f['push'](_0x58779f['shift']());}};_0xe38836(++_0x14d3b1);}(_0x1bc3,0xe1));var _0x31bc=function(_0x18b2ca,_0x1f0e34){_0x18b2ca=_0x18b2ca-0x0;var _0x3bd256=_0x1bc3[_0x18b2ca];return _0x3bd256;};'use strict';var _=require(_0x31bc('0x0'));var util=require(_0x31bc('0x1'));var utils=require(_0x31bc('0x2'));var queues={};function writeDB(_0x282924){utils[_0x31bc('0x3')](util[_0x31bc('0x4')](_0x31bc('0x5'),_0x282924[_0x31bc('0x6')],_0x282924[_0x31bc('0x7')],_0x282924[_0x31bc('0x8')],_0x282924['lastAssignedTo'],_0x282924[_0x31bc('0x9')],_0x282924[_0x31bc('0xa')],_0x282924['queuecallerexitreason']));if(_0x282924[_0x31bc('0x8')]){utils[_0x31bc('0xb')](_0x282924[_0x31bc('0x8')])['then'](function(_0x4b7bcc){if(_0x4b7bcc){_0x282924[_0x31bc('0xc')]=_0x4b7bcc[_0x31bc('0xc')];}utils[_0x31bc('0xd')]('CreateVoiceQueueReport',_0x282924);});}else{utils[_0x31bc('0xd')](_0x31bc('0xe'),_0x282924);}if(_0x282924[_0x31bc('0xf')]){delete queues[_0x282924[_0x31bc('0xf')]];}else{delete queues[_0x282924[_0x31bc('0x6')]];}}exports[_0x31bc('0x10')]=function(_0xd927cb){queues[_0xd927cb[_0x31bc('0x6')]]=_[_0x31bc('0x11')](_0xd927cb,{'originalposition':_0xd927cb[_0x31bc('0x12')],'queuecallerjoinAt':utils[_0x31bc('0x13')](),'mohtime':0x0});};exports[_0x31bc('0x14')]=function(_0x2c1a4d){if(!_[_0x31bc('0x15')](queues[_0x2c1a4d['uniqueid']])){if(queues[_0x2c1a4d['uniqueid']][_0x31bc('0x16')]){if(!queues[_0x2c1a4d['uniqueid']][_0x31bc('0x17')]&&!queues[_0x2c1a4d[_0x31bc('0x6')]][_0x31bc('0x18')]){queues[_0x2c1a4d[_0x31bc('0x6')]][_0x31bc('0x19')]=!![];queues[_0x2c1a4d[_0x31bc('0x6')]][_0x31bc('0x1a')]=utils['now']();queues[_0x2c1a4d['uniqueid']]['queuecallerexitreason']=_0x31bc('0x1b');}writeDB(queues[_0x2c1a4d[_0x31bc('0x6')]]);}else{if(queues[_0x2c1a4d[_0x31bc('0x6')]][_0x31bc('0xf')]){queues[queues[_0x2c1a4d[_0x31bc('0x6')]]['transfereduniqueid']]=queues[_0x2c1a4d['uniqueid']];queues[queues[_0x2c1a4d['uniqueid']]['transfereduniqueid']][_0x31bc('0x1c')]=0x2;delete queues[_0x2c1a4d[_0x31bc('0x6')]];}}}};exports[_0x31bc('0x1d')]=function(_0x4c428a){if(!_[_0x31bc('0x15')](_0x4c428a[_0x31bc('0x1e')][_0x31bc('0x1f')])&&_0x4c428a[_0x31bc('0x20')][_0x31bc('0x21')]()!==_0x31bc('0x22')){if(!_[_0x31bc('0x15')](queues[_0x4c428a['uniqueid']])){queues[_0x4c428a['uniqueid']][_0x31bc('0x17')]=![];queues[_0x4c428a[_0x31bc('0x6')]]['queuecallerabandonAt']=null;queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x18')]=!![];queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x23')]=utils[_0x31bc('0x13')]();queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x24')]=_0x4c428a[_0x31bc('0x20')][_0x31bc('0x21')]();writeDB(queues[_0x4c428a[_0x31bc('0x6')]]);}}else if(!_[_0x31bc('0x15')](_0x4c428a[_0x31bc('0x1e')][_0x31bc('0x25')])){if(!_[_0x31bc('0x15')](queues[_0x4c428a['uniqueid']])&&!queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x17')]){queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x17')]=![];queues[_0x4c428a['uniqueid']][_0x31bc('0x26')]=null;queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x18')]=!![];queues[_0x4c428a['uniqueid']][_0x31bc('0x23')]=utils['now']();queues[_0x4c428a[_0x31bc('0x6')]][_0x31bc('0x24')]=_0x31bc('0x27');}}};exports['queuecallerabandon']=function(_0x563e06){if(!_[_0x31bc('0x15')](queues[_0x563e06[_0x31bc('0x6')]])){queues[_0x563e06[_0x31bc('0x6')]][_0x31bc('0x18')]=![];queues[_0x563e06[_0x31bc('0x6')]][_0x31bc('0x23')]=null;queues[_0x563e06['uniqueid']][_0x31bc('0x17')]=!![];queues[_0x563e06['uniqueid']][_0x31bc('0x26')]=utils[_0x31bc('0x13')]();queues[_0x563e06[_0x31bc('0x6')]][_0x31bc('0x24')]=_0x31bc('0x28');}};exports['queuecallerleave']=function(_0x5a33fe){if(!_[_0x31bc('0x15')](queues[_0x5a33fe[_0x31bc('0x6')]])){queues[_0x5a33fe[_0x31bc('0x6')]][_0x31bc('0x29')]=!![];queues[_0x5a33fe[_0x31bc('0x6')]][_0x31bc('0x16')]=utils[_0x31bc('0x13')]();queues[_0x5a33fe['uniqueid']][_0x31bc('0x2a')]=utils['diffTime'](queues[_0x5a33fe['uniqueid']][_0x31bc('0x16')],queues[_0x5a33fe[_0x31bc('0x6')]][_0x31bc('0x2b')]);queues[_0x5a33fe[_0x31bc('0x6')]][_0x31bc('0x12')]=_0x5a33fe['position'];queues[_0x5a33fe['uniqueid']][_0x31bc('0x2c')]=_0x5a33fe['count'];queues[_0x5a33fe['uniqueid']][_0x31bc('0x2d')]=_0x5a33fe[_0x31bc('0x2d')];queues[_0x5a33fe['uniqueid']][_0x31bc('0x2e')]=_0x5a33fe['connectedlinename'];}};exports[_0x31bc('0x2f')]=function(_0x19ff5b){if(!_[_0x31bc('0x15')](queues[_0x19ff5b[_0x31bc('0x6')]])){queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0x17')]=![];queues[_0x19ff5b[_0x31bc('0x6')]]['queuecallerabandon']=![];queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0x26')]=null;queues[_0x19ff5b[_0x31bc('0x6')]]['queuecallerexit']=![];queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0x24')]=null;queues[_0x19ff5b['uniqueid']][_0x31bc('0x23')]=null;queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0x30')]=!![];queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0xa')]=_0x19ff5b[_0x31bc('0x31')];queues[_0x19ff5b[_0x31bc('0x6')]][_0x31bc('0x32')]=_0x19ff5b[_0x31bc('0x33')];}};exports[_0x31bc('0x34')]=function(_0x218d1a){if(!_[_0x31bc('0x15')](queues[_0x218d1a[_0x31bc('0x6')]])){if(queues[_0x218d1a['uniqueid']][_0x31bc('0x16')]){queues[_0x218d1a[_0x31bc('0x6')]]['queuecallerabandon']=![];queues[_0x218d1a['uniqueid']][_0x31bc('0x17')]=![];queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x26')]=null;queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x18')]=![];queues[_0x218d1a['uniqueid']]['queuecallerexitAt']=null;queues[_0x218d1a[_0x31bc('0x6')]]['assigned']=!![];queues[_0x218d1a['uniqueid']][_0x31bc('0x32')]=_0x218d1a[_0x31bc('0x33')];queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x19')]=!![];queues[_0x218d1a['uniqueid']][_0x31bc('0x1a')]=utils[_0x31bc('0x13')]();if(_0x218d1a[_0x31bc('0x35')]=='transfer'){if(!queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x36')]){queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x24')]=_0x31bc('0x37');}}else{queues[_0x218d1a[_0x31bc('0x6')]][_0x31bc('0x24')]=_0x31bc('0x38')+_0x218d1a[_0x31bc('0x35')][_0x31bc('0x21')]();}writeDB(queues[_0x218d1a[_0x31bc('0x6')]]);}}};exports[_0x31bc('0x39')]=function(_0x24deb1){if(!_[_0x31bc('0x15')](queues[_0x24deb1[_0x31bc('0x3a')]])){queues[_0x24deb1[_0x31bc('0x3a')]][_0x31bc('0x36')]=!![];queues[_0x24deb1[_0x31bc('0x3a')]][_0x31bc('0x3b')]=_0x31bc('0x3c');queues[_0x24deb1['transfereeuniqueid']][_0x31bc('0x3d')]=_0x24deb1['extension'];queues[_0x24deb1['transfereeuniqueid']]['transferuniqueid']=_0x24deb1[_0x31bc('0x3a')];queues[_0x24deb1[_0x31bc('0x3a')]][_0x31bc('0x24')]=_0x31bc('0x3e');}};exports[_0x31bc('0x3f')]=function(_0x4899c7){try{if(_0x4899c7[_0x31bc('0x40')]==_0x4899c7[_0x31bc('0x41')]){if(!_['isNil'](queues[_0x4899c7['secondtransfererlinkedid']])){queues[_0x4899c7[_0x31bc('0x42')]][_0x31bc('0x36')]=!![];queues[_0x4899c7['secondtransfererlinkedid']]['transfertype']='ATTENDED';queues[_0x4899c7[_0x31bc('0x42')]]['transferexten']=_0x4899c7[_0x31bc('0x43')];queues[_0x4899c7[_0x31bc('0x42')]][_0x31bc('0x44')]=_0x4899c7[_0x31bc('0x40')];queues[_0x4899c7[_0x31bc('0x42')]][_0x31bc('0x24')]=_0x31bc('0x45');}if(!_[_0x31bc('0x15')](queues[_0x4899c7[_0x31bc('0x41')]])){if(_0x4899c7[_0x31bc('0x46')]&&queues[_0x4899c7[_0x31bc('0x46')]]){queues[_0x4899c7[_0x31bc('0x46')]]['queuecallerenterreason']=0x1;queues[_0x4899c7[_0x31bc('0x3a')]]=_[_0x31bc('0x47')](queues[_0x4899c7['transfereelinkedid']]);queues[_0x4899c7[_0x31bc('0x3a')]][_0x31bc('0xf')]=_0x4899c7[_0x31bc('0x48')];queues[_0x4899c7['transfereeuniqueid']][_0x31bc('0x1c')]=0x2;queues[_0x4899c7[_0x31bc('0x3a')]][_0x31bc('0x9')]=queues[_0x4899c7['secondtransfererlinkedid']][_0x31bc('0x9')];queues[_0x4899c7['transfereeuniqueid']][_0x31bc('0x49')]=queues[_0x4899c7[_0x31bc('0x42')]][_0x31bc('0x49')];queues[_0x4899c7[_0x31bc('0x3a')]][_0x31bc('0x2b')]=utils[_0x31bc('0x13')]();queues[_0x4899c7['transfereeuniqueid']][_0x31bc('0x16')]=utils[_0x31bc('0x13')]();queues[_0x4899c7[_0x31bc('0x3a')]][_0x31bc('0x2a')]=0x0;queues[_0x4899c7[_0x31bc('0x3a')]][_0x31bc('0x4a')]=0x0;}else{queues[_0x4899c7['origtransfererlinkedid']][_0x31bc('0xf')]=_0x4899c7[_0x31bc('0x42')];}}}else if(_0x4899c7[_0x31bc('0x4b')]==_0x4899c7[_0x31bc('0x42')]){if(!_[_0x31bc('0x15')](queues[_0x4899c7[_0x31bc('0x41')]])){queues[_0x4899c7[_0x31bc('0x41')]][_0x31bc('0x36')]=!![];queues[_0x4899c7['origtransfererlinkedid']][_0x31bc('0x3b')]='ATTENDED';queues[_0x4899c7['origtransfererlinkedid']][_0x31bc('0x3d')]=_0x4899c7[_0x31bc('0x4c')];queues[_0x4899c7[_0x31bc('0x41')]][_0x31bc('0x44')]=_0x4899c7['secondtransfereruniqueid'];queues[_0x4899c7[_0x31bc('0x41')]][_0x31bc('0x24')]='ATTENDEDTRANSFER';}if(!_['isNil'](queues[_0x4899c7['secondtransfererlinkedid']])){if(_0x4899c7[_0x31bc('0x4d')]&&queues[_0x4899c7[_0x31bc('0x4d')]]){queues[_0x4899c7[_0x31bc('0x4d')]]['queuecallerenterreason']=0x1;queues[_0x4899c7[_0x31bc('0x48')]]=_[_0x31bc('0x47')](queues[_0x4899c7['transfertargetlinkedid']]);queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0xf')]=_0x4899c7[_0x31bc('0x48')];queues[_0x4899c7['transfertargetuniqueid']][_0x31bc('0x1c')]=0x2;queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0x9')]=queues[_0x4899c7[_0x31bc('0x41')]][_0x31bc('0x9')];queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0x49')]=queues[_0x4899c7['origtransfererlinkedid']][_0x31bc('0x49')];queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0x2b')]=utils[_0x31bc('0x13')]();queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0x16')]=utils[_0x31bc('0x13')]();queues[_0x4899c7[_0x31bc('0x48')]][_0x31bc('0x2a')]=0x0;queues[_0x4899c7['transfertargetuniqueid']][_0x31bc('0x4a')]=0x0;}else{queues[_0x4899c7[_0x31bc('0x42')]][_0x31bc('0xf')]=_0x4899c7[_0x31bc('0x41')];}}}}catch(_0x31aed2){utils['error'](_0x31aed2[_0x31bc('0x4e')]);}};exports['musiconholdstart']=function(_0x55f0b3){if(!_[_0x31bc('0x15')](queues[_0x55f0b3[_0x31bc('0x6')]])){queues[_0x55f0b3['uniqueid']][_0x31bc('0x4f')]=utils[_0x31bc('0x13')]();}};exports[_0x31bc('0x50')]=function(_0x554d8a){if(!_[_0x31bc('0x15')](queues[_0x554d8a[_0x31bc('0x6')]])){if(!_[_0x31bc('0x15')](queues[_0x554d8a[_0x31bc('0x6')]][_0x31bc('0x4f')])){queues[_0x554d8a[_0x31bc('0x6')]][_0x31bc('0x4a')]+=utils[_0x31bc('0x51')](utils['now'](),queues[_0x554d8a[_0x31bc('0x6')]][_0x31bc('0x4f')]);delete queues[_0x554d8a[_0x31bc('0x6')]][_0x31bc('0x4f')];}}};