Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / api / voiceExtension / voiceExtension.controller.js
index c7e3e27..45f28f1 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xe5b3=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','sendStatus','end','status','offset','undefined','count','limit','set','Content-Range','json','apply','reject','update','destroy','then','get','InboundRoutes','OutboundRoutes','InternalRoutes','internal','filter','ignore','map','value','includes','type','name','UserProfileResource','error','stack','send','index','rawAttributes','fieldName','key','model','keys','query','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','filters','pick','VIRTUAL','merge','options','findAll','catch','show','VoiceExtension','length','includeAll','include','find','params','startsWith','body','exten','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','outbound','UserProfileSection','userProfileId','context','description','recordingFormat','cutdigits','mandatoryDisposition','findOne','sequelize','VoiceExtensionId','bulkCreate','findAndCountAll','cast(priority\x20as\x20unsigned)','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','ioredis'];(function(_0x455171,_0x3837ff){var _0x510287=function(_0x32cbcd){while(--_0x32cbcd){_0x455171['push'](_0x455171['shift']());}};_0x510287(++_0x3837ff);}(_0xe5b3,0x133));var _0x3e5b=function(_0x558849,_0x113740){_0x558849=_0x558849-0x0;var _0x4149cd=_0xe5b3[_0x558849];return _0x4149cd;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3e5b('0x0'));var zipdir=require(_0x3e5b('0x1'));var jsonpatch=require(_0x3e5b('0x2'));var rp=require(_0x3e5b('0x3'));var moment=require(_0x3e5b('0x4'));var BPromise=require(_0x3e5b('0x5'));var Mustache=require(_0x3e5b('0x6'));var util=require(_0x3e5b('0x7'));var path=require(_0x3e5b('0x8'));var sox=require(_0x3e5b('0x9'));var csv=require(_0x3e5b('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3e5b('0xb'));var _=require(_0x3e5b('0xc'));var squel=require('squel');var crypto=require(_0x3e5b('0xd'));var jsforce=require(_0x3e5b('0xe'));var deskjs=require(_0x3e5b('0xf'));var toCsv=require(_0x3e5b('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3e5b('0x10'));var authService=require(_0x3e5b('0x11'));var qs=require(_0x3e5b('0x12'));var as=require(_0x3e5b('0x13'));var hardwareService=require(_0x3e5b('0x14'));var logger=require('../../config/logger')(_0x3e5b('0x15'));var utils=require('../../config/utils');var config=require(_0x3e5b('0x16'));var licenseUtil=require(_0x3e5b('0x17'));var db=require(_0x3e5b('0x18'))['db'];config[_0x3e5b('0x19')]=_[_0x3e5b('0x1a')](config[_0x3e5b('0x19')],{'host':_0x3e5b('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x3e5b('0x19')]));require('./voiceExtension.socket')['register'](socket);function respondWithStatusCode(_0x4d71a3,_0x3754e3){_0x3754e3=_0x3754e3||0xcc;return function(_0x3f5368){if(_0x3f5368){return _0x4d71a3[_0x3e5b('0x1c')](_0x3754e3);}return _0x4d71a3['status'](_0x3754e3)[_0x3e5b('0x1d')]();};}function respondWithResult(_0x59ddc0,_0x56a453){_0x56a453=_0x56a453||0xc8;return function(_0x258d6a){if(_0x258d6a){return _0x59ddc0[_0x3e5b('0x1e')](_0x56a453)['json'](_0x258d6a);}};}function respondWithFilteredResult(_0x3d58a4,_0x143040){return function(_0x555002){if(_0x555002){var _0xc56a2a=typeof _0x143040[_0x3e5b('0x1f')]==='undefined'&&typeof _0x143040['limit']===_0x3e5b('0x20');var _0x20806a=_0x555002[_0x3e5b('0x21')];var _0xff4aba=_0xc56a2a?0x0:_0x143040[_0x3e5b('0x1f')];var _0x1564b5=_0xc56a2a?_0x555002[_0x3e5b('0x21')]:_0x143040[_0x3e5b('0x1f')]+_0x143040[_0x3e5b('0x22')];var _0x3d95f3;if(_0x1564b5>=_0x20806a){_0x1564b5=_0x20806a;_0x3d95f3=0xc8;}else{_0x3d95f3=0xce;}_0x3d58a4[_0x3e5b('0x1e')](_0x3d95f3);return _0x3d58a4[_0x3e5b('0x23')](_0x3e5b('0x24'),_0xff4aba+'-'+_0x1564b5+'/'+_0x20806a)[_0x3e5b('0x25')](_0x555002);}return null;};}function patchUpdates(_0x5b46d4){return function(_0x433f9c){try{jsonpatch[_0x3e5b('0x26')](_0x433f9c,_0x5b46d4,!![]);}catch(_0x2146d4){return BPromise[_0x3e5b('0x27')](_0x2146d4);}return _0x433f9c['save']();};}function saveUpdates(_0x1eb80f,_0x5b33bb){return function(_0x2f9e42){if(_0x2f9e42){return _0x2f9e42[_0x3e5b('0x28')](_0x1eb80f)['then'](function(_0x41b684){return _0x41b684;});}return null;};}function removeEntity(_0x2f6368,_0x42d7e9){return function(_0x3c8965){if(_0x3c8965){return _0x3c8965[_0x3e5b('0x29')]()[_0x3e5b('0x2a')](function(){var _0x160e87=_0x3c8965[_0x3e5b('0x2b')]({'plain':!![]});var _0x4c4b89=[{'name':_0x3e5b('0x2c'),'value':'inbound','ignore':![]},{'name':_0x3e5b('0x2d'),'value':'outbound','ignore':![]},{'name':_0x3e5b('0x2e'),'value':_0x3e5b('0x2f'),'ignore':![]}];var _0x1296ec=_(_0x4c4b89)[_0x3e5b('0x30')](_0x3e5b('0x31'))[_0x3e5b('0x32')](_0x3e5b('0x33'))[_0x3e5b('0x33')]();if(_[_0x3e5b('0x34')](_0x1296ec,_0x160e87[_0x3e5b('0x35')])){return;}var _0x1e1565=_['find'](_0x4c4b89,[_0x3e5b('0x33'),_0x160e87[_0x3e5b('0x35')]])[_0x3e5b('0x36')];return db[_0x3e5b('0x37')][_0x3e5b('0x29')]({'where':{'type':_0x1e1565,'resourceId':_0x160e87['id']}})[_0x3e5b('0x2a')](function(){return _0x3c8965;});})[_0x3e5b('0x2a')](function(){_0x2f6368['status'](0xcc)[_0x3e5b('0x1d')]();});}};}function handleEntityNotFound(_0x56a527,_0x5b9ba3){return function(_0x32c6b0){if(!_0x32c6b0){_0x56a527[_0x3e5b('0x1c')](0x194);}return _0x32c6b0;};}function handleError(_0x51ea0d,_0x40e37d){_0x40e37d=_0x40e37d||0x1f4;return function(_0x2f7ff3){logger[_0x3e5b('0x38')](_0x2f7ff3[_0x3e5b('0x39')]);if(_0x2f7ff3[_0x3e5b('0x36')]){delete _0x2f7ff3[_0x3e5b('0x36')];}_0x51ea0d[_0x3e5b('0x1e')](_0x40e37d)[_0x3e5b('0x3a')](_0x2f7ff3);};}exports[_0x3e5b('0x3b')]=function(_0x7917ef,_0x3104e6){var _0x1506f5={},_0x5a75b9={},_0x141b7e={'count':0x0,'rows':[]};var _0xec45c5=_['map'](db['VoiceExtension'][_0x3e5b('0x3c')],function(_0x56d7ef){return{'name':_0x56d7ef[_0x3e5b('0x3d')],'type':_0x56d7ef[_0x3e5b('0x35')][_0x3e5b('0x3e')]};});_0x5a75b9[_0x3e5b('0x3f')]=_['map'](_0xec45c5,_0x3e5b('0x36'));_0x5a75b9['query']=_[_0x3e5b('0x40')](_0x7917ef['query']);_0x5a75b9['filters']=_['intersection'](_0x5a75b9[_0x3e5b('0x3f')],_0x5a75b9[_0x3e5b('0x41')]);_0x1506f5[_0x3e5b('0x42')]=_[_0x3e5b('0x43')](_0x5a75b9[_0x3e5b('0x3f')],qs[_0x3e5b('0x44')](_0x7917ef['query']['fields']));_0x1506f5['attributes']=_0x1506f5['attributes']['length']?_0x1506f5['attributes']:_0x5a75b9['model'];if(!_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x45')](_0x3e5b('0x46'))){_0x1506f5[_0x3e5b('0x22')]=qs[_0x3e5b('0x22')](_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x22')]);_0x1506f5[_0x3e5b('0x1f')]=qs[_0x3e5b('0x1f')](_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x1f')]);}_0x1506f5['order']=qs[_0x3e5b('0x47')](_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x47')]);_0x1506f5[_0x3e5b('0x48')]=qs[_0x3e5b('0x49')](_[_0x3e5b('0x4a')](_0x7917ef[_0x3e5b('0x41')],_0x5a75b9[_0x3e5b('0x49')]),_0xec45c5);if(_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x30')]){_0x1506f5[_0x3e5b('0x48')]=_['merge'](_0x1506f5['where'],{'$or':_['map'](_0xec45c5,function(_0x4a6c66){if(_0x4a6c66[_0x3e5b('0x35')]!==_0x3e5b('0x4b')){var _0x9fc025={};_0x9fc025[_0x4a6c66[_0x3e5b('0x36')]]={'$like':'%'+_0x7917ef[_0x3e5b('0x41')][_0x3e5b('0x30')]+'%'};return _0x9fc025;}})});}_0x1506f5=_[_0x3e5b('0x4c')]({},_0x1506f5,_0x7917ef[_0x3e5b('0x4d')]);var _0x40ae05={'where':_0x1506f5[_0x3e5b('0x48')]};return db['VoiceExtension'][_0x3e5b('0x21')](_0x40ae05)[_0x3e5b('0x2a')](function(_0x28f92a){_0x141b7e[_0x3e5b('0x21')]=_0x28f92a;if(_0x7917ef[_0x3e5b('0x41')]['includeAll']){_0x1506f5['include']=[{'all':!![]}];}return db['VoiceExtension'][_0x3e5b('0x4e')](_0x1506f5);})[_0x3e5b('0x2a')](function(_0x3b2319){_0x141b7e['rows']=_0x3b2319;return _0x141b7e;})['then'](respondWithFilteredResult(_0x3104e6,_0x1506f5))[_0x3e5b('0x4f')](handleError(_0x3104e6,null));};exports[_0x3e5b('0x50')]=function(_0x123947,_0x5acf51){var _0x514501={'raw':![],'where':{'id':_0x123947['params']['id']}},_0x467211={};_0x467211[_0x3e5b('0x3f')]=_[_0x3e5b('0x40')](db[_0x3e5b('0x51')][_0x3e5b('0x3c')]);_0x467211[_0x3e5b('0x41')]=_[_0x3e5b('0x40')](_0x123947[_0x3e5b('0x41')]);_0x467211[_0x3e5b('0x49')]=_[_0x3e5b('0x43')](_0x467211['model'],_0x467211[_0x3e5b('0x41')]);_0x514501['attributes']=_[_0x3e5b('0x43')](_0x467211[_0x3e5b('0x3f')],qs[_0x3e5b('0x44')](_0x123947[_0x3e5b('0x41')][_0x3e5b('0x44')]));_0x514501[_0x3e5b('0x42')]=_0x514501[_0x3e5b('0x42')][_0x3e5b('0x52')]?_0x514501[_0x3e5b('0x42')]:_0x467211[_0x3e5b('0x3f')];if(_0x123947[_0x3e5b('0x41')][_0x3e5b('0x53')]){_0x514501[_0x3e5b('0x54')]=[{'all':!![]}];}_0x514501=_['merge']({},_0x514501,_0x123947[_0x3e5b('0x4d')]);return db[_0x3e5b('0x51')][_0x3e5b('0x55')](_0x514501)[_0x3e5b('0x2a')](handleEntityNotFound(_0x5acf51,null))[_0x3e5b('0x2a')](respondWithResult(_0x5acf51,null))[_0x3e5b('0x4f')](handleError(_0x5acf51,null));};exports['destroy']=function(_0x131af1,_0x1cbdf7){return db[_0x3e5b('0x51')][_0x3e5b('0x55')]({'where':{'id':_0x131af1[_0x3e5b('0x56')]['id']}})[_0x3e5b('0x2a')](handleEntityNotFound(_0x1cbdf7,null))[_0x3e5b('0x2a')](removeEntity(_0x1cbdf7,null))[_0x3e5b('0x4f')](handleError(_0x1cbdf7,null));};exports['create']=function(_0x1e6403,_0x5e702f){if(_0x1e6403['body'][_0x3e5b('0x35')]==='outbound'&&!_[_0x3e5b('0x57')](_0x1e6403[_0x3e5b('0x58')][_0x3e5b('0x59')],'_')){_0x1e6403[_0x3e5b('0x58')]['exten']='_'['concat'](_0x1e6403['body']['exten']);}return db[_0x3e5b('0x51')][_0x3e5b('0x5a')](_0x1e6403[_0x3e5b('0x58')],{'raw':![]})[_0x3e5b('0x2a')](function(_0x14aa11){var _0x5b4c6c=_0x1e6403['user'][_0x3e5b('0x2b')]({'plain':!![]});if(!_0x5b4c6c)throw new Error(_0x3e5b('0x5b'));if(_0x5b4c6c[_0x3e5b('0x5c')]===_0x3e5b('0x5d')){var _0x3db8bd=_0x14aa11['get']({'plain':!![]});var _0x4f7337=[{'name':'InboundRoutes','value':'inbound'},{'name':_0x3e5b('0x2d'),'value':_0x3e5b('0x5e')},{'name':_0x3e5b('0x2e'),'value':_0x3e5b('0x2f')}];var _0x424a3d=_[_0x3e5b('0x55')](_0x4f7337,[_0x3e5b('0x33'),_0x3db8bd[_0x3e5b('0x35')]])['name'];return db[_0x3e5b('0x5f')][_0x3e5b('0x55')]({'where':{'name':_0x424a3d,'userProfileId':_0x5b4c6c[_0x3e5b('0x60')]},'raw':!![]})[_0x3e5b('0x2a')](function(_0x2d2c1e){if(_0x2d2c1e&&_0x2d2c1e['autoAssociation']===0x0){return db[_0x3e5b('0x37')]['create']({'name':_0x3db8bd[_0x3e5b('0x36')],'resourceId':_0x3db8bd['id'],'type':_0x2d2c1e[_0x3e5b('0x36')],'sectionId':_0x2d2c1e['id']},{})['then'](function(){return _0x14aa11;});}else{return _0x14aa11;}})['catch'](function(_0x570303){logger[_0x3e5b('0x38')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x570303);throw _0x570303;});}return _0x14aa11;})[_0x3e5b('0x2a')](respondWithResult(_0x5e702f,0xc9))[_0x3e5b('0x4f')](handleError(_0x5e702f,null));};exports[_0x3e5b('0x28')]=function(_0x40197c,_0x14f187){if(_0x40197c['body']['id']){delete _0x40197c['body']['id'];}return db[_0x3e5b('0x51')][_0x3e5b('0x55')]({'where':{'id':_0x40197c[_0x3e5b('0x56')]['id']}})['then'](handleEntityNotFound(_0x14f187,null))[_0x3e5b('0x2a')](function(_0x3c5293){if(_0x3c5293){return db[_0x3e5b('0x51')][_0x3e5b('0x28')](_[_0x3e5b('0x4a')](_0x40197c[_0x3e5b('0x58')],[_0x3e5b('0x59'),_0x3e5b('0x61'),_0x3e5b('0x62'),_0x3e5b('0x63'),_0x3e5b('0x64'),_0x3e5b('0x65')]),{'where':{'context':_0x3c5293[_0x3e5b('0x61')],'exten':_0x3c5293[_0x3e5b('0x59')]},'individualHooks':!![]})[_0x3e5b('0x2a')](function(_0x2411c3){return _0x2411c3;});}return null;})[_0x3e5b('0x2a')](respondWithStatusCode(_0x14f187,null))[_0x3e5b('0x4f')](handleError(_0x14f187,null));};exports['addApplications']=function(_0xe5d4c5,_0x360303,_0x5af305){return db[_0x3e5b('0x51')][_0x3e5b('0x66')]({'where':{'id':_0xe5d4c5['params']['id']}})['then'](handleEntityNotFound(_0x360303,null))['then'](function(_0x23edae){if(_0x23edae){return db[_0x3e5b('0x67')]['transaction'](function(_0x2929ba){return db[_0x3e5b('0x51')]['destroy']({'where':{'VoiceExtensionId':_0xe5d4c5[_0x3e5b('0x56')]['id']},'transaction':_0x2929ba})[_0x3e5b('0x2a')](function(_0x43f28f){var _0x324988=_[_0x3e5b('0x32')](_0xe5d4c5[_0x3e5b('0x58')],function(_0x5891fe){_0x5891fe[_0x3e5b('0x68')]=_0xe5d4c5[_0x3e5b('0x56')]['id'];return _0x5891fe;});return db['VoiceExtension'][_0x3e5b('0x69')](_0x324988,{'transaction':_0x2929ba});});})[_0x3e5b('0x2a')](function(){return db[_0x3e5b('0x51')][_0x3e5b('0x6a')]({'where':{'isApp':!![],'VoiceExtensionId':_0xe5d4c5[_0x3e5b('0x56')]['id']},'order':_0x3e5b('0x6b')});});}})[_0x3e5b('0x2a')](respondWithResult(_0x360303,null))['catch'](handleError(_0x360303,null));};
\ No newline at end of file
+var _0x4201=['set','Content-Range','destroy','get','InboundRoutes','inbound','outbound','InternalRoutes','internal','filter','ignore','map','value','includes','find','type','UserProfileResource','then','stack','name','send','VoiceExtension','fieldName','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filters','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','length','catch','create','body','startsWith','exten','concat','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','description','recordingFormat','alias','addApplications','sequelize','transaction','Transaction','READ_COMMITTED','VoiceExtensionId','createRouting','findAndCountAll','cast(priority\x20as\x20unsigned)','finally','lodash','../../config/logger','api','../../config/environment','redis','localhost','socket.io-emitter','./voiceExtension.socket','register','end','status','json','offset','undefined','limit','count'];(function(_0x48999d,_0x1e02cb){var _0x1ad0d1=function(_0x3f974e){while(--_0x3f974e){_0x48999d['push'](_0x48999d['shift']());}};_0x1ad0d1(++_0x1e02cb);}(_0x4201,0xa6));var _0x1420=function(_0x2bcd1f,_0x4f1972){_0x2bcd1f=_0x2bcd1f-0x0;var _0x2381ca=_0x4201[_0x2bcd1f];return _0x2381ca;};'use strict';var _=require(_0x1420('0x0'));var Redis=require('ioredis');var qs=require('../../components/parsers/qs');var logger=require(_0x1420('0x1'))(_0x1420('0x2'));var config=require(_0x1420('0x3'));var db=require('../../mysqldb')['db'];config[_0x1420('0x4')]=_['defaults'](config[_0x1420('0x4')],{'host':_0x1420('0x5'),'port':0x18eb});var socket=require(_0x1420('0x6'))(new Redis(config['redis']));require(_0x1420('0x7'))[_0x1420('0x8')](socket);function respondWithStatusCode(_0x420a00,_0x425782){_0x425782=_0x425782||0xcc;return function(_0x55facb){if(_0x55facb){return _0x420a00['sendStatus'](_0x425782);}return _0x420a00['status'](_0x425782)[_0x1420('0x9')]();};}function respondWithResult(_0x336936,_0x434cde){_0x434cde=_0x434cde||0xc8;return function(_0x5ebf2a){if(_0x5ebf2a){return _0x336936[_0x1420('0xa')](_0x434cde)[_0x1420('0xb')](_0x5ebf2a);}};}function respondWithFilteredResult(_0x4df520,_0x112315){return function(_0x421939){if(_0x421939){var _0x3a9c84=typeof _0x112315[_0x1420('0xc')]===_0x1420('0xd')&&typeof _0x112315[_0x1420('0xe')]===_0x1420('0xd');var _0x4859e7=_0x421939[_0x1420('0xf')];var _0x5a159c=_0x3a9c84?0x0:_0x112315[_0x1420('0xc')];var _0x48606d=_0x3a9c84?_0x421939[_0x1420('0xf')]:_0x112315[_0x1420('0xc')]+_0x112315[_0x1420('0xe')];var _0x43f0aa;if(_0x48606d>=_0x4859e7){_0x48606d=_0x4859e7;_0x43f0aa=0xc8;}else{_0x43f0aa=0xce;}_0x4df520[_0x1420('0xa')](_0x43f0aa);return _0x4df520[_0x1420('0x10')](_0x1420('0x11'),_0x5a159c+'-'+_0x48606d+'/'+_0x4859e7)[_0x1420('0xb')](_0x421939);}return null;};}function removeEntity(_0x92cb47){return function(_0x4e7cdd){if(_0x4e7cdd){return _0x4e7cdd[_0x1420('0x12')]()['then'](function(){var _0x2a1165=_0x4e7cdd[_0x1420('0x13')]({'plain':!![]});var _0x213bf8=[{'name':_0x1420('0x14'),'value':_0x1420('0x15'),'ignore':![]},{'name':'OutboundRoutes','value':_0x1420('0x16'),'ignore':![]},{'name':_0x1420('0x17'),'value':_0x1420('0x18'),'ignore':![]}];var _0x559cf0=_(_0x213bf8)[_0x1420('0x19')](_0x1420('0x1a'))[_0x1420('0x1b')]('value')[_0x1420('0x1c')]();if(_[_0x1420('0x1d')](_0x559cf0,_0x2a1165['type'])){return;}var _0xb504e3=_[_0x1420('0x1e')](_0x213bf8,[_0x1420('0x1c'),_0x2a1165[_0x1420('0x1f')]])['name'];return db[_0x1420('0x20')][_0x1420('0x12')]({'where':{'type':_0xb504e3,'resourceId':_0x2a1165['id']}})[_0x1420('0x21')](function(){return _0x4e7cdd;});})[_0x1420('0x21')](function(){_0x92cb47[_0x1420('0xa')](0xcc)[_0x1420('0x9')]();});}};}function handleEntityNotFound(_0x4223ed){return function(_0x49b2aa){if(!_0x49b2aa){_0x4223ed['sendStatus'](0x194);}return _0x49b2aa;};}function handleError(_0x54702f,_0x1da04f){_0x1da04f=_0x1da04f||0x1f4;return function(_0x2c2560){logger['error'](_0x2c2560[_0x1420('0x22')]);if(_0x2c2560['name']){delete _0x2c2560[_0x1420('0x23')];}_0x54702f['status'](_0x1da04f)[_0x1420('0x24')](_0x2c2560);};}exports['index']=function(_0x3fc020,_0x2aae4f){var _0x1cff93={},_0xff6157={},_0x267668={'count':0x0,'rows':[]};var _0x40fd15=_[_0x1420('0x1b')](db[_0x1420('0x25')]['rawAttributes'],function(_0x4e147f){return{'name':_0x4e147f[_0x1420('0x26')],'type':_0x4e147f[_0x1420('0x1f')][_0x1420('0x27')]};});_0xff6157[_0x1420('0x28')]=_[_0x1420('0x1b')](_0x40fd15,_0x1420('0x23'));_0xff6157[_0x1420('0x29')]=_[_0x1420('0x2a')](_0x3fc020[_0x1420('0x29')]);_0xff6157['filters']=_[_0x1420('0x2b')](_0xff6157['model'],_0xff6157['query']);_0x1cff93[_0x1420('0x2c')]=_[_0x1420('0x2b')](_0xff6157['model'],qs[_0x1420('0x2d')](_0x3fc020[_0x1420('0x29')]['fields']));_0x1cff93[_0x1420('0x2c')]=_0x1cff93['attributes']['length']?_0x1cff93[_0x1420('0x2c')]:_0xff6157[_0x1420('0x28')];if(!_0x3fc020[_0x1420('0x29')][_0x1420('0x2e')](_0x1420('0x2f'))){_0x1cff93['limit']=qs['limit'](_0x3fc020[_0x1420('0x29')]['limit']);_0x1cff93['offset']=qs[_0x1420('0xc')](_0x3fc020[_0x1420('0x29')][_0x1420('0xc')]);}_0x1cff93[_0x1420('0x30')]=qs[_0x1420('0x31')](_0x3fc020[_0x1420('0x29')][_0x1420('0x31')]);_0x1cff93['where']=qs['filters'](_[_0x1420('0x32')](_0x3fc020[_0x1420('0x29')],_0xff6157[_0x1420('0x33')]),_0x40fd15);if(_0x3fc020['query'][_0x1420('0x19')]){_0x1cff93[_0x1420('0x34')]=_['merge'](_0x1cff93[_0x1420('0x34')],{'$or':_[_0x1420('0x1b')](_0x40fd15,function(_0x5cb9a1){if(_0x5cb9a1[_0x1420('0x1f')]!==_0x1420('0x35')){var _0x3b06eb={};_0x3b06eb[_0x5cb9a1['name']]={'$like':'%'+_0x3fc020[_0x1420('0x29')]['filter']+'%'};return _0x3b06eb;}})});}_0x1cff93=_[_0x1420('0x36')]({},_0x1cff93,_0x3fc020[_0x1420('0x37')]);var _0x5be90a={'where':_0x1cff93[_0x1420('0x34')]};return db[_0x1420('0x25')][_0x1420('0xf')](_0x5be90a)[_0x1420('0x21')](function(_0x563160){_0x267668[_0x1420('0xf')]=_0x563160;if(_0x3fc020[_0x1420('0x29')][_0x1420('0x38')]){_0x1cff93[_0x1420('0x39')]=[{'all':!![]}];}return db[_0x1420('0x25')][_0x1420('0x3a')](_0x1cff93);})[_0x1420('0x21')](function(_0x20abba){_0x267668[_0x1420('0x3b')]=_0x20abba;return _0x267668;})[_0x1420('0x21')](respondWithFilteredResult(_0x2aae4f,_0x1cff93))['catch'](handleError(_0x2aae4f,null));};exports[_0x1420('0x3c')]=function(_0x2eda3d,_0x447e1d){var _0x67c21b={'raw':![],'where':{'id':_0x2eda3d[_0x1420('0x3d')]['id']}},_0x44480d={};_0x44480d['model']=_['keys'](db['VoiceExtension']['rawAttributes']);_0x44480d['query']=_[_0x1420('0x2a')](_0x2eda3d[_0x1420('0x29')]);_0x44480d['filters']=_[_0x1420('0x2b')](_0x44480d['model'],_0x44480d[_0x1420('0x29')]);_0x67c21b[_0x1420('0x2c')]=_['intersection'](_0x44480d['model'],qs[_0x1420('0x2d')](_0x2eda3d[_0x1420('0x29')][_0x1420('0x2d')]));_0x67c21b[_0x1420('0x2c')]=_0x67c21b['attributes'][_0x1420('0x3e')]?_0x67c21b[_0x1420('0x2c')]:_0x44480d[_0x1420('0x28')];if(_0x2eda3d[_0x1420('0x29')]['includeAll']){_0x67c21b['include']=[{'all':!![]}];}_0x67c21b=_[_0x1420('0x36')]({},_0x67c21b,_0x2eda3d[_0x1420('0x37')]);return db[_0x1420('0x25')][_0x1420('0x1e')](_0x67c21b)[_0x1420('0x21')](handleEntityNotFound(_0x447e1d,null))[_0x1420('0x21')](respondWithResult(_0x447e1d,null))['catch'](handleError(_0x447e1d,null));};exports[_0x1420('0x12')]=function(_0xf4d537,_0x5a47a1){return db[_0x1420('0x25')][_0x1420('0x1e')]({'where':{'id':_0xf4d537[_0x1420('0x3d')]['id']}})[_0x1420('0x21')](handleEntityNotFound(_0x5a47a1,null))[_0x1420('0x21')](removeEntity(_0x5a47a1,null))[_0x1420('0x3f')](handleError(_0x5a47a1,null));};exports[_0x1420('0x40')]=function(_0x4571fc,_0x255e48){if(_0x4571fc[_0x1420('0x41')][_0x1420('0x1f')]===_0x1420('0x16')&&!_[_0x1420('0x42')](_0x4571fc['body'][_0x1420('0x43')],'_')){_0x4571fc[_0x1420('0x41')][_0x1420('0x43')]='_'[_0x1420('0x44')](_0x4571fc[_0x1420('0x41')]['exten']);}return db[_0x1420('0x25')]['create'](_0x4571fc['body'],{'raw':![]})['then'](function(_0x376f8c){var _0x23e48c=_0x4571fc['user'][_0x1420('0x13')]({'plain':!![]});if(!_0x23e48c)throw new Error(_0x1420('0x45'));if(_0x23e48c[_0x1420('0x46')]===_0x1420('0x47')){var _0x495d86=_0x376f8c[_0x1420('0x13')]({'plain':!![]});var _0x7ca1d2=[{'name':'InboundRoutes','value':_0x1420('0x15')},{'name':'OutboundRoutes','value':_0x1420('0x16')},{'name':'InternalRoutes','value':_0x1420('0x18')}];var _0x2cad72=_[_0x1420('0x1e')](_0x7ca1d2,[_0x1420('0x1c'),_0x495d86['type']])['name'];return db[_0x1420('0x48')][_0x1420('0x1e')]({'where':{'name':_0x2cad72,'userProfileId':_0x23e48c[_0x1420('0x49')]},'raw':!![]})[_0x1420('0x21')](function(_0x45150b){if(_0x45150b&&_0x45150b[_0x1420('0x4a')]===0x0){return db[_0x1420('0x20')][_0x1420('0x40')]({'name':_0x495d86['name'],'resourceId':_0x495d86['id'],'type':_0x45150b['name'],'sectionId':_0x45150b['id']},{})[_0x1420('0x21')](function(){return _0x376f8c;});}else{return _0x376f8c;}})['catch'](function(_0x3f590b){logger[_0x1420('0x4b')](_0x1420('0x4c'),_0x3f590b);throw _0x3f590b;});}return _0x376f8c;})[_0x1420('0x21')](respondWithResult(_0x255e48,0xc9))[_0x1420('0x3f')](handleError(_0x255e48,null));};exports['update']=function(_0x52af5f,_0x56a37e){if(_0x52af5f[_0x1420('0x41')]['id']){delete _0x52af5f[_0x1420('0x41')]['id'];}return db[_0x1420('0x25')][_0x1420('0x1e')]({'where':{'id':_0x52af5f[_0x1420('0x3d')]['id']}})['then'](handleEntityNotFound(_0x56a37e,null))[_0x1420('0x21')](function(_0x50ddb7){if(_0x50ddb7){return db['VoiceExtension']['update'](_[_0x1420('0x32')](_0x52af5f[_0x1420('0x41')],['exten',_0x1420('0x4d'),_0x1420('0x4e'),_0x1420('0x4f'),'cutdigits','mandatoryDisposition',_0x1420('0x50')]),{'where':{'context':_0x50ddb7[_0x1420('0x4d')],'exten':_0x50ddb7['exten']},'individualHooks':!![]})[_0x1420('0x21')](function(_0x55ecd4){return _0x55ecd4;});}return null;})['then'](respondWithStatusCode(_0x56a37e,null))[_0x1420('0x3f')](handleError(_0x56a37e,null));};exports[_0x1420('0x51')]=function(_0x2f1760,_0x5bf072){var _0x5c558e=_0x2f1760[_0x1420('0x3d')]['id'];var _0x103185=_0x2f1760[_0x1420('0x41')];var _0x22094a=0xc8;var _0x81843d=null;return db[_0x1420('0x52')][_0x1420('0x53')]({'isolationLevel':db['sequelize'][_0x1420('0x54')]['ISOLATION_LEVELS'][_0x1420('0x55')]},function(_0x31ef8f){return db[_0x1420('0x25')]['findOne']({'where':{'id':_0x5c558e},'transaction':_0x31ef8f})[_0x1420('0x21')](function(_0x318dad){if(_0x318dad){return db[_0x1420('0x25')][_0x1420('0x12')]({'where':{'VoiceExtensionId':_0x5c558e},'transaction':_0x31ef8f})[_0x1420('0x21')](function(){var _0x4341b5=_[_0x1420('0x1b')](_0x103185,function(_0x3a74d5){_0x3a74d5[_0x1420('0x56')]=_0x5c558e;_0x3a74d5['isApp']=!![];return _0x3a74d5;});return _0x318dad[_0x1420('0x57')](_0x4341b5);})[_0x1420('0x21')](function(_0x194a46){return db[_0x1420('0x25')]['bulkCreate'](_0x194a46,{'transaction':_0x31ef8f});});}else{_0x22094a=0x194;_0x81843d=[];}});})[_0x1420('0x21')](function(){if(_0x22094a!==0x194){return db[_0x1420('0x25')][_0x1420('0x58')]({'where':{'isApp':!![],'VoiceExtensionId':_0x5c558e},'order':_0x1420('0x59')})[_0x1420('0x21')](function(_0x3c3d6b){_0x81843d=_0x3c3d6b;});}})['catch'](function(_0x4f3a9e){_0x22094a=0x1f4;logger[_0x1420('0x4b')](_0x4f3a9e[_0x1420('0x22')]);if(_0x4f3a9e['name']){delete _0x4f3a9e[_0x1420('0x23')];}_0x81843d=_0x4f3a9e;})[_0x1420('0x5a')](function(){if(_0x81843d===null){_0x5bf072['sendStatus'](_0x22094a);}else{if(_0x22094a===0x1f4){_0x5bf072[_0x1420('0xa')](_0x22094a)[_0x1420('0x24')](_0x81843d);}else{_0x5bf072[_0x1420('0xa')](_0x22094a)[_0x1420('0xb')](_0x81843d);}}});};
\ No newline at end of file