21f66b4ddbdaaff12f9242699f7f3fb57a189f7c
[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 _0xe03f=['updatedAt','interval','*,*,*,*','tag','CDR(tag)=','callerID','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):Set(CALLERID(all)=','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):NoOp(No\x20number\x20available)','answer','indexOf','app','appType','$[${XCALLY-MOTION-ANSWER}=0]?Answer','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','last','Hangup','concat','transaction','destroy','sortBy','catch','error','rewrite','lodash','util','models','Interval','findAll','then','intervals','VoiceExtension','IntervalId','uniq','map','exten','CAST(priority\x20AS\x20UNSIGNED)','filter','groupBy','queue','playback','hasOwnProperty','priority','extensions','find','push','type','Set','CDR(type)=%s','context','VoiceExtensionId','inbound','CDR(routeid)=','outbound','extension','CDR(destination)=','cutdigits','${EXTEN}','ExecIf','):Goto(','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','XCALLY-MOTION-PROGRESS=0','length','toLowerCase','createdAt'];(function(_0x384c31,_0x376d4a){var _0x2bd574=function(_0x4791ce){while(--_0x4791ce){_0x384c31['push'](_0x384c31['shift']());}};_0x2bd574(++_0x376d4a);}(_0xe03f,0x1d1));var _0xfe03=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xe03f[_0x14add3];return _0x4a174f;};'use strict';var _=require(_0xfe03('0x0'));var util=require(_0xfe03('0x1'));function rewrite(_0x345c50,_0x3565a7){var _0xc95356=this;return _0x345c50[_0xfe03('0x2')][_0xfe03('0x3')][_0xfe03('0x4')]({'raw':!![]})[_0xfe03('0x5')](function(_0x671695){_0xc95356[_0xfe03('0x6')]=_0x671695;return _0x345c50[_0xfe03('0x2')][_0xfe03('0x7')][_0xfe03('0x4')]({'where':{'IntervalId':_0x3565a7[_0xfe03('0x8')]},'raw':!![]});})[_0xfe03('0x5')](function(_0x36e75a){return _0x345c50[_0xfe03('0x2')][_0xfe03('0x7')][_0xfe03('0x4')]({'where':{'exten':{'$in':_[_0xfe03('0x9')](_[_0xfe03('0xa')](_0x36e75a,_0xfe03('0xb')))}},'order':[{'raw':_0xfe03('0xc')}],'raw':!![]});})[_0xfe03('0x5')](function(_0x505bb7){var _0x493839=_['filter'](_0x505bb7,{'priority':'1'});var _0x117d8e=_[_0xfe03('0xd')](_0x505bb7,{'isApp':0x1});var _0xbe0c13=_[_0xfe03('0xe')](_0x117d8e,_0xfe03('0xb'));var _0x49bcc7=[_0xfe03('0xf'),_0xfe03('0x10')];var _0x175ea4=[];var _0x455370=[];for(var _0x1a950f in _0xbe0c13){if(_0xbe0c13[_0xfe03('0x11')](_0x1a950f)){_0xc95356[_0xfe03('0x12')]=0x2;_0xc95356[_0xfe03('0x13')]=[];_0xc95356['extension']=_[_0xfe03('0x14')](_0x493839,{'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')]});_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':util['format'](_0xfe03('0x18'),_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')]),'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});if(_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')]===_0xfe03('0x1b')){_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0]['type'],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x1c')+_0xbe0c13[_0x1a950f][0x0]['VoiceExtensionId'],'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});}else if(_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')]===_0xfe03('0x1d')){if(_0xc95356[_0xfe03('0x1e')]){_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x1f')+(_0xc95356['extension'][_0xfe03('0x20')]?'${EXTEN:'+_0xc95356[_0xfe03('0x1e')][_0xfe03('0x20')]+'}':_0xfe03('0x21')),'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0]['VoiceExtensionId']});}_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x1c')+_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')],'context':_0xbe0c13[_0x1a950f][0x0]['context'],'exten':_0xbe0c13[_0x1a950f][0x0]['exten'],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});var _0xdf02e6=_0xc95356[_0xfe03('0x12')]++;_0xc95356['extensions'][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x22'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0xdf02e6+0x2)+_0xfe03('0x23')+(_0xdf02e6+0x1)+')','context':_0xbe0c13[_0x1a950f][0x0]['context'],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xdf02e6,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});if(_0xc95356[_0xfe03('0x1e')]){_0xc95356['extensions'][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xc95356['extension']['cutdigits']?_0xfe03('0x24')+_0xc95356[_0xfe03('0x1e')]['cutdigits']+'}':_0xfe03('0x25'),'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0]['exten'],'priority':_0xc95356['priority']++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});}_0xc95356[_0xfe03('0x13')]['push']({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x26')+_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')],'context':_0xbe0c13[_0x1a950f][0x0]['context'],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356['priority']++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});if(_0xc95356[_0xfe03('0x1e')]&&_0xc95356[_0xfe03('0x1e')][_0xfe03('0x11')](_0xfe03('0x27'))&&_0xc95356['extension'][_0xfe03('0x27')]!=='none'){_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x28'),'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x29')+_0xc95356['extension'][_0xfe03('0x27')]||'wav','context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});}}_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':'XCALLY-MOTION-ANSWER=0','context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356['priority']++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0]['type'],'app':'Set','appdata':_0xfe03('0x2a'),'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'exten':_0xbe0c13[_0x1a950f][0x0]['exten'],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});_0xc95356[_0xfe03('0x13')]['push']({'type':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':'MONITOR_OPTIONS=ab','context':_0xbe0c13[_0x1a950f][0x0]['context'],'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'priority':_0xc95356[_0xfe03('0x12')]++,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0]['VoiceExtensionId']});for(var _0x25639e=0x0,_0x23e057=0x0;_0x25639e<_0xbe0c13[_0x1a950f][_0xfe03('0x2b')];_0x25639e+=0x1,_0x23e057=0x0){var _0x5b4687=_0xbe0c13[_0x1a950f][_0x25639e];if(_0x5b4687[_0xfe03('0x16')]){_0x5b4687[_0xfe03('0x16')]=_0x5b4687[_0xfe03('0x16')][_0xfe03('0x2c')]();}var _0x4a83e9=[];var _0xccf732=[];delete _0x5b4687['id'];delete _0x5b4687[_0xfe03('0x2d')];delete _0x5b4687[_0xfe03('0x2e')];var _0x3d34da=_0x5b4687[_0xfe03('0x2f')]!==_0xfe03('0x30')?[_0x5b4687[_0xfe03('0x2f')]]:_0x5b4687[_0xfe03('0x8')]?_[_0xfe03('0xa')](_[_0xfe03('0xd')](_0xc95356[_0xfe03('0x6')],{'IntervalId':_0x5b4687[_0xfe03('0x8')]}),_0xfe03('0x2f')):[];if(_0x5b4687[_0xfe03('0x11')](_0xfe03('0x31'))){if(_0x5b4687[_0xfe03('0x31')]&&_0x5b4687[_0xfe03('0x31')]!=='--'){_0x4a83e9['push']({'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x32')+_0x5b4687[_0xfe03('0x31')],'context':_0x5b4687[_0xfe03('0x19')],'exten':_0x5b4687[_0xfe03('0xb')],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356['priority']+_0x23e057++,'VoiceExtensionId':_0x5b4687['VoiceExtensionId']});}}if(_0x5b4687['type']===_0xfe03('0x1d')&&_0x5b4687[_0xfe03('0x11')]('callerID')){if(_0x5b4687[_0xfe03('0x33')]){_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':'ExecIf','appdata':_0xfe03('0x34')+_0x5b4687[_0xfe03('0x33')]+')','context':_0x5b4687['context'],'exten':_0x5b4687['exten'],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356[_0xfe03('0x12')]+_0x23e057++,'VoiceExtensionId':_0x5b4687[_0xfe03('0x1a')]});}else{_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':'ExecIf','appdata':_0xfe03('0x35'),'context':_0x5b4687[_0xfe03('0x19')],'exten':_0x5b4687[_0xfe03('0xb')],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356[_0xfe03('0x12')]+_0x23e057++,'VoiceExtensionId':_0x5b4687[_0xfe03('0x1a')]});}}if(_0x5b4687[_0xfe03('0x11')](_0xfe03('0x36'))){if(_0x49bcc7[_0xfe03('0x37')](_0x5b4687[_0xfe03('0x38')]['toLowerCase']())>=0x0&&_0x5b4687[_0xfe03('0x39')]!=='custom'){if(_0x5b4687['answer']){_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x22'),'appdata':_0xfe03('0x3a'),'context':_0x5b4687[_0xfe03('0x19')],'exten':_0x5b4687['exten'],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356[_0xfe03('0x12')]+_0x23e057++,'VoiceExtensionId':_0x5b4687[_0xfe03('0x1a')]});_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':'XCALLY-MOTION-ANSWER=1','context':_0x5b4687['context'],'exten':_0x5b4687[_0xfe03('0xb')],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356[_0xfe03('0x12')]+_0x23e057++,'VoiceExtensionId':_0x5b4687['VoiceExtensionId']});}else{_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x22'),'appdata':_0xfe03('0x3b'),'context':_0x5b4687['context'],'exten':_0x5b4687[_0xfe03('0xb')],'priority':_0x3d34da['length']+_0xc95356[_0xfe03('0x12')]+_0x23e057++,'VoiceExtensionId':_0x5b4687['VoiceExtensionId']});_0x4a83e9[_0xfe03('0x15')]({'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x17'),'appdata':_0xfe03('0x3c'),'context':_0x5b4687[_0xfe03('0x19')],'exten':_0x5b4687[_0xfe03('0xb')],'priority':_0x3d34da[_0xfe03('0x2b')]+_0xc95356['priority']+_0x23e057++,'VoiceExtensionId':_0x5b4687[_0xfe03('0x1a')]});}}}for(var _0x182255=0x0;_0x182255<_0x3d34da[_0xfe03('0x2b')];_0x182255+=0x1){var _0xad6862=_0xc95356[_0xfe03('0x12')]+_0x3d34da[_0xfe03('0x2b')];var _0x3e14db=_0x182255===_0x3d34da[_0xfe03('0x2b')]-0x1?_0xc95356[_0xfe03('0x12')]+_0x4a83e9[_0xfe03('0x2b')]+_0xccf732[_0xfe03('0x2b')]+0x2:_0xc95356['priority']+_0x182255+0x1;_0x4a83e9[_0xfe03('0x3d')](_0x182255,0x0,{'type':_0x5b4687[_0xfe03('0x16')],'app':_0xfe03('0x3e'),'appdata':_0x3d34da[_0x182255]+'?'+_0x5b4687[_0xfe03('0x19')]+_0xfe03('0x3f')+_0xad6862+':'+_0x5b4687[_0xfe03('0x19')]+_0xfe03('0x3f')+_0x3e14db,'exten':_0x5b4687[_0xfe03('0xb')],'context':_0x5b4687[_0xfe03('0x19')],'priority':_0xc95356[_0xfe03('0x12')]+_0x182255,'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});}_0x5b4687[_0xfe03('0x12')]=_0x4a83e9['length']?_[_0xfe03('0x40')](_0x4a83e9)['priority']+0x1:_0xc95356[_0xfe03('0x12')];_0xc95356[_0xfe03('0x12')]=(_0xccf732[_0xfe03('0x2b')]?_[_0xfe03('0x40')](_0xccf732)[_0xfe03('0x12')]:_0x5b4687['priority'])+0x1;_0xc95356[_0xfe03('0x13')]=_['concat'](_0xc95356[_0xfe03('0x13')],_0x4a83e9,[_0x5b4687],_0xccf732);}_0xc95356[_0xfe03('0x13')][_0xfe03('0x15')]({'type':_0xbe0c13[_0x1a950f][0x0]['type'],'app':_0xfe03('0x41'),'exten':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0xb')],'context':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x19')],'priority':_0xc95356[_0xfe03('0x12')],'VoiceExtensionId':_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]});_0x175ea4['push'](_0xbe0c13[_0x1a950f][0x0][_0xfe03('0x1a')]);_0x455370=_[_0xfe03('0x42')](_0x455370,_0xc95356[_0xfe03('0x13')]);}}return _0x345c50[_0xfe03('0x43')](function(_0x6ceff9){return _0x345c50[_0xfe03('0x2')]['VoiceExtension'][_0xfe03('0x44')]({'where':{'VoiceExtensionId':{'$in':_0x175ea4}},'transaction':_0x6ceff9})['then'](function(_0x378116){return _0x345c50[_0xfe03('0x2')][_0xfe03('0x7')]['bulkCreate'](_[_0xfe03('0x45')](_0x455370,'priority'),{'transaction':_0x6ceff9});});});})[_0xfe03('0x46')](function(_0x274b23){console[_0xfe03('0x47')](_0x274b23);});}exports[_0xfe03('0x48')]=rewrite;