Built motion from commit (unavailable).|2.4.19
[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 _0xfffd=['userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','context','description','cutdigits','addApplications','findOne','sequelize','VoiceExtensionId','bulkCreate','findAndCountAll','cast(priority\x20as\x20unsigned)','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceExtension.socket','register','sendStatus','status','count','offset','limit','set','Content-Range','json','reject','save','then','destroy','get','inbound','OutboundRoutes','InternalRoutes','internal','filter','value','includes','find','type','name','UserProfileResource','error','stack','index','map','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','include','VoiceExtension','findAll','rows','catch','show','params','keys','includeAll','outbound','startsWith','body','exten','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','InboundRoutes','UserProfileSection'];(function(_0x134b5d,_0x1f96ce){var _0x2acc13=function(_0x39d252){while(--_0x39d252){_0x134b5d['push'](_0x134b5d['shift']());}};_0x2acc13(++_0x1f96ce);}(_0xfffd,0xea));var _0xdfff=function(_0x17f724,_0x7093bf){_0x17f724=_0x17f724-0x0;var _0x485a88=_0xfffd[_0x17f724];return _0x485a88;};'use strict';var pdf=require(_0xdfff('0x0'));var emlformat=require(_0xdfff('0x1'));var rimraf=require(_0xdfff('0x2'));var zipdir=require(_0xdfff('0x3'));var jsonpatch=require(_0xdfff('0x4'));var rp=require(_0xdfff('0x5'));var moment=require(_0xdfff('0x6'));var BPromise=require(_0xdfff('0x7'));var Mustache=require(_0xdfff('0x8'));var util=require(_0xdfff('0x9'));var path=require(_0xdfff('0xa'));var sox=require(_0xdfff('0xb'));var csv=require(_0xdfff('0xc'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xdfff('0xd'));var squel=require('squel');var crypto=require(_0xdfff('0xe'));var jsforce=require(_0xdfff('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xdfff('0x10'));var Papa=require(_0xdfff('0x11'));var Redis=require(_0xdfff('0x12'));var authService=require(_0xdfff('0x13'));var qs=require(_0xdfff('0x14'));var as=require(_0xdfff('0x15'));var hardwareService=require(_0xdfff('0x16'));var logger=require(_0xdfff('0x17'))('api');var utils=require(_0xdfff('0x18'));var config=require(_0xdfff('0x19'));var db=require(_0xdfff('0x1a'))['db'];config[_0xdfff('0x1b')]=_[_0xdfff('0x1c')](config['redis'],{'host':_0xdfff('0x1d'),'port':0x18eb});var socket=require(_0xdfff('0x1e'))(new Redis(config[_0xdfff('0x1b')]));require(_0xdfff('0x1f'))[_0xdfff('0x20')](socket);function respondWithStatusCode(_0x414b75,_0xaa9885){_0xaa9885=_0xaa9885||0xcc;return function(_0x45fdef){if(_0x45fdef){return _0x414b75[_0xdfff('0x21')](_0xaa9885);}return _0x414b75[_0xdfff('0x22')](_0xaa9885)['end']();};}function respondWithResult(_0x1a6309,_0x143d72){_0x143d72=_0x143d72||0xc8;return function(_0x2a71fb){if(_0x2a71fb){return _0x1a6309[_0xdfff('0x22')](_0x143d72)['json'](_0x2a71fb);}};}function respondWithFilteredResult(_0x39dc36,_0xbcbca9){return function(_0x391c49){if(_0x391c49){var _0x508aea=_0x391c49[_0xdfff('0x23')],_0x27724e=_0xbcbca9['offset'],_0x520ac0=_0xbcbca9[_0xdfff('0x24')]+_0xbcbca9[_0xdfff('0x25')],_0x25d2e1;if(_0x520ac0>=_0x508aea){_0x520ac0=_0x508aea;_0x25d2e1=0xc8;}else{_0x25d2e1=0xce;}_0x39dc36[_0xdfff('0x22')](_0x25d2e1);return _0x39dc36[_0xdfff('0x26')](_0xdfff('0x27'),_0x27724e+'-'+_0x520ac0+'/'+_0x508aea)[_0xdfff('0x28')](_0x391c49);}return null;};}function patchUpdates(_0x1769d1){return function(_0x4ea39a){try{jsonpatch['apply'](_0x4ea39a,_0x1769d1,!![]);}catch(_0x8762e){return BPromise[_0xdfff('0x29')](_0x8762e);}return _0x4ea39a[_0xdfff('0x2a')]();};}function saveUpdates(_0x7e9101,_0x43cbb9){return function(_0x45bffe){if(_0x45bffe){return _0x45bffe['update'](_0x7e9101)[_0xdfff('0x2b')](function(_0x3afe76){return _0x3afe76;});}return null;};}function removeEntity(_0x2f7eb6,_0x4ef4de){return function(_0xd22ed){if(_0xd22ed){return _0xd22ed[_0xdfff('0x2c')]()['then'](function(){var _0x1a590a=_0xd22ed[_0xdfff('0x2d')]({'plain':!![]});var _0x2140e4=[{'name':'InboundRoutes','value':_0xdfff('0x2e'),'ignore':![]},{'name':_0xdfff('0x2f'),'value':'outbound','ignore':![]},{'name':_0xdfff('0x30'),'value':_0xdfff('0x31'),'ignore':![]}];var _0x55b1f0=_(_0x2140e4)[_0xdfff('0x32')]('ignore')['map']('value')[_0xdfff('0x33')]();if(_[_0xdfff('0x34')](_0x55b1f0,_0x1a590a['type'])){return;}var _0x1909c5=_[_0xdfff('0x35')](_0x2140e4,[_0xdfff('0x33'),_0x1a590a[_0xdfff('0x36')]])[_0xdfff('0x37')];return db[_0xdfff('0x38')][_0xdfff('0x2c')]({'where':{'type':_0x1909c5,'resourceId':_0x1a590a['id']}})['then'](function(){return _0xd22ed;});})[_0xdfff('0x2b')](function(){_0x2f7eb6[_0xdfff('0x22')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5bc318,_0x5f2853){return function(_0x1b0ad9){if(!_0x1b0ad9){_0x5bc318[_0xdfff('0x21')](0x194);}return _0x1b0ad9;};}function handleError(_0x1c312e,_0xd66b52){_0xd66b52=_0xd66b52||0x1f4;return function(_0x1041b7){logger[_0xdfff('0x39')](_0x1041b7[_0xdfff('0x3a')]);if(_0x1041b7[_0xdfff('0x37')]){delete _0x1041b7[_0xdfff('0x37')];}_0x1c312e[_0xdfff('0x22')](_0xd66b52)['send'](_0x1041b7);};}exports[_0xdfff('0x3b')]=function(_0x4afea5,_0x2a714a){var _0x5ab863={},_0x140b50={},_0x3aa5f3={'count':0x0,'rows':[]};var _0x40fc59=_[_0xdfff('0x3c')](db['VoiceExtension'][_0xdfff('0x3d')],function(_0x35ad51){return{'name':_0x35ad51[_0xdfff('0x3e')],'type':_0x35ad51[_0xdfff('0x36')][_0xdfff('0x3f')]};});_0x140b50[_0xdfff('0x40')]=_[_0xdfff('0x3c')](_0x40fc59,'name');_0x140b50[_0xdfff('0x41')]=_['keys'](_0x4afea5[_0xdfff('0x41')]);_0x140b50[_0xdfff('0x42')]=_[_0xdfff('0x43')](_0x140b50[_0xdfff('0x40')],_0x140b50[_0xdfff('0x41')]);_0x5ab863[_0xdfff('0x44')]=_[_0xdfff('0x43')](_0x140b50[_0xdfff('0x40')],qs[_0xdfff('0x45')](_0x4afea5[_0xdfff('0x41')]['fields']));_0x5ab863[_0xdfff('0x44')]=_0x5ab863[_0xdfff('0x44')][_0xdfff('0x46')]?_0x5ab863[_0xdfff('0x44')]:_0x140b50[_0xdfff('0x40')];if(!_0x4afea5[_0xdfff('0x41')][_0xdfff('0x47')](_0xdfff('0x48'))){_0x5ab863[_0xdfff('0x25')]=qs['limit'](_0x4afea5['query'][_0xdfff('0x25')]);_0x5ab863[_0xdfff('0x24')]=qs[_0xdfff('0x24')](_0x4afea5[_0xdfff('0x41')]['offset']);}_0x5ab863[_0xdfff('0x49')]=qs[_0xdfff('0x4a')](_0x4afea5[_0xdfff('0x41')][_0xdfff('0x4a')]);_0x5ab863[_0xdfff('0x4b')]=qs[_0xdfff('0x42')](_[_0xdfff('0x4c')](_0x4afea5['query'],_0x140b50[_0xdfff('0x42')]));if(_0x4afea5[_0xdfff('0x41')]['filter']){_0x5ab863['where']=_[_0xdfff('0x4d')](_0x5ab863['where'],{'$or':_[_0xdfff('0x3c')](_0x40fc59,function(_0x458a1c){if(_0x458a1c[_0xdfff('0x36')]!==_0xdfff('0x4e')){var _0x2947c3={};_0x2947c3[_0x458a1c[_0xdfff('0x37')]]={'$like':'%'+_0x4afea5['query'][_0xdfff('0x32')]+'%'};return _0x2947c3;}})});}_0x5ab863=_[_0xdfff('0x4d')]({},_0x5ab863,_0x4afea5['options']);var _0x58561e={'where':_0x5ab863[_0xdfff('0x4b')]};return db['VoiceExtension'][_0xdfff('0x23')](_0x58561e)['then'](function(_0x1a9f3d){_0x3aa5f3[_0xdfff('0x23')]=_0x1a9f3d;if(_0x4afea5[_0xdfff('0x41')]['includeAll']){_0x5ab863[_0xdfff('0x4f')]=[{'all':!![]}];}return db[_0xdfff('0x50')][_0xdfff('0x51')](_0x5ab863);})[_0xdfff('0x2b')](function(_0x4d9e77){_0x3aa5f3[_0xdfff('0x52')]=_0x4d9e77;return _0x3aa5f3;})[_0xdfff('0x2b')](respondWithFilteredResult(_0x2a714a,_0x5ab863))[_0xdfff('0x53')](handleError(_0x2a714a,null));};exports[_0xdfff('0x54')]=function(_0x1bc902,_0x315d66){var _0x24e5cf={'raw':![],'where':{'id':_0x1bc902[_0xdfff('0x55')]['id']}},_0x5ae48d={};_0x5ae48d[_0xdfff('0x40')]=_[_0xdfff('0x56')](db[_0xdfff('0x50')]['rawAttributes']);_0x5ae48d[_0xdfff('0x41')]=_['keys'](_0x1bc902['query']);_0x5ae48d[_0xdfff('0x42')]=_[_0xdfff('0x43')](_0x5ae48d[_0xdfff('0x40')],_0x5ae48d[_0xdfff('0x41')]);_0x24e5cf[_0xdfff('0x44')]=_['intersection'](_0x5ae48d[_0xdfff('0x40')],qs[_0xdfff('0x45')](_0x1bc902[_0xdfff('0x41')][_0xdfff('0x45')]));_0x24e5cf['attributes']=_0x24e5cf[_0xdfff('0x44')][_0xdfff('0x46')]?_0x24e5cf[_0xdfff('0x44')]:_0x5ae48d[_0xdfff('0x40')];if(_0x1bc902[_0xdfff('0x41')][_0xdfff('0x57')]){_0x24e5cf[_0xdfff('0x4f')]=[{'all':!![]}];}_0x24e5cf=_[_0xdfff('0x4d')]({},_0x24e5cf,_0x1bc902['options']);return db[_0xdfff('0x50')][_0xdfff('0x35')](_0x24e5cf)[_0xdfff('0x2b')](handleEntityNotFound(_0x315d66,null))[_0xdfff('0x2b')](respondWithResult(_0x315d66,null))[_0xdfff('0x53')](handleError(_0x315d66,null));};exports['destroy']=function(_0x1797c3,_0x155e50){return db[_0xdfff('0x50')]['find']({'where':{'id':_0x1797c3[_0xdfff('0x55')]['id']}})[_0xdfff('0x2b')](handleEntityNotFound(_0x155e50,null))[_0xdfff('0x2b')](removeEntity(_0x155e50,null))[_0xdfff('0x53')](handleError(_0x155e50,null));};exports['create']=function(_0x3b9e4e,_0x405b44){if(_0x3b9e4e['body']['type']===_0xdfff('0x58')&&!_[_0xdfff('0x59')](_0x3b9e4e['body']['exten'],'_')){_0x3b9e4e[_0xdfff('0x5a')][_0xdfff('0x5b')]='_'['concat'](_0x3b9e4e[_0xdfff('0x5a')]['exten']);}return db[_0xdfff('0x50')]['create'](_0x3b9e4e[_0xdfff('0x5a')],{'raw':![]})[_0xdfff('0x2b')](function(_0x166452){var _0x34bc5d=_0x3b9e4e['user'][_0xdfff('0x2d')]({'plain':!![]});if(!_0x34bc5d)throw new Error(_0xdfff('0x5c'));if(_0x34bc5d['role']===_0xdfff('0x5d')){var _0x44cdd4=_0x166452[_0xdfff('0x2d')]({'plain':!![]});var _0x117b56=[{'name':_0xdfff('0x5e'),'value':_0xdfff('0x2e')},{'name':'OutboundRoutes','value':_0xdfff('0x58')},{'name':_0xdfff('0x30'),'value':'internal'}];var _0x168446=_[_0xdfff('0x35')](_0x117b56,['value',_0x44cdd4['type']])['name'];return db[_0xdfff('0x5f')][_0xdfff('0x35')]({'where':{'name':_0x168446,'userProfileId':_0x34bc5d[_0xdfff('0x60')]},'raw':!![]})[_0xdfff('0x2b')](function(_0x2d12db){if(_0x2d12db&&_0x2d12db['autoAssociation']===0x0){return db['UserProfileResource'][_0xdfff('0x61')]({'name':_0x44cdd4['name'],'resourceId':_0x44cdd4['id'],'type':_0x2d12db['name'],'sectionId':_0x2d12db['id']},{})[_0xdfff('0x2b')](function(){return _0x166452;});}else{return _0x166452;}})['catch'](function(_0x9cf22e){logger[_0xdfff('0x39')](_0xdfff('0x62'),_0x9cf22e);throw _0x9cf22e;});}return _0x166452;})['then'](respondWithResult(_0x405b44,0xc9))[_0xdfff('0x53')](handleError(_0x405b44,null));};exports['update']=function(_0x1fdeed,_0x5e96d8){if(_0x1fdeed[_0xdfff('0x5a')]['id']){delete _0x1fdeed[_0xdfff('0x5a')]['id'];}return db[_0xdfff('0x50')]['find']({'where':{'id':_0x1fdeed['params']['id']}})[_0xdfff('0x2b')](handleEntityNotFound(_0x5e96d8,null))[_0xdfff('0x2b')](function(_0x187e07){if(_0x187e07){return db[_0xdfff('0x50')][_0xdfff('0x63')](_[_0xdfff('0x4c')](_0x1fdeed[_0xdfff('0x5a')],[_0xdfff('0x5b'),_0xdfff('0x64'),_0xdfff('0x65'),'recordingFormat',_0xdfff('0x66'),'mandatoryDisposition']),{'where':{'context':_0x187e07[_0xdfff('0x64')],'exten':_0x187e07[_0xdfff('0x5b')]},'individualHooks':!![]})[_0xdfff('0x2b')](function(_0x51c62e){return _0x51c62e;});}return null;})[_0xdfff('0x2b')](respondWithStatusCode(_0x5e96d8,null))[_0xdfff('0x53')](handleError(_0x5e96d8,null));};exports[_0xdfff('0x67')]=function(_0x6e2e93,_0x9e98c5,_0x15a6a4){return db[_0xdfff('0x50')][_0xdfff('0x68')]({'where':{'id':_0x6e2e93[_0xdfff('0x55')]['id']}})[_0xdfff('0x2b')](handleEntityNotFound(_0x9e98c5,null))[_0xdfff('0x2b')](function(_0x40de50){if(_0x40de50){return db[_0xdfff('0x69')]['transaction'](function(_0x5880f9){return db['VoiceExtension']['destroy']({'where':{'VoiceExtensionId':_0x6e2e93[_0xdfff('0x55')]['id']},'transaction':_0x5880f9})['then'](function(_0x5dc06a){var _0x55afed=_[_0xdfff('0x3c')](_0x6e2e93[_0xdfff('0x5a')],function(_0x311ed0){_0x311ed0[_0xdfff('0x6a')]=_0x6e2e93[_0xdfff('0x55')]['id'];return _0x311ed0;});return db['VoiceExtension'][_0xdfff('0x6b')](_0x55afed,{'transaction':_0x5880f9});});})[_0xdfff('0x2b')](function(){return db[_0xdfff('0x50')][_0xdfff('0x6c')]({'where':{'isApp':!![],'VoiceExtensionId':_0x6e2e93[_0xdfff('0x55')]['id']},'order':_0xdfff('0x6d')});});}})['then'](respondWithResult(_0x9e98c5,null))['catch'](handleError(_0x9e98c5,null));};