Built motion from commit (unavailable).|2.5.22
[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 _0x71f4=['format','CDR(type)=%s','context','VoiceExtensionId','outbound','cutdigits','extension','CDR(routeid)=','ExecIf','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','priority','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','MONITOR_OPTIONS=ab','length','toLowerCase','updatedAt','*,*,*,*','interval','map','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','GotoIfTime',',${EXTEN},','last','concat','Hangup','destroy','bulkCreate','sortBy','catch','error','rewrite','models','Interval','then','intervals','VoiceExtension','findAll','IntervalId','uniq','filter','groupBy','exten','queue','playback','hasOwnProperty','extensions','find','push','type','Set'];(function(_0x4d35f3,_0x19ba66){var _0x382fea=function(_0x2c2390){while(--_0x2c2390){_0x4d35f3['push'](_0x4d35f3['shift']());}};_0x382fea(++_0x19ba66);}(_0x71f4,0xf9));var _0x471f=function(_0x4aae6b,_0x5b4ad8){_0x4aae6b=_0x4aae6b-0x0;var _0x5ee006=_0x71f4[_0x4aae6b];return _0x5ee006;};'use strict';var _=require('lodash');var util=require('util');function rewrite(_0x30e070,_0x223514){var _0x2f97b=this;return _0x30e070[_0x471f('0x0')][_0x471f('0x1')]['findAll']({'raw':!![]})[_0x471f('0x2')](function(_0x57bbfa){_0x2f97b[_0x471f('0x3')]=_0x57bbfa;return _0x30e070['models'][_0x471f('0x4')][_0x471f('0x5')]({'where':{'IntervalId':_0x223514[_0x471f('0x6')]},'raw':!![]});})[_0x471f('0x2')](function(_0x3c63fb){return _0x30e070[_0x471f('0x0')][_0x471f('0x4')][_0x471f('0x5')]({'where':{'exten':{'$in':_[_0x471f('0x7')](_['map'](_0x3c63fb,'exten'))}},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0x471f('0x2')](function(_0x22ea73){var _0x55042a=_[_0x471f('0x8')](_0x22ea73,{'priority':'1'});var _0x137b84=_[_0x471f('0x8')](_0x22ea73,{'isApp':0x1});var _0x4d7364=_[_0x471f('0x9')](_0x137b84,_0x471f('0xa'));var _0x9f73ca=[_0x471f('0xb'),_0x471f('0xc')];var _0x4151c1=[];var _0xdc7747=[];for(var _0x1de7fa in _0x4d7364){if(_0x4d7364[_0x471f('0xd')](_0x1de7fa)){_0x2f97b['priority']=0x2;_0x2f97b[_0x471f('0xe')]=[];_0x2f97b['extension']=_[_0x471f('0xf')](_0x55042a,{'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')]});_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x12'),'appdata':util[_0x471f('0x13')](_0x471f('0x14'),_0x4d7364[_0x1de7fa][0x0]['type']),'context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b['priority']++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});if(_0x4d7364[_0x1de7fa][0x0]['type']===_0x471f('0x17')){if(_0x2f97b['extension']){_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x12'),'appdata':'CDR(destination)='+(_0x2f97b['extension'][_0x471f('0x18')]?'${EXTEN:'+_0x2f97b[_0x471f('0x19')]['cutdigits']+'}':'${EXTEN}'),'context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b['priority']++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});}_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0]['type'],'app':_0x471f('0x12'),'appdata':_0x471f('0x1a')+_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')],'context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b['priority']++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});var _0x30f3fb=_0x2f97b['priority']++;_0x2f97b['extensions'][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x1b'),'appdata':_0x471f('0x1c')+(_0x30f3fb+0x2)+_0x471f('0x1d')+(_0x30f3fb+0x1)+')','context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x30f3fb,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});if(_0x2f97b['extension']){_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0]['type'],'app':_0x471f('0x12'),'appdata':_0x2f97b[_0x471f('0x19')][_0x471f('0x18')]?_0x471f('0x1e')+_0x2f97b[_0x471f('0x19')]['cutdigits']+'}':_0x471f('0x1f'),'context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0]['exten'],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});}_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x12'),'appdata':_0x471f('0x21')+_0x4d7364[_0x1de7fa][0x0]['VoiceExtensionId'],'context':_0x4d7364[_0x1de7fa][0x0]['context'],'exten':_0x4d7364[_0x1de7fa][0x0]['exten'],'priority':_0x2f97b['priority']++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});if(_0x2f97b[_0x471f('0x19')]&&_0x2f97b['extension'][_0x471f('0xd')]('recordingFormat')&&_0x2f97b[_0x471f('0x19')][_0x471f('0x22')]!==_0x471f('0x23')){_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':'Set','appdata':_0x471f('0x24'),'context':_0x4d7364[_0x1de7fa][0x0]['context'],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});_0x2f97b['extensions']['push']({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x12'),'appdata':_0x471f('0x25')+_0x2f97b[_0x471f('0x19')][_0x471f('0x22')]||'wav','context':_0x4d7364[_0x1de7fa][0x0]['context'],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});}}_0x2f97b['extensions'][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0]['type'],'app':'Set','appdata':'XCALLY-MOTION-ANSWER=0','context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});_0x2f97b[_0x471f('0xe')]['push']({'type':_0x4d7364[_0x1de7fa][0x0]['type'],'app':_0x471f('0x12'),'appdata':'XCALLY-MOTION-PROGRESS=0','context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0]['exten'],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x12'),'appdata':_0x471f('0x26'),'context':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x15')],'exten':_0x4d7364[_0x1de7fa][0x0][_0x471f('0xa')],'priority':_0x2f97b[_0x471f('0x20')]++,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0]['VoiceExtensionId']});for(var _0x4d189a=0x0,_0x11e3a0=0x0;_0x4d189a<_0x4d7364[_0x1de7fa][_0x471f('0x27')];_0x4d189a+=0x1,_0x11e3a0=0x0){var _0x518654=_0x4d7364[_0x1de7fa][_0x4d189a];if(_0x518654['type']){_0x518654[_0x471f('0x11')]=_0x518654[_0x471f('0x11')][_0x471f('0x28')]();}var _0x4e37b7=[];var _0x55028a=[];delete _0x518654['id'];delete _0x518654['createdAt'];delete _0x518654[_0x471f('0x29')];var _0x1d6fa9=_0x518654['interval']!==_0x471f('0x2a')?[_0x518654[_0x471f('0x2b')]]:_0x518654[_0x471f('0x6')]?_[_0x471f('0x2c')](_[_0x471f('0x8')](_0x2f97b[_0x471f('0x3')],{'IntervalId':_0x518654[_0x471f('0x6')]}),'interval'):[];if(_0x518654['hasOwnProperty'](_0x471f('0x2d'))){if(_0x518654[_0x471f('0x2d')]&&_0x518654[_0x471f('0x2d')]!=='--'){_0x4e37b7[_0x471f('0x10')]({'type':_0x518654['type'],'app':_0x471f('0x12'),'appdata':_0x471f('0x2e')+_0x518654[_0x471f('0x2d')],'context':_0x518654[_0x471f('0x15')],'exten':_0x518654['exten'],'priority':_0x1d6fa9[_0x471f('0x27')]+_0x2f97b[_0x471f('0x20')]+_0x11e3a0++,'VoiceExtensionId':_0x518654[_0x471f('0x16')]});}}if(_0x518654[_0x471f('0x11')]==='outbound'&&_0x518654['hasOwnProperty']('callerID')){if(_0x518654[_0x471f('0x2f')]){_0x4e37b7[_0x471f('0x10')]({'type':_0x518654[_0x471f('0x11')],'app':_0x471f('0x1b'),'appdata':'$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)='+_0x518654[_0x471f('0x2f')]+')','context':_0x518654[_0x471f('0x15')],'exten':_0x518654[_0x471f('0xa')],'priority':_0x1d6fa9[_0x471f('0x27')]+_0x2f97b['priority']+_0x11e3a0++,'VoiceExtensionId':_0x518654['VoiceExtensionId']});}else{_0x4e37b7['push']({'type':_0x518654[_0x471f('0x11')],'app':'ExecIf','appdata':_0x471f('0x30'),'context':_0x518654[_0x471f('0x15')],'exten':_0x518654[_0x471f('0xa')],'priority':_0x1d6fa9[_0x471f('0x27')]+_0x2f97b[_0x471f('0x20')]+_0x11e3a0++,'VoiceExtensionId':_0x518654[_0x471f('0x16')]});}}if(_0x518654[_0x471f('0xd')](_0x471f('0x31'))){if(_0x9f73ca[_0x471f('0x32')](_0x518654[_0x471f('0x33')][_0x471f('0x28')]())>=0x0&&_0x518654['appType']!==_0x471f('0x34')){if(_0x518654[_0x471f('0x31')]){_0x4e37b7[_0x471f('0x10')]({'type':_0x518654[_0x471f('0x11')],'app':_0x471f('0x1b'),'appdata':_0x471f('0x35'),'context':_0x518654[_0x471f('0x15')],'exten':_0x518654[_0x471f('0xa')],'priority':_0x1d6fa9[_0x471f('0x27')]+_0x2f97b['priority']+_0x11e3a0++,'VoiceExtensionId':_0x518654['VoiceExtensionId']});_0x4e37b7[_0x471f('0x10')]({'type':_0x518654['type'],'app':_0x471f('0x12'),'appdata':_0x471f('0x36'),'context':_0x518654['context'],'exten':_0x518654['exten'],'priority':_0x1d6fa9[_0x471f('0x27')]+_0x2f97b[_0x471f('0x20')]+_0x11e3a0++,'VoiceExtensionId':_0x518654[_0x471f('0x16')]});}else{_0x4e37b7['push']({'type':_0x518654[_0x471f('0x11')],'app':_0x471f('0x1b'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x518654['context'],'exten':_0x518654['exten'],'priority':_0x1d6fa9['length']+_0x2f97b[_0x471f('0x20')]+_0x11e3a0++,'VoiceExtensionId':_0x518654[_0x471f('0x16')]});_0x4e37b7[_0x471f('0x10')]({'type':_0x518654[_0x471f('0x11')],'app':'Set','appdata':_0x471f('0x37'),'context':_0x518654[_0x471f('0x15')],'exten':_0x518654[_0x471f('0xa')],'priority':_0x1d6fa9['length']+_0x2f97b[_0x471f('0x20')]+_0x11e3a0++,'VoiceExtensionId':_0x518654[_0x471f('0x16')]});}}}for(var _0x1ef186=0x0;_0x1ef186<_0x1d6fa9[_0x471f('0x27')];_0x1ef186+=0x1){var _0x5d16e9=_0x2f97b['priority']+_0x1d6fa9['length'];var _0x552d0a=_0x1ef186===_0x1d6fa9['length']-0x1?_0x2f97b[_0x471f('0x20')]+_0x4e37b7[_0x471f('0x27')]+_0x55028a[_0x471f('0x27')]+0x2:_0x2f97b[_0x471f('0x20')]+_0x1ef186+0x1;_0x4e37b7['splice'](_0x1ef186,0x0,{'type':_0x518654[_0x471f('0x11')],'app':_0x471f('0x38'),'appdata':_0x1d6fa9[_0x1ef186]+'?'+_0x518654['context']+',${EXTEN},'+_0x5d16e9+':'+_0x518654[_0x471f('0x15')]+_0x471f('0x39')+_0x552d0a,'exten':_0x518654[_0x471f('0xa')],'context':_0x518654[_0x471f('0x15')],'priority':_0x2f97b['priority']+_0x1ef186,'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0]['VoiceExtensionId']});}_0x518654['priority']=_0x4e37b7[_0x471f('0x27')]?_[_0x471f('0x3a')](_0x4e37b7)[_0x471f('0x20')]+0x1:_0x2f97b[_0x471f('0x20')];_0x2f97b[_0x471f('0x20')]=(_0x55028a[_0x471f('0x27')]?_[_0x471f('0x3a')](_0x55028a)[_0x471f('0x20')]:_0x518654[_0x471f('0x20')])+0x1;_0x2f97b[_0x471f('0xe')]=_[_0x471f('0x3b')](_0x2f97b['extensions'],_0x4e37b7,[_0x518654],_0x55028a);}_0x2f97b[_0x471f('0xe')][_0x471f('0x10')]({'type':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x11')],'app':_0x471f('0x3c'),'exten':_0x4d7364[_0x1de7fa][0x0]['exten'],'context':_0x4d7364[_0x1de7fa][0x0]['context'],'priority':_0x2f97b[_0x471f('0x20')],'VoiceExtensionId':_0x4d7364[_0x1de7fa][0x0][_0x471f('0x16')]});_0x4151c1['push'](_0x4d7364[_0x1de7fa][0x0]['VoiceExtensionId']);_0xdc7747=_[_0x471f('0x3b')](_0xdc7747,_0x2f97b[_0x471f('0xe')]);}}return _0x30e070['transaction'](function(_0x2a3a5c){return _0x30e070[_0x471f('0x0')][_0x471f('0x4')][_0x471f('0x3d')]({'where':{'VoiceExtensionId':{'$in':_0x4151c1}},'transaction':_0x2a3a5c})['then'](function(_0x169d4a){return _0x30e070[_0x471f('0x0')][_0x471f('0x4')][_0x471f('0x3e')](_[_0x471f('0x3f')](_0xdc7747,'priority'),{'transaction':_0x2a3a5c});});});})[_0x471f('0x40')](function(_0x485427){console[_0x471f('0x41')](_0x485427);});}exports[_0x471f('0x42')]=rewrite;