Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / api / voiceExtension / voiceExtension.model.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 _0x95d9=['exten','alias','NoOp','No\x20alias\x20set','context','inbound','CDR(routeid)=','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','outbound','CDR(type)=outbound','cutdigits','${EXTEN}','ExecIf','CDR(prefix)=${EXTEN:0:','CDR(prefix)=noprefix','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','trunk','timeout','options','url','split','param','phone','prefix','SIP','join','U(xcally-mixmonitor-context)','replace','isEmpty','Interval','findAll','interval','length','intervals','IntervalId','map','filter','toLowerCase','hasOwnProperty','tag','CDR(tag)=','push','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):','callerID','NoOp(No\x20number\x20available)','answer','queue','app','appType','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','XCALLY-MOTION-PROGRESS=1','splice',',${EXTEN},','outboundDial','appdata','priority','concat','catch','define','VoiceExtension','get','last','then','Hangup','lodash','./voiceExtension.attributes','exports','models','type','Set','CDR(type)='];(function(_0x5796bf,_0x4f1e83){var _0x4b2d40=function(_0x3a378f){while(--_0x3a378f){_0x5796bf['push'](_0x5796bf['shift']());}};_0x4b2d40(++_0x4f1e83);}(_0x95d9,0x97));var _0x995d=function(_0x341e0f,_0x4a09d0){_0x341e0f=_0x341e0f-0x0;var _0x59555a=_0x95d9[_0x341e0f];return _0x59555a;};'use strict';var _=require(_0x995d('0x0'));var attributes=require(_0x995d('0x1'));module[_0x995d('0x2')]=function(_0xb29ff5){var _0x568331=_0xb29ff5[_0x995d('0x3')];function _0x3b9a11(_0x1932c3){var _0x5b44d3=0x2;var _0x225c17=[{'type':_0x1932c3[_0x995d('0x4')],'app':_0x995d('0x5'),'appdata':_0x995d('0x6')+_0x1932c3[_0x995d('0x4')],'context':_0x1932c3['context'],'exten':_0x1932c3[_0x995d('0x7')],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']},{'type':_0x1932c3[_0x995d('0x4')],'app':_0x1932c3[_0x995d('0x8')]?_0x995d('0x5'):_0x995d('0x9'),'appdata':_0x1932c3[_0x995d('0x8')]?'CDR(routeAlias)='+_0x1932c3[_0x995d('0x8')]:_0x995d('0xa'),'context':_0x1932c3[_0x995d('0xb')],'exten':_0x1932c3['exten'],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']}];if(_0x1932c3['type']==='inbound'){_0x225c17['push']({'type':_0x995d('0xc'),'app':_0x995d('0x5'),'appdata':_0x995d('0xd')+_0x1932c3['id'],'context':_0x1932c3[_0x995d('0xb')],'exten':_0x1932c3[_0x995d('0x7')],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']});}_0x225c17['push']({'type':_0x1932c3[_0x995d('0x4')],'app':_0x995d('0x5'),'appdata':_0x995d('0xe'),'context':_0x1932c3[_0x995d('0xb')],'exten':_0x1932c3['exten'],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']},{'type':_0x1932c3[_0x995d('0x4')],'app':'Set','appdata':_0x995d('0xf'),'context':_0x1932c3['context'],'exten':_0x1932c3['exten'],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']},{'type':_0x1932c3[_0x995d('0x4')],'app':_0x995d('0x5'),'appdata':_0x995d('0x10'),'context':_0x1932c3[_0x995d('0xb')],'exten':_0x1932c3[_0x995d('0x7')],'priority':_0x5b44d3++,'VoiceExtensionId':_0x1932c3['id']});return _0x225c17;}function _0x183e0c(_0xb99ec5){var _0x294efb=0x2;var _0x29a643=[{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':_0x995d('0x12'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0xb99ec5[_0x995d('0x8')]?_0x995d('0x5'):_0x995d('0x9'),'appdata':_0xb99ec5[_0x995d('0x8')]?'CDR(routeAlias)='+_0xb99ec5[_0x995d('0x8')]:_0x995d('0xa'),'context':_0xb99ec5['context'],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':'CDR(destination)='+(_0xb99ec5[_0x995d('0x13')]?'${EXTEN:'+_0xb99ec5[_0x995d('0x13')]+'}':_0x995d('0x14')),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':'Set','appdata':_0x995d('0xd')+_0xb99ec5['id'],'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5['exten'],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':'outbound','app':_0x995d('0x15'),'appdata':'$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto('+(_0x294efb+0x2)+'):Goto('+(_0x294efb+0x1)+')','context':_0xb99ec5['context'],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':_0xb99ec5[_0x995d('0x13')]?_0x995d('0x16')+_0xb99ec5['cutdigits']+'}':_0x995d('0x17'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':'Set','appdata':_0x995d('0xe'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5['exten'],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':_0x995d('0xf'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':'Set','appdata':'MONITOR_OPTIONS=ab','context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5['exten'],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':_0x995d('0x18')+_0xb99ec5['id'],'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']}];if(_0xb99ec5['hasOwnProperty'](_0x995d('0x19'))&&_0xb99ec5[_0x995d('0x19')]!==_0x995d('0x1a')){_0x29a643['push']({'type':_0x995d('0x11'),'app':'Set','appdata':_0x995d('0x1b'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']},{'type':_0x995d('0x11'),'app':_0x995d('0x5'),'appdata':_0x995d('0x1c')+_0xb99ec5[_0x995d('0x19')]||_0x995d('0x1d'),'context':_0xb99ec5[_0x995d('0xb')],'exten':_0xb99ec5[_0x995d('0x7')],'priority':_0x294efb++,'VoiceExtensionId':_0xb99ec5['id']});}return _0x29a643;}function _0x38430e(_0xffe49a,_0x383ea4){var _0x27e238=[{'name':_0x995d('0x1e'),'param':0x0},{'name':_0x995d('0x1f'),'param':0x1},{'name':_0x995d('0x20'),'param':0x2},{'name':_0x995d('0x21'),'param':0x3}];var _0x57ce35={};var _0x7c9b59=_0x383ea4[_0x995d('0x22')](',');var _0x2dcd8a=[];for(var _0x540139=0x0;_0x540139<_0x27e238['length'];_0x540139++){switch(_0x27e238[_0x540139]['name']){case'trunk':_0x57ce35[_0x995d('0x1e')]=_0x7c9b59[_0x27e238[_0x540139][_0x995d('0x23')]][_0x995d('0x22')]('/')[0x1];_0x57ce35[_0x995d('0x24')]=_0x7c9b59[_0x27e238[_0x540139]['param']][_0x995d('0x22')]('/')[0x2];_0x57ce35[_0x995d('0x25')]=_0x57ce35['phone']?_0x57ce35[_0x995d('0x24')][_0x995d('0x22')]('$')[0x0]:undefined;_0x57ce35[_0x995d('0x24')]=_0xffe49a[_0x995d('0x13')]?(_0x57ce35[_0x995d('0x25')]||'')+'${EXTEN:'+_0xffe49a[_0x995d('0x13')]+'}':(_0x57ce35['prefix']||'')+_0x995d('0x14');_0x2dcd8a[_0x27e238[_0x540139][_0x995d('0x23')]]=[_0x995d('0x26'),_0x57ce35[_0x995d('0x1e')],_0x57ce35[_0x995d('0x24')]][_0x995d('0x27')]('/');break;case _0x995d('0x20'):_0x57ce35[_0x995d('0x20')]=_0x7c9b59[_0x27e238[_0x540139]['param']];if(_0xffe49a[_0x995d('0x19')]!==_0x995d('0x1a')){if(_0x57ce35[_0x995d('0x20')]['indexOf'](_0x995d('0x28'))<0x0){_0x57ce35[_0x995d('0x20')]+=_0x995d('0x28');}}else{_0x57ce35[_0x995d('0x20')]=_0x57ce35[_0x995d('0x20')][_0x995d('0x29')](_0x995d('0x28'),'');}_0x2dcd8a[_0x27e238[_0x540139][_0x995d('0x23')]]=_0x57ce35['options'];break;default:_0x2dcd8a[_0x27e238[_0x540139]['param']]=_0x7c9b59[_0x27e238[_0x540139][_0x995d('0x23')]];}}return _0x2dcd8a[_0x995d('0x27')](',');}function _0x5e8485(_0x5efe57,_0x39815e,_0x17ec4c){return new Promise(function(_0xafb93d,_0x50c61e){var _0x1c6f2c=[];if(_[_0x995d('0x2a')](_0x39815e))return _0xafb93d(_0x1c6f2c);_0x568331[_0x995d('0x2b')][_0x995d('0x2c')]({'attributes':['id',_0x995d('0x2d'),'IntervalId'],'raw':!![]})['then'](function(_0x2bce82){for(var _0x37d47c=0x0,_0x1d81e1=0x0;_0x37d47c<_0x39815e[_0x995d('0x2e')];_0x37d47c++,_0x1d81e1=0x0){var _0x2f7192=_0x39815e[_0x37d47c];var _0x5d558d=[];var _0x1fe4c5=[];delete _0x2f7192['id'];if(_0x2f7192['interval']!=='*,*,*,*'){_0x2f7192[_0x995d('0x2f')]=[_0x2f7192[_0x995d('0x2d')]];}else{_0x2f7192[_0x995d('0x2f')]=_0x2f7192[_0x995d('0x30')]?_[_0x995d('0x31')](_[_0x995d('0x32')](_0x2bce82,{'IntervalId':_0x2f7192[_0x995d('0x30')]}),'interval'):[];}_0x2f7192[_0x995d('0xb')]=_0x5efe57[_0x995d('0xb')];_0x2f7192[_0x995d('0x7')]=_0x5efe57[_0x995d('0x7')];if(_0x2f7192[_0x995d('0x4')])_0x2f7192[_0x995d('0x4')]=_0x2f7192[_0x995d('0x4')][_0x995d('0x33')]();if(_0x5efe57[_0x995d('0x4')]==='outbound'){if(_0x2f7192[_0x995d('0x34')]('tag')&&_0x2f7192[_0x995d('0x35')]&&_0x2f7192[_0x995d('0x35')]!=='--'){_0x5d558d['push']({'type':_0x2f7192[_0x995d('0x4')][_0x995d('0x33')](),'app':'Set','appdata':_0x995d('0x36')+_0x2f7192[_0x995d('0x35')],'context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57[_0x995d('0x7')],'priority':_0x2f7192['intervals'][_0x995d('0x2e')]+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});}_0x5d558d[_0x995d('0x37')]({'type':_0x2f7192[_0x995d('0x4')][_0x995d('0x33')](),'app':_0x995d('0x15'),'appdata':_0x995d('0x38')+(_0x2f7192[_0x995d('0x39')]?'Set(CALLERID(all)='+_0x2f7192[_0x995d('0x39')]+')':_0x995d('0x3a')),'context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57[_0x995d('0x7')],'priority':_0x2f7192[_0x995d('0x2f')]['length']+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});}else{if(_0x2f7192[_0x995d('0x34')](_0x995d('0x3b'))){if([_0x995d('0x3c'),'playback']['includes'](_0x2f7192[_0x995d('0x3d')][_0x995d('0x33')]())&&_0x2f7192[_0x995d('0x3e')]!=='custom'){if(_0x2f7192['answer']){_0x5d558d['push']({'type':_0x2f7192[_0x995d('0x4')][_0x995d('0x33')](),'app':'ExecIf','appdata':_0x995d('0x3f'),'context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57[_0x995d('0x7')],'priority':_0x2f7192['intervals'][_0x995d('0x2e')]+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});_0x5d558d[_0x995d('0x37')]({'type':_0x2f7192[_0x995d('0x4')][_0x995d('0x33')](),'app':_0x995d('0x5'),'appdata':_0x995d('0x40'),'context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57[_0x995d('0x7')],'priority':_0x2f7192['intervals'][_0x995d('0x2e')]+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});}else{_0x5d558d[_0x995d('0x37')]({'type':_0x2f7192[_0x995d('0x4')]['toLowerCase'](),'app':_0x995d('0x15'),'appdata':'$[${XCALLY-MOTION-PROGRESS}=0]?Progress','context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57['exten'],'priority':_0x2f7192[_0x995d('0x2f')][_0x995d('0x2e')]+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});_0x5d558d[_0x995d('0x37')]({'type':_0x2f7192[_0x995d('0x4')][_0x995d('0x33')](),'app':'Set','appdata':_0x995d('0x41'),'context':_0x5efe57[_0x995d('0xb')],'exten':_0x5efe57['exten'],'priority':_0x2f7192['intervals']['length']+_0x17ec4c+_0x1d81e1++,'VoiceExtensionId':_0x5efe57['id']});}}}}for(var _0x79f26a=0x0;_0x79f26a<_0x2f7192[_0x995d('0x2f')][_0x995d('0x2e')];_0x79f26a++){var _0x1c1722=_0x17ec4c+_0x2f7192['intervals']['length'];var _0x456c6c=_0x79f26a===_0x2f7192[_0x995d('0x2f')]['length']-0x1?_0x17ec4c+_0x5d558d['length']+_0x1fe4c5[_0x995d('0x2e')]+0x2:_0x17ec4c+_0x79f26a+0x1;_0x5d558d[_0x995d('0x42')](_0x79f26a,0x0,{'type':_0x5efe57[_0x995d('0x4')],'app':'GotoIfTime','appdata':_0x2f7192[_0x995d('0x2f')][_0x79f26a]+'?'+_0x5efe57[_0x995d('0xb')]+_0x995d('0x43')+_0x1c1722+':'+_0x5efe57['context']+_0x995d('0x43')+_0x456c6c,'exten':_0x5efe57[_0x995d('0x7')],'context':_0x5efe57['context'],'priority':_0x17ec4c+_0x79f26a,'VoiceExtensionId':_0x5efe57['id']});}if(_0x2f7192[_0x995d('0x3e')]===_0x995d('0x44'))_0x2f7192[_0x995d('0x45')]=_0x38430e(_0x5efe57,_0x2f7192[_0x995d('0x45')]);_0x2f7192['priority']=_0x5d558d[_0x995d('0x2e')]?_['last'](_0x5d558d)[_0x995d('0x46')]+0x1:_0x17ec4c;_0x1c6f2c=_[_0x995d('0x47')](_0x1c6f2c,_0x5d558d,[_0x2f7192],_0x1fe4c5);_0x17ec4c=_['last'](_0x1c6f2c)[_0x995d('0x46')]+0x1;}return _0xafb93d(_0x1c6f2c);})[_0x995d('0x48')](function(_0xf275fc){_0x50c61e(_0xf275fc);});});}return _0xb29ff5[_0x995d('0x49')](_0x995d('0x4a'),attributes,{'tableName':'voice_extensions','paranoid':![],'indexes':[],'timestamps':!![],'instanceMethods':{'createRouting':function(_0xf72ed3){var _0x20aee4=this[_0x995d('0x4b')]({'plain':!![]});var _0x3953fb=_0x20aee4[_0x995d('0x4')]===_0x995d('0x11')?_0x183e0c(_0x20aee4):_0x3b9a11(_0x20aee4);return _0x5e8485(_0x20aee4,_0xf72ed3,_[_0x995d('0x4c')](_0x3953fb)['priority']+0x1)[_0x995d('0x4d')](function(_0x4a8965){var _0x57b530=_[_0x995d('0x47')](_0x3953fb,_0x4a8965);_0x57b530[_0x995d('0x37')]({'type':_0x20aee4['type'],'app':_0x995d('0x4e'),'exten':_0x20aee4[_0x995d('0x7')],'context':_0x20aee4['context'],'priority':_[_0x995d('0x4c')](_0x57b530)[_0x995d('0x46')]+0x1,'VoiceExtensionId':_0x20aee4['id']});return _0x57b530;});}}});};