Built motion from commit 1efd3d96.|2.6.31
[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 _0x4dfd=['intervals','map','filter','toLowerCase','hasOwnProperty','tag','ExecIf','$[${LEN(${PREFIX-CALLERIDALL})}\x20>\x200]?Set(CALLERID(all)=${PREFIX-CALLERIDALL}):','Set(CALLERID(all)=','NoOp(No\x20number\x20available)','queue','playback','includes','app','appType','custom','$[${XCALLY-MOTION-ANSWER}=0]?Answer','XCALLY-MOTION-ANSWER=1','$[${XCALLY-MOTION-PROGRESS}=0]?Progress','XCALLY-MOTION-PROGRESS=1','splice','GotoIfTime',',${EXTEN},','appdata','agi','XMCS-UNIQUEID=${CHANNEL(LINKEDID)}','last','priority','concat','define','VoiceExtension','get','Hangup','lodash','./voiceExtension.attributes','models','CDR(type)=','type','inbound','push','Set','CDR(routeid)=','context','exten','XCALLY-MOTION-ANSWER=0','XCALLY-MOTION-PROGRESS=0','MONITOR_OPTIONS=ab','outbound','CDR(type)=outbound','CDR(destination)=','cutdigits','${EXTEN:','${EXTEN}','$[${LEN(${CDR(prefix)})}\x20>\x200]?Goto(','):Goto(','CDR(prefix)=${EXTEN:0:','outboundrouteid=','recordingFormat','none','_XCALLY_MIXMONITOR_UNIQUEID=${UNIQUEID}','_XCALLY_MIXMONITOR_FORMAT=','wav','trunk','timeout','options','split','length','name','param','phone','prefix','join','replace','U(xcally-mixmonitor-context)','isEmpty','Interval','findAll','interval','IntervalId','then'];(function(_0x50a79e,_0x1297a0){var _0x1db114=function(_0x2b58b7){while(--_0x2b58b7){_0x50a79e['push'](_0x50a79e['shift']());}};_0x1db114(++_0x1297a0);}(_0x4dfd,0x161));var _0xd4df=function(_0xcf91b0,_0x203cc3){_0xcf91b0=_0xcf91b0-0x0;var _0x129f8a=_0x4dfd[_0xcf91b0];return _0x129f8a;};'use strict';var _=require(_0xd4df('0x0'));var attributes=require(_0xd4df('0x1'));module['exports']=function(_0x3b8f64){var _0x5cb2ba=_0x3b8f64[_0xd4df('0x2')];function _0x20ca99(_0x2917c8){var _0x3f6bdc=0x2;var _0xfa9534=[{'type':_0x2917c8['type'],'app':'Set','appdata':_0xd4df('0x3')+_0x2917c8[_0xd4df('0x4')],'context':_0x2917c8['context'],'exten':_0x2917c8['exten'],'priority':_0x3f6bdc++,'VoiceExtensionId':_0x2917c8['id']}];if(_0x2917c8[_0xd4df('0x4')]===_0xd4df('0x5')){_0xfa9534[_0xd4df('0x6')]({'type':_0xd4df('0x5'),'app':_0xd4df('0x7'),'appdata':_0xd4df('0x8')+_0x2917c8['id'],'context':_0x2917c8[_0xd4df('0x9')],'exten':_0x2917c8[_0xd4df('0xa')],'priority':_0x3f6bdc++,'VoiceExtensionId':_0x2917c8['id']});}_0xfa9534['push']({'type':_0x2917c8[_0xd4df('0x4')],'app':_0xd4df('0x7'),'appdata':_0xd4df('0xb'),'context':_0x2917c8[_0xd4df('0x9')],'exten':_0x2917c8[_0xd4df('0xa')],'priority':_0x3f6bdc++,'VoiceExtensionId':_0x2917c8['id']},{'type':_0x2917c8['type'],'app':_0xd4df('0x7'),'appdata':_0xd4df('0xc'),'context':_0x2917c8[_0xd4df('0x9')],'exten':_0x2917c8[_0xd4df('0xa')],'priority':_0x3f6bdc++,'VoiceExtensionId':_0x2917c8['id']},{'type':_0x2917c8[_0xd4df('0x4')],'app':_0xd4df('0x7'),'appdata':_0xd4df('0xd'),'context':_0x2917c8[_0xd4df('0x9')],'exten':_0x2917c8['exten'],'priority':_0x3f6bdc++,'VoiceExtensionId':_0x2917c8['id']});return _0xfa9534;}function _0x12df27(_0xbff5be){var _0x415a7a=0x2;var _0x59f897=[{'type':_0xd4df('0xe'),'app':_0xd4df('0x7'),'appdata':_0xd4df('0xf'),'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':'Set','appdata':_0xd4df('0x10')+(_0xbff5be[_0xd4df('0x11')]?_0xd4df('0x12')+_0xbff5be[_0xd4df('0x11')]+'}':_0xd4df('0x13')),'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be['exten'],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':'outbound','app':_0xd4df('0x7'),'appdata':_0xd4df('0x8')+_0xbff5be['id'],'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':'ExecIf','appdata':_0xd4df('0x14')+(_0x415a7a+0x2)+_0xd4df('0x15')+(_0x415a7a+0x1)+')','context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':_0xd4df('0x7'),'appdata':_0xbff5be['cutdigits']?_0xd4df('0x16')+_0xbff5be[_0xd4df('0x11')]+'}':'CDR(prefix)=noprefix','context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be['exten'],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':_0xd4df('0x7'),'appdata':_0xd4df('0xb'),'context':_0xbff5be['context'],'exten':_0xbff5be['exten'],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':'Set','appdata':'XCALLY-MOTION-PROGRESS=0','context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':_0xd4df('0x7'),'appdata':_0xd4df('0xd'),'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be['exten'],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':'outbound','app':_0xd4df('0x7'),'appdata':_0xd4df('0x17')+_0xbff5be['id'],'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']}];if(_0xbff5be['hasOwnProperty'](_0xd4df('0x18'))&&_0xbff5be[_0xd4df('0x18')]!==_0xd4df('0x19')){_0x59f897[_0xd4df('0x6')]({'type':'outbound','app':_0xd4df('0x7'),'appdata':_0xd4df('0x1a'),'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']},{'type':_0xd4df('0xe'),'app':_0xd4df('0x7'),'appdata':_0xd4df('0x1b')+_0xbff5be[_0xd4df('0x18')]||_0xd4df('0x1c'),'context':_0xbff5be[_0xd4df('0x9')],'exten':_0xbff5be[_0xd4df('0xa')],'priority':_0x415a7a++,'VoiceExtensionId':_0xbff5be['id']});}return _0x59f897;}function _0xed64e2(_0x319283,_0x5ea39c){var _0x5ee5f0=[{'name':_0xd4df('0x1d'),'param':0x0},{'name':_0xd4df('0x1e'),'param':0x1},{'name':_0xd4df('0x1f'),'param':0x2},{'name':'url','param':0x3}];var _0x259973={};var _0xafa9ff=_0x5ea39c[_0xd4df('0x20')](',');var _0x4179b2=[];for(var _0x2a8d8a=0x0;_0x2a8d8a<_0x5ee5f0[_0xd4df('0x21')];_0x2a8d8a++){switch(_0x5ee5f0[_0x2a8d8a][_0xd4df('0x22')]){case _0xd4df('0x1d'):_0x259973[_0xd4df('0x1d')]=_0xafa9ff[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]][_0xd4df('0x20')]('/')[0x1];_0x259973[_0xd4df('0x24')]=_0xafa9ff[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]][_0xd4df('0x20')]('/')[0x2];_0x259973[_0xd4df('0x25')]=_0x259973[_0xd4df('0x24')]?_0x259973[_0xd4df('0x24')]['split']('$')[0x0]:undefined;_0x259973[_0xd4df('0x24')]=_0x319283['cutdigits']?(_0x259973[_0xd4df('0x25')]||'')+_0xd4df('0x12')+_0x319283['cutdigits']+'}':(_0x259973[_0xd4df('0x25')]||'')+_0xd4df('0x13');_0x4179b2[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]]=['SIP',_0x259973['trunk'],_0x259973['phone']][_0xd4df('0x26')]('/');break;case _0xd4df('0x1f'):_0x259973[_0xd4df('0x1f')]=_0xafa9ff[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]];if(_0x319283[_0xd4df('0x18')]!=='none'){if(_0x259973['options']['indexOf']('U(xcally-mixmonitor-context)')<0x0){_0x259973[_0xd4df('0x1f')]+='U(xcally-mixmonitor-context)';}}else{_0x259973[_0xd4df('0x1f')]=_0x259973[_0xd4df('0x1f')][_0xd4df('0x27')](_0xd4df('0x28'),'');}_0x4179b2[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]]=_0x259973[_0xd4df('0x1f')];break;default:_0x4179b2[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]]=_0xafa9ff[_0x5ee5f0[_0x2a8d8a][_0xd4df('0x23')]];}}return _0x4179b2['join'](',');}function _0x1d2fd6(_0x300f4d,_0x3351c0,_0x89c74){return new Promise(function(_0x55d850,_0x40170e){var _0x125d05=[];if(_[_0xd4df('0x29')](_0x3351c0))return _0x55d850(_0x125d05);_0x5cb2ba[_0xd4df('0x2a')][_0xd4df('0x2b')]({'attributes':['id',_0xd4df('0x2c'),_0xd4df('0x2d')],'raw':!![]})[_0xd4df('0x2e')](function(_0x4137bb){for(var _0x475309=0x0,_0x32fab5=0x0;_0x475309<_0x3351c0['length'];_0x475309++,_0x32fab5=0x0){var _0x93dab4=_0x3351c0[_0x475309];var _0x5792a7=[];var _0x4e8e0d=[];delete _0x93dab4['id'];if(_0x93dab4['interval']!=='*,*,*,*'){_0x93dab4[_0xd4df('0x2f')]=[_0x93dab4[_0xd4df('0x2c')]];}else{_0x93dab4['intervals']=_0x93dab4[_0xd4df('0x2d')]?_[_0xd4df('0x30')](_[_0xd4df('0x31')](_0x4137bb,{'IntervalId':_0x93dab4[_0xd4df('0x2d')]}),_0xd4df('0x2c')):[];}_0x93dab4['context']=_0x300f4d[_0xd4df('0x9')];_0x93dab4[_0xd4df('0xa')]=_0x300f4d[_0xd4df('0xa')];if(_0x93dab4[_0xd4df('0x4')])_0x93dab4[_0xd4df('0x4')]=_0x93dab4[_0xd4df('0x4')][_0xd4df('0x32')]();if(_0x300f4d[_0xd4df('0x4')]==='outbound'){if(_0x93dab4[_0xd4df('0x33')]('tag')&&_0x93dab4[_0xd4df('0x34')]&&_0x93dab4['tag']!=='--'){_0x5792a7['push']({'type':_0x93dab4[_0xd4df('0x4')][_0xd4df('0x32')](),'app':_0xd4df('0x7'),'appdata':'CDR(tag)='+_0x93dab4[_0xd4df('0x34')],'context':_0x300f4d['context'],'exten':_0x300f4d['exten'],'priority':_0x93dab4[_0xd4df('0x2f')]['length']+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});}_0x5792a7[_0xd4df('0x6')]({'type':_0x93dab4[_0xd4df('0x4')]['toLowerCase'](),'app':_0xd4df('0x35'),'appdata':_0xd4df('0x36')+(_0x93dab4['callerID']?_0xd4df('0x37')+_0x93dab4['callerID']+')':_0xd4df('0x38')),'context':_0x300f4d[_0xd4df('0x9')],'exten':_0x300f4d[_0xd4df('0xa')],'priority':_0x93dab4['intervals'][_0xd4df('0x21')]+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});}else{if(_0x93dab4[_0xd4df('0x33')]('answer')){if([_0xd4df('0x39'),_0xd4df('0x3a')][_0xd4df('0x3b')](_0x93dab4[_0xd4df('0x3c')][_0xd4df('0x32')]())&&_0x93dab4[_0xd4df('0x3d')]!==_0xd4df('0x3e')){if(_0x93dab4['answer']){_0x5792a7[_0xd4df('0x6')]({'type':_0x93dab4[_0xd4df('0x4')][_0xd4df('0x32')](),'app':_0xd4df('0x35'),'appdata':_0xd4df('0x3f'),'context':_0x300f4d[_0xd4df('0x9')],'exten':_0x300f4d[_0xd4df('0xa')],'priority':_0x93dab4['intervals'][_0xd4df('0x21')]+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});_0x5792a7[_0xd4df('0x6')]({'type':_0x93dab4[_0xd4df('0x4')]['toLowerCase'](),'app':_0xd4df('0x7'),'appdata':_0xd4df('0x40'),'context':_0x300f4d[_0xd4df('0x9')],'exten':_0x300f4d[_0xd4df('0xa')],'priority':_0x93dab4[_0xd4df('0x2f')]['length']+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});}else{_0x5792a7['push']({'type':_0x93dab4[_0xd4df('0x4')][_0xd4df('0x32')](),'app':'ExecIf','appdata':_0xd4df('0x41'),'context':_0x300f4d[_0xd4df('0x9')],'exten':_0x300f4d[_0xd4df('0xa')],'priority':_0x93dab4[_0xd4df('0x2f')][_0xd4df('0x21')]+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});_0x5792a7['push']({'type':_0x93dab4[_0xd4df('0x4')][_0xd4df('0x32')](),'app':_0xd4df('0x7'),'appdata':_0xd4df('0x42'),'context':_0x300f4d[_0xd4df('0x9')],'exten':_0x300f4d['exten'],'priority':_0x93dab4[_0xd4df('0x2f')][_0xd4df('0x21')]+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});}}}}for(var _0x192676=0x0;_0x192676<_0x93dab4[_0xd4df('0x2f')][_0xd4df('0x21')];_0x192676++){var _0x5debca=_0x89c74+_0x93dab4[_0xd4df('0x2f')][_0xd4df('0x21')];var _0x44ae4c=_0x192676===_0x93dab4[_0xd4df('0x2f')][_0xd4df('0x21')]-0x1?_0x89c74+_0x5792a7['length']+_0x4e8e0d[_0xd4df('0x21')]+0x2:_0x89c74+_0x192676+0x1;_0x5792a7[_0xd4df('0x43')](_0x192676,0x0,{'type':_0x300f4d[_0xd4df('0x4')],'app':_0xd4df('0x44'),'appdata':_0x93dab4[_0xd4df('0x2f')][_0x192676]+'?'+_0x300f4d[_0xd4df('0x9')]+_0xd4df('0x45')+_0x5debca+':'+_0x300f4d[_0xd4df('0x9')]+_0xd4df('0x45')+_0x44ae4c,'exten':_0x300f4d[_0xd4df('0xa')],'context':_0x300f4d[_0xd4df('0x9')],'priority':_0x89c74+_0x192676,'VoiceExtensionId':_0x300f4d['id']});}if(_0x93dab4[_0xd4df('0x3d')]==='outboundDial'){_0x93dab4[_0xd4df('0x46')]=_0xed64e2(_0x300f4d,_0x93dab4[_0xd4df('0x46')]);}if(_0x93dab4['appType']===_0xd4df('0x47')){_0x5792a7['push']({'type':_0x93dab4['type'][_0xd4df('0x32')](),'app':_0xd4df('0x7'),'appdata':_0xd4df('0x48'),'context':_0x300f4d['context'],'exten':_0x300f4d[_0xd4df('0xa')],'priority':_0x93dab4[_0xd4df('0x2f')]['length']+_0x89c74+_0x32fab5++,'VoiceExtensionId':_0x300f4d['id']});}_0x93dab4['priority']=_0x5792a7[_0xd4df('0x21')]?_[_0xd4df('0x49')](_0x5792a7)[_0xd4df('0x4a')]+0x1:_0x89c74;_0x125d05=_[_0xd4df('0x4b')](_0x125d05,_0x5792a7,[_0x93dab4],_0x4e8e0d);_0x89c74=_['last'](_0x125d05)[_0xd4df('0x4a')]+0x1;}return _0x55d850(_0x125d05);})['catch'](function(_0x17cda9){_0x40170e(_0x17cda9);});});}return _0x3b8f64[_0xd4df('0x4c')](_0xd4df('0x4d'),attributes,{'tableName':'voice_extensions','paranoid':![],'indexes':[],'timestamps':!![],'instanceMethods':{'createRouting':function(_0x41ca2e){var _0x355f4a=this[_0xd4df('0x4e')]({'plain':!![]});var _0x648be3=_0x355f4a[_0xd4df('0x4')]===_0xd4df('0xe')?_0x12df27(_0x355f4a):_0x20ca99(_0x355f4a);return _0x1d2fd6(_0x355f4a,_0x41ca2e,_[_0xd4df('0x49')](_0x648be3)[_0xd4df('0x4a')]+0x1)['then'](function(_0x5ae01e){var _0x285d81=_[_0xd4df('0x4b')](_0x648be3,_0x5ae01e);_0x285d81['push']({'type':_0x355f4a[_0xd4df('0x4')],'app':_0xd4df('0x4f'),'exten':_0x355f4a['exten'],'context':_0x355f4a[_0xd4df('0x9')],'priority':_[_0xd4df('0x49')](_0x285d81)[_0xd4df('0x4a')]+0x1,'VoiceExtensionId':_0x355f4a['id']});return _0x285d81;});}}});};