Built motion from commit (unavailable).|2.3.7
[motion2.git] / server / components / extensions / rewrite.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 _0x5194=['exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','playback','hasOwnProperty','priority','extensions','extension','find','Set','type','context','VoiceExtensionId','outbound','push','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_FORMAT=','wav','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','length','toLowerCase','*,*,*,*','interval','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','answer','indexOf','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','destroy','bulkCreate','sortBy','error','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','IntervalId','map'];(function(_0x5925f7,_0x3267da){var _0x542c9c=function(_0x52e61b){while(--_0x52e61b){_0x5925f7['push'](_0x5925f7['shift']());}};_0x542c9c(++_0x3267da);}(_0x5194,0xfa));var _0x4519=function(_0x53ccf2,_0x13cb67){_0x53ccf2=_0x53ccf2-0x0;var _0x5a2964=_0x5194[_0x53ccf2];return _0x5a2964;};'use strict';var _=require(_0x4519('0x0'));var util=require(_0x4519('0x1'));function rewrite(_0x167e08,_0x55cdea){var _0x4ec1ec=this;return _0x167e08[_0x4519('0x2')][_0x4519('0x3')][_0x4519('0x4')]({'raw':!![]})[_0x4519('0x5')](function(_0x34d6d0){_0x4ec1ec[_0x4519('0x6')]=_0x34d6d0;return _0x167e08[_0x4519('0x2')][_0x4519('0x7')][_0x4519('0x4')]({'where':{'IntervalId':_0x55cdea[_0x4519('0x8')]},'raw':!![]});})[_0x4519('0x5')](function(_0x4c57e0){return _0x167e08[_0x4519('0x2')][_0x4519('0x7')][_0x4519('0x4')]({'where':{'exten':{'$in':_['uniq'](_[_0x4519('0x9')](_0x4c57e0,_0x4519('0xa')))}},'order':[{'raw':_0x4519('0xb')}],'raw':!![]});})[_0x4519('0x5')](function(_0x472288){var _0x11b153=_[_0x4519('0xc')](_0x472288,{'priority':'1'});var _0x310e61=_['filter'](_0x472288,{'isApp':0x1});var _0x13448c=_[_0x4519('0xd')](_0x310e61,_0x4519('0xa'));var _0x4a0ccb=['queue',_0x4519('0xe')];var _0x4387e2=[];var _0x114543=[];for(var _0x2313e8 in _0x13448c){if(_0x13448c[_0x4519('0xf')](_0x2313e8)){_0x4ec1ec[_0x4519('0x10')]=0x2;_0x4ec1ec[_0x4519('0x11')]=[];_0x4ec1ec[_0x4519('0x12')]=_[_0x4519('0x13')](_0x11b153,{'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')]});_0x4ec1ec['extensions']['push']({'type':_0x13448c[_0x2313e8][0x0]['type'],'app':_0x4519('0x14'),'appdata':util['format']('CDR(type)=%s',_0x13448c[_0x2313e8][0x0][_0x4519('0x15')]),'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0]['exten'],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});if(_0x13448c[_0x2313e8][0x0][_0x4519('0x15')]===_0x4519('0x18')){if(_0x4ec1ec[_0x4519('0x12')]){_0x4ec1ec[_0x4519('0x11')][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':_0x4519('0x14'),'appdata':_0x4519('0x1a')+(_0x4ec1ec['extension'][_0x4519('0x1b')]?_0x4519('0x1c')+_0x4ec1ec[_0x4519('0x12')][_0x4519('0x1b')]+'}':_0x4519('0x1d')),'context':_0x13448c[_0x2313e8][0x0]['context'],'exten':_0x13448c[_0x2313e8][0x0]['exten'],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0]['VoiceExtensionId']});}_0x4ec1ec[_0x4519('0x11')]['push']({'type':_0x13448c[_0x2313e8][0x0]['type'],'app':_0x4519('0x14'),'appdata':_0x4519('0x1e')+_0x13448c[_0x2313e8][0x0][_0x4519('0x17')],'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});var _0xee32e7=_0x4ec1ec[_0x4519('0x10')]++;_0x4ec1ec['extensions'][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':_0x4519('0x1f'),'appdata':_0x4519('0x20')+(_0xee32e7+0x2)+_0x4519('0x21')+(_0xee32e7+0x1)+')','context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0]['exten'],'priority':_0xee32e7,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});if(_0x4ec1ec['extension']){_0x4ec1ec[_0x4519('0x11')]['push']({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':'Set','appdata':_0x4ec1ec[_0x4519('0x12')]['cutdigits']?'CDR(prefix)=${EXTEN:0:'+_0x4ec1ec['extension'][_0x4519('0x1b')]+'}':_0x4519('0x22'),'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0]['VoiceExtensionId']});}_0x4ec1ec[_0x4519('0x11')][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':_0x4519('0x14'),'appdata':_0x4519('0x23')+_0x13448c[_0x2313e8][0x0]['VoiceExtensionId'],'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});if(_0x4ec1ec['extension']&&_0x4ec1ec['extension'][_0x4519('0xf')](_0x4519('0x24'))&&_0x4ec1ec[_0x4519('0x12')][_0x4519('0x24')]!=='none'){_0x4ec1ec['extensions'][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':_0x4519('0x14'),'appdata':'_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});_0x4ec1ec[_0x4519('0x11')][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0]['type'],'app':_0x4519('0x14'),'appdata':_0x4519('0x25')+_0x4ec1ec[_0x4519('0x12')]['recordingFormat']||_0x4519('0x26'),'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});}}_0x4ec1ec[_0x4519('0x11')][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':_0x4519('0x14'),'appdata':_0x4519('0x27'),'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0]['exten'],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});_0x4ec1ec[_0x4519('0x11')]['push']({'type':_0x13448c[_0x2313e8][0x0]['type'],'app':_0x4519('0x14'),'appdata':_0x4519('0x28'),'context':_0x13448c[_0x2313e8][0x0]['context'],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec['priority']++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0]['VoiceExtensionId']});_0x4ec1ec['extensions']['push']({'type':_0x13448c[_0x2313e8][0x0]['type'],'app':'Set','appdata':_0x4519('0x29'),'context':_0x13448c[_0x2313e8][0x0][_0x4519('0x16')],'exten':_0x13448c[_0x2313e8][0x0][_0x4519('0xa')],'priority':_0x4ec1ec[_0x4519('0x10')]++,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});for(var _0x44ddea=0x0,_0x12a6ce=0x0;_0x44ddea<_0x13448c[_0x2313e8][_0x4519('0x2a')];_0x44ddea+=0x1,_0x12a6ce=0x0){var _0xcac59=_0x13448c[_0x2313e8][_0x44ddea];if(_0xcac59[_0x4519('0x15')]){_0xcac59[_0x4519('0x15')]=_0xcac59[_0x4519('0x15')][_0x4519('0x2b')]();}var _0x5a434a=[];var _0x171ed1=[];delete _0xcac59['id'];delete _0xcac59['createdAt'];delete _0xcac59['updatedAt'];var _0x3878a8=_0xcac59['interval']!==_0x4519('0x2c')?[_0xcac59[_0x4519('0x2d')]]:_0xcac59[_0x4519('0x8')]?_[_0x4519('0x9')](_[_0x4519('0xc')](_0x4ec1ec[_0x4519('0x6')],{'IntervalId':_0xcac59[_0x4519('0x8')]}),_0x4519('0x2d')):[];if(_0xcac59[_0x4519('0xf')](_0x4519('0x2e'))){if(_0xcac59[_0x4519('0x2e')]&&_0xcac59[_0x4519('0x2e')]!=='--'){_0x5a434a[_0x4519('0x19')]({'type':_0xcac59['type'],'app':_0x4519('0x14'),'appdata':_0x4519('0x2f')+_0xcac59['tag'],'context':_0xcac59['context'],'exten':_0xcac59['exten'],'priority':_0x3878a8['length']+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});}}if(_0xcac59['type']===_0x4519('0x18')&&_0xcac59['hasOwnProperty'](_0x4519('0x30'))){if(_0xcac59[_0x4519('0x30')]){_0x5a434a['push']({'type':_0xcac59[_0x4519('0x15')],'app':_0x4519('0x1f'),'appdata':_0x4519('0x31')+_0xcac59['callerID']+')','context':_0xcac59[_0x4519('0x16')],'exten':_0xcac59['exten'],'priority':_0x3878a8['length']+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59['VoiceExtensionId']});}else{_0x5a434a[_0x4519('0x19')]({'type':_0xcac59[_0x4519('0x15')],'app':_0x4519('0x1f'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','context':_0xcac59['context'],'exten':_0xcac59[_0x4519('0xa')],'priority':_0x3878a8['length']+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});}}if(_0xcac59['hasOwnProperty'](_0x4519('0x32'))){if(_0x4a0ccb[_0x4519('0x33')](_0xcac59['app'][_0x4519('0x2b')]())>=0x0&&_0xcac59[_0x4519('0x34')]!==_0x4519('0x35')){if(_0xcac59['answer']){_0x5a434a['push']({'type':_0xcac59['type'],'app':_0x4519('0x1f'),'appdata':_0x4519('0x36'),'context':_0xcac59[_0x4519('0x16')],'exten':_0xcac59[_0x4519('0xa')],'priority':_0x3878a8['length']+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});_0x5a434a['push']({'type':_0xcac59[_0x4519('0x15')],'app':'Set','appdata':_0x4519('0x37'),'context':_0xcac59[_0x4519('0x16')],'exten':_0xcac59['exten'],'priority':_0x3878a8[_0x4519('0x2a')]+_0x4ec1ec['priority']+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});}else{_0x5a434a[_0x4519('0x19')]({'type':_0xcac59['type'],'app':_0x4519('0x1f'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0xcac59[_0x4519('0x16')],'exten':_0xcac59['exten'],'priority':_0x3878a8['length']+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});_0x5a434a[_0x4519('0x19')]({'type':_0xcac59[_0x4519('0x15')],'app':_0x4519('0x14'),'appdata':_0x4519('0x38'),'context':_0xcac59[_0x4519('0x16')],'exten':_0xcac59[_0x4519('0xa')],'priority':_0x3878a8[_0x4519('0x2a')]+_0x4ec1ec[_0x4519('0x10')]+_0x12a6ce++,'VoiceExtensionId':_0xcac59[_0x4519('0x17')]});}}}for(var _0x2ba22e=0x0;_0x2ba22e<_0x3878a8[_0x4519('0x2a')];_0x2ba22e+=0x1){var _0x525e4f=_0x4ec1ec['priority']+_0x3878a8[_0x4519('0x2a')];var _0x1fe228=_0x2ba22e===_0x3878a8[_0x4519('0x2a')]-0x1?_0x4ec1ec[_0x4519('0x10')]+_0x5a434a[_0x4519('0x2a')]+_0x171ed1[_0x4519('0x2a')]+0x2:_0x4ec1ec[_0x4519('0x10')]+_0x2ba22e+0x1;_0x5a434a[_0x4519('0x39')](_0x2ba22e,0x0,{'type':_0xcac59[_0x4519('0x15')],'app':_0x4519('0x3a'),'appdata':_0x3878a8[_0x2ba22e]+'?'+_0xcac59['context']+_0x4519('0x3b')+_0x525e4f+':'+_0xcac59['context']+_0x4519('0x3b')+_0x1fe228,'exten':_0xcac59[_0x4519('0xa')],'context':_0xcac59[_0x4519('0x16')],'priority':_0x4ec1ec[_0x4519('0x10')]+_0x2ba22e,'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});}_0xcac59[_0x4519('0x10')]=_0x5a434a[_0x4519('0x2a')]?_[_0x4519('0x3c')](_0x5a434a)['priority']+0x1:_0x4ec1ec['priority'];_0x4ec1ec[_0x4519('0x10')]=(_0x171ed1[_0x4519('0x2a')]?_[_0x4519('0x3c')](_0x171ed1)[_0x4519('0x10')]:_0xcac59['priority'])+0x1;_0x4ec1ec[_0x4519('0x11')]=_['concat'](_0x4ec1ec['extensions'],_0x5a434a,[_0xcac59],_0x171ed1);}_0x4ec1ec[_0x4519('0x11')][_0x4519('0x19')]({'type':_0x13448c[_0x2313e8][0x0][_0x4519('0x15')],'app':'Hangup','exten':_0x13448c[_0x2313e8][0x0]['exten'],'context':_0x13448c[_0x2313e8][0x0]['context'],'priority':_0x4ec1ec[_0x4519('0x10')],'VoiceExtensionId':_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]});_0x4387e2['push'](_0x13448c[_0x2313e8][0x0][_0x4519('0x17')]);_0x114543=_['concat'](_0x114543,_0x4ec1ec[_0x4519('0x11')]);}}return _0x167e08['transaction'](function(_0x4370d7){return _0x167e08[_0x4519('0x2')]['VoiceExtension'][_0x4519('0x3d')]({'where':{'VoiceExtensionId':{'$in':_0x4387e2}},'transaction':_0x4370d7})[_0x4519('0x5')](function(_0x46af40){return _0x167e08[_0x4519('0x2')][_0x4519('0x7')][_0x4519('0x3e')](_[_0x4519('0x3f')](_0x114543,_0x4519('0x10')),{'transaction':_0x4370d7});});});})['catch'](function(_0x5b2af4){console[_0x4519('0x40')](_0x5b2af4);});}exports['rewrite']=rewrite;