Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / voiceExtension / voiceExtension.controller.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 _0x2c66=['findAll','rows','params','rawAttributes','catch','create','body','exten','concat','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','InternalRoutes','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','context','description','addApplications','findOne','VoiceExtensionId','bulkCreate','findAndCountAll','cast(priority\x20as\x20unsigned)','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','./voiceExtension.socket','register','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','then','InboundRoutes','inbound','OutboundRoutes','outbound','internal','ignore','map','value','includes','type','find','name','UserProfileResource','destroy','error','send','index','fieldName','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filters','pick','merge','where','VIRTUAL','filter','options','VoiceExtension','includeAll','include'];(function(_0x499e2e,_0xb067ad){var _0x4bfc13=function(_0xf16a1c){while(--_0xf16a1c){_0x499e2e['push'](_0x499e2e['shift']());}};_0x4bfc13(++_0xb067ad);}(_0x2c66,0xf3));var _0x62c6=function(_0x360d26,_0x700e92){_0x360d26=_0x360d26-0x0;var _0x180eef=_0x2c66[_0x360d26];return _0x180eef;};'use strict';var pdf=require(_0x62c6('0x0'));var emlformat=require(_0x62c6('0x1'));var rimraf=require(_0x62c6('0x2'));var zipdir=require(_0x62c6('0x3'));var jsonpatch=require(_0x62c6('0x4'));var rp=require(_0x62c6('0x5'));var moment=require(_0x62c6('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x62c6('0x7'));var path=require(_0x62c6('0x8'));var sox=require('sox');var csv=require(_0x62c6('0x9'));var ejs=require(_0x62c6('0xa'));var fs=require('fs');var _=require(_0x62c6('0xb'));var squel=require(_0x62c6('0xc'));var crypto=require(_0x62c6('0xd'));var jsforce=require(_0x62c6('0xe'));var deskjs=require(_0x62c6('0xf'));var toCsv=require(_0x62c6('0x9'));var querystring=require(_0x62c6('0x10'));var Papa=require('papaparse');var Redis=require(_0x62c6('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x62c6('0x12'));var as=require(_0x62c6('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x62c6('0x14'))(_0x62c6('0x15'));var utils=require(_0x62c6('0x16'));var config=require(_0x62c6('0x17'));var licenseUtil=require(_0x62c6('0x18'));var db=require(_0x62c6('0x19'))['db'];config[_0x62c6('0x1a')]=_['defaults'](config[_0x62c6('0x1a')],{'host':_0x62c6('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x62c6('0x1a')]));require(_0x62c6('0x1c'))[_0x62c6('0x1d')](socket);function respondWithStatusCode(_0x20f1ff,_0x54211e){_0x54211e=_0x54211e||0xcc;return function(_0x3af7bc){if(_0x3af7bc){return _0x20f1ff[_0x62c6('0x1e')](_0x54211e);}return _0x20f1ff[_0x62c6('0x1f')](_0x54211e)[_0x62c6('0x20')]();};}function respondWithResult(_0x240a7c,_0x4ba98f){_0x4ba98f=_0x4ba98f||0xc8;return function(_0x1b5aa2){if(_0x1b5aa2){return _0x240a7c[_0x62c6('0x1f')](_0x4ba98f)[_0x62c6('0x21')](_0x1b5aa2);}};}function respondWithFilteredResult(_0xeb03aa,_0x1142ce){return function(_0x1bc3c4){if(_0x1bc3c4){var _0x66bb95=_0x1bc3c4[_0x62c6('0x22')],_0x5704cc=_0x1142ce[_0x62c6('0x23')],_0x29c983=_0x1142ce[_0x62c6('0x23')]+_0x1142ce[_0x62c6('0x24')],_0x1011a9;if(_0x29c983>=_0x66bb95){_0x29c983=_0x66bb95;_0x1011a9=0xc8;}else{_0x1011a9=0xce;}_0xeb03aa['status'](_0x1011a9);return _0xeb03aa['set'](_0x62c6('0x25'),_0x5704cc+'-'+_0x29c983+'/'+_0x66bb95)[_0x62c6('0x21')](_0x1bc3c4);}return null;};}function patchUpdates(_0x4c741d){return function(_0x1643ed){try{jsonpatch[_0x62c6('0x26')](_0x1643ed,_0x4c741d,!![]);}catch(_0xdb0e39){return BPromise[_0x62c6('0x27')](_0xdb0e39);}return _0x1643ed['save']();};}function saveUpdates(_0x3b9a39,_0x2e84e6){return function(_0x3f4c99){if(_0x3f4c99){return _0x3f4c99['update'](_0x3b9a39)[_0x62c6('0x28')](function(_0x392517){return _0x392517;});}return null;};}function removeEntity(_0x280ff4,_0x399919){return function(_0x28f3a1){if(_0x28f3a1){return _0x28f3a1['destroy']()[_0x62c6('0x28')](function(){var _0x4824d1=_0x28f3a1['get']({'plain':!![]});var _0x162c20=[{'name':_0x62c6('0x29'),'value':_0x62c6('0x2a'),'ignore':![]},{'name':_0x62c6('0x2b'),'value':_0x62c6('0x2c'),'ignore':![]},{'name':'InternalRoutes','value':_0x62c6('0x2d'),'ignore':![]}];var _0x9cde11=_(_0x162c20)['filter'](_0x62c6('0x2e'))[_0x62c6('0x2f')](_0x62c6('0x30'))[_0x62c6('0x30')]();if(_[_0x62c6('0x31')](_0x9cde11,_0x4824d1[_0x62c6('0x32')])){return;}var _0x29d395=_[_0x62c6('0x33')](_0x162c20,[_0x62c6('0x30'),_0x4824d1[_0x62c6('0x32')]])[_0x62c6('0x34')];return db[_0x62c6('0x35')][_0x62c6('0x36')]({'where':{'type':_0x29d395,'resourceId':_0x4824d1['id']}})[_0x62c6('0x28')](function(){return _0x28f3a1;});})['then'](function(){_0x280ff4[_0x62c6('0x1f')](0xcc)[_0x62c6('0x20')]();});}};}function handleEntityNotFound(_0x54cd0c,_0x47d004){return function(_0x36fc66){if(!_0x36fc66){_0x54cd0c[_0x62c6('0x1e')](0x194);}return _0x36fc66;};}function handleError(_0x345149,_0x5ce58e){_0x5ce58e=_0x5ce58e||0x1f4;return function(_0x4138d3){logger[_0x62c6('0x37')](_0x4138d3['stack']);if(_0x4138d3[_0x62c6('0x34')]){delete _0x4138d3[_0x62c6('0x34')];}_0x345149[_0x62c6('0x1f')](_0x5ce58e)[_0x62c6('0x38')](_0x4138d3);};}exports[_0x62c6('0x39')]=function(_0x4d83af,_0x1c8ad8){var _0x45e0f5={},_0x547792={},_0x3857e0={'count':0x0,'rows':[]};var _0x5e2680=_[_0x62c6('0x2f')](db['VoiceExtension']['rawAttributes'],function(_0x4e49cd){return{'name':_0x4e49cd[_0x62c6('0x3a')],'type':_0x4e49cd['type'][_0x62c6('0x3b')]};});_0x547792[_0x62c6('0x3c')]=_[_0x62c6('0x2f')](_0x5e2680,_0x62c6('0x34'));_0x547792[_0x62c6('0x3d')]=_[_0x62c6('0x3e')](_0x4d83af[_0x62c6('0x3d')]);_0x547792['filters']=_[_0x62c6('0x3f')](_0x547792[_0x62c6('0x3c')],_0x547792[_0x62c6('0x3d')]);_0x45e0f5['attributes']=_[_0x62c6('0x3f')](_0x547792['model'],qs[_0x62c6('0x40')](_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x40')]));_0x45e0f5[_0x62c6('0x41')]=_0x45e0f5['attributes'][_0x62c6('0x42')]?_0x45e0f5['attributes']:_0x547792[_0x62c6('0x3c')];if(!_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x43')](_0x62c6('0x44'))){_0x45e0f5['limit']=qs[_0x62c6('0x24')](_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x24')]);_0x45e0f5[_0x62c6('0x23')]=qs['offset'](_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x23')]);}_0x45e0f5[_0x62c6('0x45')]=qs[_0x62c6('0x46')](_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x46')]);_0x45e0f5['where']=qs[_0x62c6('0x47')](_[_0x62c6('0x48')](_0x4d83af[_0x62c6('0x3d')],_0x547792[_0x62c6('0x47')]),_0x5e2680);if(_0x4d83af[_0x62c6('0x3d')]['filter']){_0x45e0f5['where']=_[_0x62c6('0x49')](_0x45e0f5[_0x62c6('0x4a')],{'$or':_[_0x62c6('0x2f')](_0x5e2680,function(_0x5a8682){if(_0x5a8682[_0x62c6('0x32')]!==_0x62c6('0x4b')){var _0x2c0b19={};_0x2c0b19[_0x5a8682['name']]={'$like':'%'+_0x4d83af['query'][_0x62c6('0x4c')]+'%'};return _0x2c0b19;}})});}_0x45e0f5=_['merge']({},_0x45e0f5,_0x4d83af[_0x62c6('0x4d')]);var _0x5e52f3={'where':_0x45e0f5[_0x62c6('0x4a')]};return db[_0x62c6('0x4e')][_0x62c6('0x22')](_0x5e52f3)['then'](function(_0x311496){_0x3857e0[_0x62c6('0x22')]=_0x311496;if(_0x4d83af[_0x62c6('0x3d')][_0x62c6('0x4f')]){_0x45e0f5[_0x62c6('0x50')]=[{'all':!![]}];}return db[_0x62c6('0x4e')][_0x62c6('0x51')](_0x45e0f5);})['then'](function(_0x36acd5){_0x3857e0[_0x62c6('0x52')]=_0x36acd5;return _0x3857e0;})[_0x62c6('0x28')](respondWithFilteredResult(_0x1c8ad8,_0x45e0f5))['catch'](handleError(_0x1c8ad8,null));};exports['show']=function(_0xbe9863,_0x26972a){var _0x4383d4={'raw':![],'where':{'id':_0xbe9863[_0x62c6('0x53')]['id']}},_0x139a6f={};_0x139a6f[_0x62c6('0x3c')]=_['keys'](db[_0x62c6('0x4e')][_0x62c6('0x54')]);_0x139a6f[_0x62c6('0x3d')]=_['keys'](_0xbe9863[_0x62c6('0x3d')]);_0x139a6f['filters']=_['intersection'](_0x139a6f[_0x62c6('0x3c')],_0x139a6f['query']);_0x4383d4[_0x62c6('0x41')]=_[_0x62c6('0x3f')](_0x139a6f[_0x62c6('0x3c')],qs[_0x62c6('0x40')](_0xbe9863[_0x62c6('0x3d')]['fields']));_0x4383d4[_0x62c6('0x41')]=_0x4383d4[_0x62c6('0x41')]['length']?_0x4383d4[_0x62c6('0x41')]:_0x139a6f['model'];if(_0xbe9863[_0x62c6('0x3d')]['includeAll']){_0x4383d4['include']=[{'all':!![]}];}_0x4383d4=_[_0x62c6('0x49')]({},_0x4383d4,_0xbe9863['options']);return db[_0x62c6('0x4e')][_0x62c6('0x33')](_0x4383d4)[_0x62c6('0x28')](handleEntityNotFound(_0x26972a,null))[_0x62c6('0x28')](respondWithResult(_0x26972a,null))[_0x62c6('0x55')](handleError(_0x26972a,null));};exports[_0x62c6('0x36')]=function(_0xe881df,_0x319e2c){return db[_0x62c6('0x4e')][_0x62c6('0x33')]({'where':{'id':_0xe881df[_0x62c6('0x53')]['id']}})[_0x62c6('0x28')](handleEntityNotFound(_0x319e2c,null))['then'](removeEntity(_0x319e2c,null))['catch'](handleError(_0x319e2c,null));};exports[_0x62c6('0x56')]=function(_0x148ce7,_0x42498e){if(_0x148ce7[_0x62c6('0x57')][_0x62c6('0x32')]===_0x62c6('0x2c')&&!_['startsWith'](_0x148ce7['body'][_0x62c6('0x58')],'_')){_0x148ce7['body']['exten']='_'[_0x62c6('0x59')](_0x148ce7[_0x62c6('0x57')][_0x62c6('0x58')]);}return db[_0x62c6('0x4e')][_0x62c6('0x56')](_0x148ce7[_0x62c6('0x57')],{'raw':![]})['then'](function(_0x9ce00a){var _0x29083f=_0x148ce7[_0x62c6('0x5a')][_0x62c6('0x5b')]({'plain':!![]});if(!_0x29083f)throw new Error(_0x62c6('0x5c'));if(_0x29083f[_0x62c6('0x5d')]===_0x62c6('0x5a')){var _0x209c36=_0x9ce00a['get']({'plain':!![]});var _0x444c26=[{'name':_0x62c6('0x29'),'value':_0x62c6('0x2a')},{'name':_0x62c6('0x2b'),'value':_0x62c6('0x2c')},{'name':_0x62c6('0x5e'),'value':'internal'}];var _0x55c7fc=_[_0x62c6('0x33')](_0x444c26,[_0x62c6('0x30'),_0x209c36[_0x62c6('0x32')]])['name'];return db[_0x62c6('0x5f')]['find']({'where':{'name':_0x55c7fc,'userProfileId':_0x29083f[_0x62c6('0x60')]},'raw':!![]})[_0x62c6('0x28')](function(_0xf6680){if(_0xf6680&&_0xf6680[_0x62c6('0x61')]===0x0){return db[_0x62c6('0x35')][_0x62c6('0x56')]({'name':_0x209c36[_0x62c6('0x34')],'resourceId':_0x209c36['id'],'type':_0xf6680[_0x62c6('0x34')],'sectionId':_0xf6680['id']},{})[_0x62c6('0x28')](function(){return _0x9ce00a;});}else{return _0x9ce00a;}})[_0x62c6('0x55')](function(_0x18c994){logger[_0x62c6('0x37')](_0x62c6('0x62'),_0x18c994);throw _0x18c994;});}return _0x9ce00a;})[_0x62c6('0x28')](respondWithResult(_0x42498e,0xc9))[_0x62c6('0x55')](handleError(_0x42498e,null));};exports['update']=function(_0x20bf7e,_0x483305){if(_0x20bf7e[_0x62c6('0x57')]['id']){delete _0x20bf7e[_0x62c6('0x57')]['id'];}return db[_0x62c6('0x4e')][_0x62c6('0x33')]({'where':{'id':_0x20bf7e[_0x62c6('0x53')]['id']}})[_0x62c6('0x28')](handleEntityNotFound(_0x483305,null))[_0x62c6('0x28')](function(_0xd4e190){if(_0xd4e190){return db['VoiceExtension'][_0x62c6('0x63')](_[_0x62c6('0x48')](_0x20bf7e[_0x62c6('0x57')],[_0x62c6('0x58'),_0x62c6('0x64'),_0x62c6('0x65'),'recordingFormat','cutdigits','mandatoryDisposition']),{'where':{'context':_0xd4e190[_0x62c6('0x64')],'exten':_0xd4e190[_0x62c6('0x58')]},'individualHooks':!![]})['then'](function(_0x26b219){return _0x26b219;});}return null;})[_0x62c6('0x28')](respondWithStatusCode(_0x483305,null))[_0x62c6('0x55')](handleError(_0x483305,null));};exports[_0x62c6('0x66')]=function(_0x8e47fb,_0x1b6f38,_0x4d31ce){return db[_0x62c6('0x4e')][_0x62c6('0x67')]({'where':{'id':_0x8e47fb['params']['id']}})[_0x62c6('0x28')](handleEntityNotFound(_0x1b6f38,null))[_0x62c6('0x28')](function(_0x2616fb){if(_0x2616fb){return db['sequelize']['transaction'](function(_0x47a529){return db[_0x62c6('0x4e')][_0x62c6('0x36')]({'where':{'VoiceExtensionId':_0x8e47fb[_0x62c6('0x53')]['id']},'transaction':_0x47a529})[_0x62c6('0x28')](function(_0x270038){var _0x2f995d=_[_0x62c6('0x2f')](_0x8e47fb[_0x62c6('0x57')],function(_0x36102c){_0x36102c[_0x62c6('0x68')]=_0x8e47fb['params']['id'];return _0x36102c;});return db['VoiceExtension'][_0x62c6('0x69')](_0x2f995d,{'transaction':_0x47a529});});})['then'](function(){return db['VoiceExtension'][_0x62c6('0x6a')]({'where':{'isApp':!![],'VoiceExtensionId':_0x8e47fb[_0x62c6('0x53')]['id']},'order':_0x62c6('0x6b')});});}})[_0x62c6('0x28')](respondWithResult(_0x1b6f38,null))['catch'](handleError(_0x1b6f38,null));};