Built motion from commit 67e5df37.|2.0.66
[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 _0x9ad4=['error','rewrite','lodash','util','findAll','then','intervals','models','IntervalId','VoiceExtension','uniq','exten','groupBy','hasOwnProperty','answer','progress','priority','extensions','push','type','context','Set','format','VoiceExtensionId','createdAt','interval','*,*,*,*','map','filter','tag','length','CALLERID(all)=','callerID','app','toLowerCase','appType','custom','Progress','record','recordingFormat','MixMonitor','${UNIQUEID}.',',ab','splice','GotoIfTime',',${EXTEN},','last','concat','Hangup','transaction','destroy','bulkCreate','sortBy','catch'];(function(_0x25662e,_0x4cec68){var _0x59b7bc=function(_0xafb159){while(--_0xafb159){_0x25662e['push'](_0x25662e['shift']());}};_0x59b7bc(++_0x4cec68);}(_0x9ad4,0x146));var _0x49ad=function(_0x581e1d,_0x1ed7d4){_0x581e1d=_0x581e1d-0x0;var _0x39965b=_0x9ad4[_0x581e1d];return _0x39965b;};'use strict';var _=require(_0x49ad('0x0'));var util=require(_0x49ad('0x1'));function rewrite(_0x2563d6,_0x406f61){var _0x28bca8=this;return _0x2563d6['models']['Interval'][_0x49ad('0x2')]({'raw':!![]})[_0x49ad('0x3')](function(_0x30c3da){_0x28bca8[_0x49ad('0x4')]=_0x30c3da;return _0x2563d6[_0x49ad('0x5')]['VoiceExtension'][_0x49ad('0x2')]({'where':{'IntervalId':_0x406f61[_0x49ad('0x6')]},'raw':!![]});})[_0x49ad('0x3')](function(_0x3e46c5){return _0x2563d6[_0x49ad('0x5')][_0x49ad('0x7')][_0x49ad('0x2')]({'where':{'exten':{'$in':_[_0x49ad('0x8')](_['map'](_0x3e46c5,_0x49ad('0x9')))},'isApp':!![]},'order':[{'raw':'CAST(priority\x20AS\x20UNSIGNED)'}],'raw':!![]});})[_0x49ad('0x3')](function(_0x17ee1a){var _0x28fa5a=_[_0x49ad('0xa')](_0x17ee1a,_0x49ad('0x9'));var _0x1edd4c=['queue','playback'];var _0x223e54=[];var _0x272d88=[];for(var _0x1a4e59 in _0x28fa5a){if(_0x28fa5a[_0x49ad('0xb')](_0x1a4e59)){_0x28bca8[_0x49ad('0xc')]=![];_0x28bca8[_0x49ad('0xd')]=![];_0x28bca8[_0x49ad('0xe')]=0x2;_0x28bca8[_0x49ad('0xf')]=[];_0x28bca8['extensions'][_0x49ad('0x10')]({'type':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x11')],'context':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x12')],'exten':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x9')],'priority':_0x28bca8[_0x49ad('0xe')]++,'app':_0x49ad('0x13'),'appdata':util[_0x49ad('0x14')]('CDR(type)=%s',_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x11')]),'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});for(var _0x216553=0x0,_0x4814fd=0x0;_0x216553<_0x28fa5a[_0x1a4e59]['length'];_0x216553+=0x1,_0x4814fd=0x0){var _0x1fae3c=_0x28fa5a[_0x1a4e59][_0x216553];var _0x5a93c9=[];var _0x5f0aa1=[];delete _0x1fae3c['id'];delete _0x1fae3c[_0x49ad('0x16')];delete _0x1fae3c['updatedAt'];var _0x438968=_0x1fae3c[_0x49ad('0x17')]!==_0x49ad('0x18')?[_0x1fae3c['interval']]:_0x1fae3c[_0x49ad('0x6')]?_[_0x49ad('0x19')](_[_0x49ad('0x1a')](_0x28bca8[_0x49ad('0x4')],{'IntervalId':_0x1fae3c['IntervalId']}),_0x49ad('0x17')):[];if(_0x1fae3c[_0x49ad('0xb')](_0x49ad('0x1b'))){if(_0x1fae3c['tag']&&_0x1fae3c[_0x49ad('0x1b')]!=='--'){_0x5a93c9['push']({'type':_0x1fae3c[_0x49ad('0x11')],'app':_0x49ad('0x13'),'appdata':'CDR(tag)='+_0x1fae3c[_0x49ad('0x1b')],'context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968[_0x49ad('0x1c')]+_0x28bca8[_0x49ad('0xe')]+_0x4814fd++,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});}}if(_0x1fae3c[_0x49ad('0xb')]('callerID')){if(_0x1fae3c['callerID']){_0x5a93c9['push']({'type':_0x1fae3c['type'],'app':_0x49ad('0x13'),'appdata':_0x49ad('0x1d')+_0x1fae3c[_0x49ad('0x1e')],'context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968[_0x49ad('0x1c')]+_0x28bca8[_0x49ad('0xe')]+_0x4814fd++,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});}}if(_0x1fae3c[_0x49ad('0xb')](_0x49ad('0xc'))){if(_0x1edd4c['indexOf'](_0x1fae3c[_0x49ad('0x1f')][_0x49ad('0x20')]())>=0x0&&_0x1fae3c[_0x49ad('0x21')]!==_0x49ad('0x22')){if(!_0x28bca8['answer']&&_0x1fae3c[_0x49ad('0xc')]){_0x28bca8[_0x49ad('0xc')]=!![];_0x5a93c9[_0x49ad('0x10')]({'type':_0x1fae3c[_0x49ad('0x11')],'app':'Answer','context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968['length']+_0x28bca8[_0x49ad('0xe')]+_0x4814fd++,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});}if(!_0x28bca8['answer']&&!_0x28bca8['progress']&&!_0x1fae3c[_0x49ad('0xc')]){_0x28bca8[_0x49ad('0xd')]=!![];_0x5a93c9[_0x49ad('0x10')]({'type':_0x1fae3c[_0x49ad('0x11')],'app':_0x49ad('0x23'),'context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968['length']+_0x28bca8[_0x49ad('0xe')]+_0x4814fd++,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0]['VoiceExtensionId']});}}}if(_0x1fae3c[_0x49ad('0xb')](_0x49ad('0x24'))&&_0x1fae3c['hasOwnProperty'](_0x49ad('0x25'))){if(_0x1fae3c[_0x49ad('0x24')]){_0x5a93c9[_0x49ad('0x10')]({'type':_0x1fae3c[_0x49ad('0x11')],'app':_0x49ad('0x26'),'appdata':_0x49ad('0x27')+_0x1fae3c['recordingFormat']+_0x49ad('0x28'),'context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968[_0x49ad('0x1c')]+_0x28bca8[_0x49ad('0xe')]+_0x4814fd++,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0]['VoiceExtensionId']});}}if(_0x1fae3c[_0x49ad('0xb')](_0x49ad('0x24'))&&_0x1fae3c['hasOwnProperty']('recordingFormat')){if(_0x1fae3c[_0x49ad('0x24')]){_0x5f0aa1[_0x49ad('0x10')]({'type':_0x1fae3c[_0x49ad('0x11')],'app':'StopMixMonitor','appdata':null,'context':_0x1fae3c[_0x49ad('0x12')],'exten':_0x1fae3c[_0x49ad('0x9')],'priority':_0x438968[_0x49ad('0x1c')]+_0x28bca8['priority']+_0x4814fd++ +0x1,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});}}for(var _0xbd7fa8=0x0;_0xbd7fa8<_0x438968['length'];_0xbd7fa8+=0x1){var _0x10519f=_0x28bca8['priority']+_0x438968[_0x49ad('0x1c')];var _0x1a1a86=_0xbd7fa8===_0x438968[_0x49ad('0x1c')]-0x1?_0x28bca8[_0x49ad('0xe')]+_0x5a93c9[_0x49ad('0x1c')]+_0x5f0aa1[_0x49ad('0x1c')]+0x2:_0x28bca8['priority']+_0xbd7fa8+0x1;_0x5a93c9[_0x49ad('0x29')](_0xbd7fa8,0x0,{'type':_0x1fae3c[_0x49ad('0x11')],'app':_0x49ad('0x2a'),'appdata':_0x438968[_0xbd7fa8]+'?'+_0x1fae3c[_0x49ad('0x12')]+_0x49ad('0x2b')+_0x10519f+':'+_0x1fae3c[_0x49ad('0x12')]+_0x49ad('0x2b')+_0x1a1a86,'exten':_0x1fae3c[_0x49ad('0x9')],'context':_0x1fae3c['context'],'priority':_0x28bca8['priority']+_0xbd7fa8,'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]});}_0x1fae3c[_0x49ad('0xe')]=_0x5a93c9[_0x49ad('0x1c')]?_[_0x49ad('0x2c')](_0x5a93c9)['priority']+0x1:_0x28bca8[_0x49ad('0xe')];_0x28bca8[_0x49ad('0xe')]=(_0x5f0aa1[_0x49ad('0x1c')]?_[_0x49ad('0x2c')](_0x5f0aa1)[_0x49ad('0xe')]:_0x1fae3c[_0x49ad('0xe')])+0x1;_0x28bca8[_0x49ad('0xf')]=_[_0x49ad('0x2d')](_0x28bca8[_0x49ad('0xf')],_0x5a93c9,[_0x1fae3c],_0x5f0aa1);}_0x28bca8[_0x49ad('0xf')]['push']({'type':_0x28fa5a[_0x1a4e59][0x0]['type'],'app':_0x49ad('0x2e'),'exten':_0x28fa5a[_0x1a4e59][0x0]['exten'],'context':_0x28fa5a[_0x1a4e59][0x0]['context'],'priority':_0x28bca8[_0x49ad('0xe')],'VoiceExtensionId':_0x28fa5a[_0x1a4e59][0x0]['VoiceExtensionId']});_0x223e54[_0x49ad('0x10')](_0x28fa5a[_0x1a4e59][0x0][_0x49ad('0x15')]);_0x272d88=_[_0x49ad('0x2d')](_0x272d88,_0x28bca8[_0x49ad('0xf')]);}}return _0x2563d6[_0x49ad('0x2f')](function(_0x451e1d){return _0x2563d6[_0x49ad('0x5')][_0x49ad('0x7')][_0x49ad('0x30')]({'where':{'VoiceExtensionId':{'$in':_0x223e54}},'transaction':_0x451e1d})[_0x49ad('0x3')](function(_0x5ef4cf){return _0x2563d6['models'][_0x49ad('0x7')][_0x49ad('0x31')](_[_0x49ad('0x32')](_0x272d88,_0x49ad('0xe')),{'transaction':_0x451e1d});});});})[_0x49ad('0x33')](function(_0x404641){console[_0x49ad('0x34')](_0x404641);});}exports[_0x49ad('0x35')]=rewrite;