Built motion from commit (unavailable).|2.4.4
[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 _0xe5de=['count','includeAll','rows','catch','params','rawAttributes','include','find','body','outbound','startsWith','exten','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','pick','description','recordingFormat','cutdigits','mandatoryDisposition','addApplications','findOne','sequelize','VoiceExtensionId','bulkCreate','findAndCountAll','cast(priority\x20as\x20unsigned)','fast-json-patch','request-promise','moment','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./voiceExtension.socket','status','end','json','offset','set','apply','save','update','then','destroy','get','InboundRoutes','inbound','OutboundRoutes','InternalRoutes','internal','ignore','map','value','includes','name','sendStatus','error','send','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','merge','type','key','VIRTUAL','field','options','VoiceExtension'];(function(_0x465028,_0x4570ac){var _0xb783d4=function(_0x5458c5){while(--_0x5458c5){_0x465028['push'](_0x465028['shift']());}};_0xb783d4(++_0x4570ac);}(_0xe5de,0x1aa));var _0xee5d=function(_0x288c2c,_0x53d132){_0x288c2c=_0x288c2c-0x0;var _0x1a094d=_0xe5de[_0x288c2c];return _0x1a094d;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xee5d('0x0'));var rp=require(_0xee5d('0x1'));var moment=require(_0xee5d('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xee5d('0x3'));var path=require('path');var sox=require(_0xee5d('0x4'));var csv=require(_0xee5d('0x5'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xee5d('0x6'));var squel=require(_0xee5d('0x7'));var crypto=require(_0xee5d('0x8'));var jsforce=require(_0xee5d('0x9'));var deskjs=require(_0xee5d('0xa'));var toCsv=require(_0xee5d('0x5'));var querystring=require(_0xee5d('0xb'));var Papa=require(_0xee5d('0xc'));var Redis=require(_0xee5d('0xd'));var authService=require(_0xee5d('0xe'));var qs=require(_0xee5d('0xf'));var hardwareService=require(_0xee5d('0x10'));var logger=require(_0xee5d('0x11'))('api');var utils=require(_0xee5d('0x12'));var config=require(_0xee5d('0x13'));var db=require(_0xee5d('0x14'))['db'];config[_0xee5d('0x15')]=_[_0xee5d('0x16')](config[_0xee5d('0x15')],{'host':'localhost','port':0x18eb});var socket=require(_0xee5d('0x17'))(new Redis(config[_0xee5d('0x15')]));require(_0xee5d('0x18'))['register'](socket);function respondWithStatusCode(_0x52e82f,_0x12d60b){_0x12d60b=_0x12d60b||0xcc;return function(_0x14992a){if(_0x14992a){return _0x52e82f['sendStatus'](_0x12d60b);}return _0x52e82f[_0xee5d('0x19')](_0x12d60b)[_0xee5d('0x1a')]();};}function respondWithResult(_0x4c7cab,_0x2bfe36){_0x2bfe36=_0x2bfe36||0xc8;return function(_0x2eca64){if(_0x2eca64){return _0x4c7cab[_0xee5d('0x19')](_0x2bfe36)[_0xee5d('0x1b')](_0x2eca64);}};}function respondWithFilteredResult(_0x150754,_0x463264){return function(_0x260f43){if(_0x260f43){var _0x6e52ee=_0x260f43['count'],_0x4ecb2b=_0x463264[_0xee5d('0x1c')],_0x34e5e8=_0x463264[_0xee5d('0x1c')]+_0x463264['limit'],_0x36dd33;if(_0x34e5e8>=_0x6e52ee){_0x34e5e8=_0x6e52ee;_0x36dd33=0xc8;}else{_0x36dd33=0xce;}_0x150754[_0xee5d('0x19')](_0x36dd33);return _0x150754[_0xee5d('0x1d')]('Content-Range',_0x4ecb2b+'-'+_0x34e5e8+'/'+_0x6e52ee)['json'](_0x260f43);}return null;};}function patchUpdates(_0x4a3e75){return function(_0x4f606f){try{jsonpatch[_0xee5d('0x1e')](_0x4f606f,_0x4a3e75,!![]);}catch(_0x9fe8bd){return BPromise['reject'](_0x9fe8bd);}return _0x4f606f[_0xee5d('0x1f')]();};}function saveUpdates(_0x39adfd,_0x1adb64){return function(_0x40b7bd){if(_0x40b7bd){return _0x40b7bd[_0xee5d('0x20')](_0x39adfd)[_0xee5d('0x21')](function(_0xacf2b3){return _0xacf2b3;});}return null;};}function removeEntity(_0x1005a3,_0x5aa123){return function(_0x1ebb6a){if(_0x1ebb6a){return _0x1ebb6a[_0xee5d('0x22')]()[_0xee5d('0x21')](function(){var _0x5a393a=_0x1ebb6a[_0xee5d('0x23')]({'plain':!![]});var _0x52be7e=[{'name':_0xee5d('0x24'),'value':_0xee5d('0x25'),'ignore':![]},{'name':_0xee5d('0x26'),'value':'outbound','ignore':![]},{'name':_0xee5d('0x27'),'value':_0xee5d('0x28'),'ignore':![]}];var _0x38461f=_(_0x52be7e)['filter'](_0xee5d('0x29'))[_0xee5d('0x2a')]('value')[_0xee5d('0x2b')]();if(_[_0xee5d('0x2c')](_0x38461f,_0x5a393a['type'])){return;}var _0x25a043=_['find'](_0x52be7e,['value',_0x5a393a['type']])[_0xee5d('0x2d')];return db['UserProfileResource'][_0xee5d('0x22')]({'where':{'type':_0x25a043,'resourceId':_0x5a393a['id']}})[_0xee5d('0x21')](function(){return _0x1ebb6a;});})[_0xee5d('0x21')](function(){_0x1005a3[_0xee5d('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x230f1d,_0x3ae08a){return function(_0x3adaf8){if(!_0x3adaf8){_0x230f1d[_0xee5d('0x2e')](0x194);}return _0x3adaf8;};}function handleError(_0x574108,_0x179960){_0x179960=_0x179960||0x1f4;return function(_0x1067df){logger[_0xee5d('0x2f')](_0x1067df['stack']);if(_0x1067df[_0xee5d('0x2d')]){delete _0x1067df[_0xee5d('0x2d')];}_0x574108[_0xee5d('0x19')](_0x179960)[_0xee5d('0x30')](_0x1067df);};}exports['index']=function(_0x39cb74,_0x4c7fb3){var _0x1d071f={},_0x20a220={},_0x966a49={'count':0x0,'rows':[]};var _0x50fca3=db['VoiceExtension']['rawAttributes'];_0x20a220[_0xee5d('0x31')]=_['keys'](_0x50fca3);_0x20a220[_0xee5d('0x32')]=_[_0xee5d('0x33')](_0x39cb74['query']);_0x20a220[_0xee5d('0x34')]=_[_0xee5d('0x35')](_0x20a220[_0xee5d('0x31')],_0x20a220[_0xee5d('0x32')]);_0x1d071f[_0xee5d('0x36')]=_['intersection'](_0x20a220[_0xee5d('0x31')],qs[_0xee5d('0x37')](_0x39cb74[_0xee5d('0x32')][_0xee5d('0x37')]));_0x1d071f[_0xee5d('0x36')]=_0x1d071f[_0xee5d('0x36')][_0xee5d('0x38')]?_0x1d071f['attributes']:_0x20a220[_0xee5d('0x31')];if(!_0x39cb74[_0xee5d('0x32')][_0xee5d('0x39')]('nolimit')){_0x1d071f[_0xee5d('0x3a')]=qs[_0xee5d('0x3a')](_0x39cb74[_0xee5d('0x32')][_0xee5d('0x3a')]);_0x1d071f['offset']=qs[_0xee5d('0x1c')](_0x39cb74[_0xee5d('0x32')][_0xee5d('0x1c')]);}_0x1d071f[_0xee5d('0x3b')]=qs[_0xee5d('0x3c')](_0x39cb74['query'][_0xee5d('0x3c')]);_0x1d071f[_0xee5d('0x3d')]=qs[_0xee5d('0x34')](_['pick'](_0x39cb74[_0xee5d('0x32')],_0x20a220[_0xee5d('0x34')]));if(_0x39cb74['query']['filter']){_0x1d071f[_0xee5d('0x3d')]=_[_0xee5d('0x3e')](_0x1d071f[_0xee5d('0x3d')],{'$or':_[_0xee5d('0x2a')](_0x50fca3,function(_0x2df124){if(_0x2df124[_0xee5d('0x3f')][_0xee5d('0x40')]!==_0xee5d('0x41')){var _0x1117f7={};_0x1117f7[_0x2df124[_0xee5d('0x42')]]={'$like':'%'+_0x39cb74[_0xee5d('0x32')]['filter']+'%'};return _0x1117f7;}})});}_0x1d071f=_[_0xee5d('0x3e')]({},_0x1d071f,_0x39cb74[_0xee5d('0x43')]);var _0x43a421={'where':_0x1d071f[_0xee5d('0x3d')]};return db[_0xee5d('0x44')][_0xee5d('0x45')](_0x43a421)[_0xee5d('0x21')](function(_0x238aa0){_0x966a49[_0xee5d('0x45')]=_0x238aa0;if(_0x39cb74[_0xee5d('0x32')][_0xee5d('0x46')]){_0x1d071f['include']=[{'all':!![]}];}return db[_0xee5d('0x44')]['findAll'](_0x1d071f);})[_0xee5d('0x21')](function(_0x2070e4){_0x966a49[_0xee5d('0x47')]=_0x2070e4;return _0x966a49;})[_0xee5d('0x21')](respondWithFilteredResult(_0x4c7fb3,_0x1d071f))[_0xee5d('0x48')](handleError(_0x4c7fb3,null));};exports['show']=function(_0x541182,_0x3a8230){var _0x37dd23={'raw':![],'where':{'id':_0x541182[_0xee5d('0x49')]['id']}},_0x36fb9f={};_0x36fb9f[_0xee5d('0x31')]=_['keys'](db[_0xee5d('0x44')][_0xee5d('0x4a')]);_0x36fb9f[_0xee5d('0x32')]=_['keys'](_0x541182[_0xee5d('0x32')]);_0x36fb9f[_0xee5d('0x34')]=_[_0xee5d('0x35')](_0x36fb9f[_0xee5d('0x31')],_0x36fb9f[_0xee5d('0x32')]);_0x37dd23[_0xee5d('0x36')]=_[_0xee5d('0x35')](_0x36fb9f[_0xee5d('0x31')],qs[_0xee5d('0x37')](_0x541182[_0xee5d('0x32')][_0xee5d('0x37')]));_0x37dd23['attributes']=_0x37dd23['attributes']['length']?_0x37dd23[_0xee5d('0x36')]:_0x36fb9f['model'];if(_0x541182['query'][_0xee5d('0x46')]){_0x37dd23[_0xee5d('0x4b')]=[{'all':!![]}];}_0x37dd23=_[_0xee5d('0x3e')]({},_0x37dd23,_0x541182['options']);return db[_0xee5d('0x44')]['find'](_0x37dd23)[_0xee5d('0x21')](handleEntityNotFound(_0x3a8230,null))[_0xee5d('0x21')](respondWithResult(_0x3a8230,null))[_0xee5d('0x48')](handleError(_0x3a8230,null));};exports[_0xee5d('0x22')]=function(_0x21a186,_0x254b17){return db[_0xee5d('0x44')][_0xee5d('0x4c')]({'where':{'id':_0x21a186[_0xee5d('0x49')]['id']}})[_0xee5d('0x21')](handleEntityNotFound(_0x254b17,null))[_0xee5d('0x21')](removeEntity(_0x254b17,null))[_0xee5d('0x48')](handleError(_0x254b17,null));};exports['create']=function(_0x8742ab,_0x1733c9){if(_0x8742ab[_0xee5d('0x4d')][_0xee5d('0x3f')]===_0xee5d('0x4e')&&!_[_0xee5d('0x4f')](_0x8742ab[_0xee5d('0x4d')]['exten'],'_')){_0x8742ab[_0xee5d('0x4d')]['exten']='_'['concat'](_0x8742ab[_0xee5d('0x4d')][_0xee5d('0x50')]);}return db[_0xee5d('0x44')]['create'](_0x8742ab[_0xee5d('0x4d')],{'raw':![]})[_0xee5d('0x21')](function(_0x2633d8){var _0x81c3b5=_0x8742ab[_0xee5d('0x51')]['get']({'plain':!![]});if(!_0x81c3b5)throw new Error(_0xee5d('0x52'));if(_0x81c3b5[_0xee5d('0x53')]===_0xee5d('0x51')){var _0x28e4b9=_0x2633d8[_0xee5d('0x23')]({'plain':!![]});var _0x24b146=[{'name':_0xee5d('0x24'),'value':'inbound'},{'name':_0xee5d('0x26'),'value':_0xee5d('0x4e')},{'name':_0xee5d('0x27'),'value':'internal'}];var _0x522c66=_['find'](_0x24b146,[_0xee5d('0x2b'),_0x28e4b9[_0xee5d('0x3f')]])[_0xee5d('0x2d')];return db[_0xee5d('0x54')][_0xee5d('0x4c')]({'where':{'name':_0x522c66,'userProfileId':_0x81c3b5['userProfileId']},'raw':!![]})[_0xee5d('0x21')](function(_0x26a48e){if(_0x26a48e&&_0x26a48e[_0xee5d('0x55')]===0x0){return db['UserProfileResource']['create']({'name':_0x28e4b9[_0xee5d('0x2d')],'resourceId':_0x28e4b9['id'],'type':_0x26a48e[_0xee5d('0x2d')],'sectionId':_0x26a48e['id']},{})[_0xee5d('0x21')](function(){return _0x2633d8;});}else{return _0x2633d8;}})['catch'](function(_0x3605b9){logger[_0xee5d('0x2f')](_0xee5d('0x56'),_0x3605b9);throw _0x3605b9;});}return _0x2633d8;})['then'](respondWithResult(_0x1733c9,0xc9))[_0xee5d('0x48')](handleError(_0x1733c9,null));};exports[_0xee5d('0x20')]=function(_0xbd7591,_0x2e8222){if(_0xbd7591[_0xee5d('0x4d')]['id']){delete _0xbd7591[_0xee5d('0x4d')]['id'];}return db['VoiceExtension'][_0xee5d('0x4c')]({'where':{'id':_0xbd7591[_0xee5d('0x49')]['id']}})[_0xee5d('0x21')](handleEntityNotFound(_0x2e8222,null))['then'](function(_0x5d979a){if(_0x5d979a){return db['VoiceExtension'][_0xee5d('0x20')](_[_0xee5d('0x57')](_0xbd7591[_0xee5d('0x4d')],[_0xee5d('0x50'),'context',_0xee5d('0x58'),_0xee5d('0x59'),_0xee5d('0x5a'),_0xee5d('0x5b')]),{'where':{'context':_0x5d979a['context'],'exten':_0x5d979a[_0xee5d('0x50')]},'individualHooks':!![]})[_0xee5d('0x21')](function(_0x3433dd){return _0x3433dd;});}return null;})[_0xee5d('0x21')](respondWithStatusCode(_0x2e8222,null))[_0xee5d('0x48')](handleError(_0x2e8222,null));};exports[_0xee5d('0x5c')]=function(_0x1e5664,_0x4a4cd8,_0x51cfc7){return db[_0xee5d('0x44')][_0xee5d('0x5d')]({'where':{'id':_0x1e5664['params']['id']}})[_0xee5d('0x21')](handleEntityNotFound(_0x4a4cd8,null))[_0xee5d('0x21')](function(_0x73560b){if(_0x73560b){return db[_0xee5d('0x5e')]['transaction'](function(_0x45b19c){return db[_0xee5d('0x44')][_0xee5d('0x22')]({'where':{'VoiceExtensionId':_0x1e5664[_0xee5d('0x49')]['id']},'transaction':_0x45b19c})['then'](function(_0x5498e8){var _0x2d4f01=_[_0xee5d('0x2a')](_0x1e5664[_0xee5d('0x4d')],function(_0x1b3b6b){_0x1b3b6b[_0xee5d('0x5f')]=_0x1e5664[_0xee5d('0x49')]['id'];return _0x1b3b6b;});return db[_0xee5d('0x44')][_0xee5d('0x60')](_0x2d4f01,{'transaction':_0x45b19c});});})[_0xee5d('0x21')](function(){return db['VoiceExtension'][_0xee5d('0x61')]({'where':{'isApp':!![],'VoiceExtensionId':_0x1e5664['params']['id']},'order':_0xee5d('0x62')});});}})[_0xee5d('0x21')](respondWithResult(_0x4a4cd8,null))['catch'](handleError(_0x4a4cd8,null));};