Built motion from commit (unavailable).|2.5.0
[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 _0x29a3=['sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','get','InboundRoutes','inbound','OutboundRoutes','outbound','InternalRoutes','filter','ignore','map','value','type','find','name','destroy','error','stack','send','index','VoiceExtension','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','merge','VIRTUAL','options','includeAll','include','rows','catch','show','keys','create','body','startsWith','exten','concat','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','internal','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','params','pick','description','recordingFormat','cutdigits','mandatoryDisposition','findOne','sequelize','transaction','VoiceExtensionId','findAndCountAll','html-pdf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','redis','defaults','localhost','socket.io-emitter','./voiceExtension.socket','register'];(function(_0x3c1e42,_0x3588d3){var _0x58004d=function(_0x4799e5){while(--_0x4799e5){_0x3c1e42['push'](_0x3c1e42['shift']());}};_0x58004d(++_0x3588d3);}(_0x29a3,0x1ee));var _0x329a=function(_0x316dcc,_0x35c7ed){_0x316dcc=_0x316dcc-0x0;var _0x5c1022=_0x29a3[_0x316dcc];return _0x5c1022;};'use strict';var pdf=require(_0x329a('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x329a('0x1'));var jsonpatch=require(_0x329a('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x329a('0x3'));var Mustache=require(_0x329a('0x4'));var util=require('util');var path=require(_0x329a('0x5'));var sox=require(_0x329a('0x6'));var csv=require(_0x329a('0x7'));var ejs=require(_0x329a('0x8'));var fs=require('fs');var _=require(_0x329a('0x9'));var squel=require(_0x329a('0xa'));var crypto=require(_0x329a('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x329a('0x7'));var querystring=require(_0x329a('0xc'));var Papa=require(_0x329a('0xd'));var Redis=require(_0x329a('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x329a('0xf'));var as=require(_0x329a('0x10'));var hardwareService=require(_0x329a('0x11'));var logger=require(_0x329a('0x12'))('api');var utils=require(_0x329a('0x13'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0x329a('0x14')]=_[_0x329a('0x15')](config[_0x329a('0x14')],{'host':_0x329a('0x16'),'port':0x18eb});var socket=require(_0x329a('0x17'))(new Redis(config[_0x329a('0x14')]));require(_0x329a('0x18'))[_0x329a('0x19')](socket);function respondWithStatusCode(_0x58eb65,_0x4a339b){_0x4a339b=_0x4a339b||0xcc;return function(_0x3cfba9){if(_0x3cfba9){return _0x58eb65[_0x329a('0x1a')](_0x4a339b);}return _0x58eb65[_0x329a('0x1b')](_0x4a339b)[_0x329a('0x1c')]();};}function respondWithResult(_0x5591b1,_0x41b7e8){_0x41b7e8=_0x41b7e8||0xc8;return function(_0x4e3cb8){if(_0x4e3cb8){return _0x5591b1[_0x329a('0x1b')](_0x41b7e8)[_0x329a('0x1d')](_0x4e3cb8);}};}function respondWithFilteredResult(_0x596795,_0x24b9cb){return function(_0x2e5944){if(_0x2e5944){var _0x22069e=_0x2e5944[_0x329a('0x1e')],_0x14a45f=_0x24b9cb[_0x329a('0x1f')],_0x19b3ea=_0x24b9cb[_0x329a('0x1f')]+_0x24b9cb[_0x329a('0x20')],_0x50de5e;if(_0x19b3ea>=_0x22069e){_0x19b3ea=_0x22069e;_0x50de5e=0xc8;}else{_0x50de5e=0xce;}_0x596795[_0x329a('0x1b')](_0x50de5e);return _0x596795[_0x329a('0x21')](_0x329a('0x22'),_0x14a45f+'-'+_0x19b3ea+'/'+_0x22069e)[_0x329a('0x1d')](_0x2e5944);}return null;};}function patchUpdates(_0x1d76d4){return function(_0x3c49ac){try{jsonpatch['apply'](_0x3c49ac,_0x1d76d4,!![]);}catch(_0x2ef5d0){return BPromise[_0x329a('0x23')](_0x2ef5d0);}return _0x3c49ac['save']();};}function saveUpdates(_0x1866e7,_0x393782){return function(_0x449c23){if(_0x449c23){return _0x449c23[_0x329a('0x24')](_0x1866e7)['then'](function(_0x4dfccc){return _0x4dfccc;});}return null;};}function removeEntity(_0x255b80,_0x3b47cf){return function(_0xc1d37b){if(_0xc1d37b){return _0xc1d37b['destroy']()[_0x329a('0x25')](function(){var _0x28a0b3=_0xc1d37b[_0x329a('0x26')]({'plain':!![]});var _0x11aa02=[{'name':_0x329a('0x27'),'value':_0x329a('0x28'),'ignore':![]},{'name':_0x329a('0x29'),'value':_0x329a('0x2a'),'ignore':![]},{'name':_0x329a('0x2b'),'value':'internal','ignore':![]}];var _0xd9f61f=_(_0x11aa02)[_0x329a('0x2c')](_0x329a('0x2d'))[_0x329a('0x2e')](_0x329a('0x2f'))[_0x329a('0x2f')]();if(_['includes'](_0xd9f61f,_0x28a0b3[_0x329a('0x30')])){return;}var _0x122485=_[_0x329a('0x31')](_0x11aa02,[_0x329a('0x2f'),_0x28a0b3['type']])[_0x329a('0x32')];return db['UserProfileResource'][_0x329a('0x33')]({'where':{'type':_0x122485,'resourceId':_0x28a0b3['id']}})[_0x329a('0x25')](function(){return _0xc1d37b;});})[_0x329a('0x25')](function(){_0x255b80[_0x329a('0x1b')](0xcc)[_0x329a('0x1c')]();});}};}function handleEntityNotFound(_0x5a58d6,_0x35221a){return function(_0xfdffdc){if(!_0xfdffdc){_0x5a58d6[_0x329a('0x1a')](0x194);}return _0xfdffdc;};}function handleError(_0x5ca9ab,_0x2f57c4){_0x2f57c4=_0x2f57c4||0x1f4;return function(_0x53e09e){logger[_0x329a('0x34')](_0x53e09e[_0x329a('0x35')]);if(_0x53e09e[_0x329a('0x32')]){delete _0x53e09e['name'];}_0x5ca9ab[_0x329a('0x1b')](_0x2f57c4)[_0x329a('0x36')](_0x53e09e);};}exports[_0x329a('0x37')]=function(_0x3937ff,_0x22133b){var _0x120bf4={},_0x17ec60={},_0x3a41c8={'count':0x0,'rows':[]};var _0x2a56f2=_[_0x329a('0x2e')](db[_0x329a('0x38')][_0x329a('0x39')],function(_0x396c65){return{'name':_0x396c65[_0x329a('0x3a')],'type':_0x396c65['type'][_0x329a('0x3b')]};});_0x17ec60[_0x329a('0x3c')]=_['map'](_0x2a56f2,_0x329a('0x32'));_0x17ec60[_0x329a('0x3d')]=_['keys'](_0x3937ff[_0x329a('0x3d')]);_0x17ec60[_0x329a('0x3e')]=_[_0x329a('0x3f')](_0x17ec60[_0x329a('0x3c')],_0x17ec60[_0x329a('0x3d')]);_0x120bf4[_0x329a('0x40')]=_['intersection'](_0x17ec60[_0x329a('0x3c')],qs[_0x329a('0x41')](_0x3937ff[_0x329a('0x3d')]['fields']));_0x120bf4[_0x329a('0x40')]=_0x120bf4[_0x329a('0x40')][_0x329a('0x42')]?_0x120bf4[_0x329a('0x40')]:_0x17ec60[_0x329a('0x3c')];if(!_0x3937ff[_0x329a('0x3d')][_0x329a('0x43')](_0x329a('0x44'))){_0x120bf4[_0x329a('0x20')]=qs['limit'](_0x3937ff[_0x329a('0x3d')][_0x329a('0x20')]);_0x120bf4[_0x329a('0x1f')]=qs[_0x329a('0x1f')](_0x3937ff['query']['offset']);}_0x120bf4[_0x329a('0x45')]=qs[_0x329a('0x46')](_0x3937ff[_0x329a('0x3d')]['sort']);_0x120bf4['where']=qs[_0x329a('0x3e')](_['pick'](_0x3937ff[_0x329a('0x3d')],_0x17ec60['filters']));if(_0x3937ff[_0x329a('0x3d')][_0x329a('0x2c')]){_0x120bf4['where']=_[_0x329a('0x47')](_0x120bf4['where'],{'$or':_[_0x329a('0x2e')](_0x2a56f2,function(_0x59b957){if(_0x59b957[_0x329a('0x30')]!==_0x329a('0x48')){var _0x34507b={};_0x34507b[_0x59b957[_0x329a('0x32')]]={'$like':'%'+_0x3937ff[_0x329a('0x3d')]['filter']+'%'};return _0x34507b;}})});}_0x120bf4=_[_0x329a('0x47')]({},_0x120bf4,_0x3937ff[_0x329a('0x49')]);var _0x1789e9={'where':_0x120bf4['where']};return db[_0x329a('0x38')][_0x329a('0x1e')](_0x1789e9)['then'](function(_0x3f26b1){_0x3a41c8[_0x329a('0x1e')]=_0x3f26b1;if(_0x3937ff[_0x329a('0x3d')][_0x329a('0x4a')]){_0x120bf4[_0x329a('0x4b')]=[{'all':!![]}];}return db[_0x329a('0x38')]['findAll'](_0x120bf4);})[_0x329a('0x25')](function(_0x3ee818){_0x3a41c8[_0x329a('0x4c')]=_0x3ee818;return _0x3a41c8;})[_0x329a('0x25')](respondWithFilteredResult(_0x22133b,_0x120bf4))[_0x329a('0x4d')](handleError(_0x22133b,null));};exports[_0x329a('0x4e')]=function(_0x138de3,_0x1edf37){var _0x972f05={'raw':![],'where':{'id':_0x138de3['params']['id']}},_0x135a7c={};_0x135a7c[_0x329a('0x3c')]=_['keys'](db['VoiceExtension'][_0x329a('0x39')]);_0x135a7c[_0x329a('0x3d')]=_[_0x329a('0x4f')](_0x138de3[_0x329a('0x3d')]);_0x135a7c['filters']=_['intersection'](_0x135a7c[_0x329a('0x3c')],_0x135a7c['query']);_0x972f05[_0x329a('0x40')]=_[_0x329a('0x3f')](_0x135a7c[_0x329a('0x3c')],qs[_0x329a('0x41')](_0x138de3[_0x329a('0x3d')]['fields']));_0x972f05[_0x329a('0x40')]=_0x972f05[_0x329a('0x40')][_0x329a('0x42')]?_0x972f05[_0x329a('0x40')]:_0x135a7c['model'];if(_0x138de3[_0x329a('0x3d')][_0x329a('0x4a')]){_0x972f05['include']=[{'all':!![]}];}_0x972f05=_[_0x329a('0x47')]({},_0x972f05,_0x138de3['options']);return db[_0x329a('0x38')][_0x329a('0x31')](_0x972f05)[_0x329a('0x25')](handleEntityNotFound(_0x1edf37,null))[_0x329a('0x25')](respondWithResult(_0x1edf37,null))[_0x329a('0x4d')](handleError(_0x1edf37,null));};exports[_0x329a('0x33')]=function(_0x5eb5fe,_0x275eff){return db[_0x329a('0x38')][_0x329a('0x31')]({'where':{'id':_0x5eb5fe['params']['id']}})[_0x329a('0x25')](handleEntityNotFound(_0x275eff,null))[_0x329a('0x25')](removeEntity(_0x275eff,null))[_0x329a('0x4d')](handleError(_0x275eff,null));};exports[_0x329a('0x50')]=function(_0x3c1762,_0x33bc64){if(_0x3c1762[_0x329a('0x51')]['type']==='outbound'&&!_[_0x329a('0x52')](_0x3c1762[_0x329a('0x51')][_0x329a('0x53')],'_')){_0x3c1762['body'][_0x329a('0x53')]='_'[_0x329a('0x54')](_0x3c1762[_0x329a('0x51')][_0x329a('0x53')]);}return db[_0x329a('0x38')][_0x329a('0x50')](_0x3c1762[_0x329a('0x51')],{'raw':![]})[_0x329a('0x25')](function(_0x5a920f){var _0x18efb0=_0x3c1762[_0x329a('0x55')][_0x329a('0x26')]({'plain':!![]});if(!_0x18efb0)throw new Error(_0x329a('0x56'));if(_0x18efb0[_0x329a('0x57')]===_0x329a('0x55')){var _0x4d35cc=_0x5a920f[_0x329a('0x26')]({'plain':!![]});var _0x2cd53d=[{'name':_0x329a('0x27'),'value':_0x329a('0x28')},{'name':_0x329a('0x29'),'value':_0x329a('0x2a')},{'name':'InternalRoutes','value':_0x329a('0x58')}];var _0x5432e3=_[_0x329a('0x31')](_0x2cd53d,[_0x329a('0x2f'),_0x4d35cc[_0x329a('0x30')]])[_0x329a('0x32')];return db[_0x329a('0x59')][_0x329a('0x31')]({'where':{'name':_0x5432e3,'userProfileId':_0x18efb0[_0x329a('0x5a')]},'raw':!![]})['then'](function(_0x5da8b7){if(_0x5da8b7&&_0x5da8b7[_0x329a('0x5b')]===0x0){return db[_0x329a('0x5c')]['create']({'name':_0x4d35cc[_0x329a('0x32')],'resourceId':_0x4d35cc['id'],'type':_0x5da8b7[_0x329a('0x32')],'sectionId':_0x5da8b7['id']},{})[_0x329a('0x25')](function(){return _0x5a920f;});}else{return _0x5a920f;}})[_0x329a('0x4d')](function(_0x21360f){logger[_0x329a('0x34')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x21360f);throw _0x21360f;});}return _0x5a920f;})[_0x329a('0x25')](respondWithResult(_0x33bc64,0xc9))[_0x329a('0x4d')](handleError(_0x33bc64,null));};exports[_0x329a('0x24')]=function(_0x29da61,_0x499384){if(_0x29da61[_0x329a('0x51')]['id']){delete _0x29da61['body']['id'];}return db['VoiceExtension'][_0x329a('0x31')]({'where':{'id':_0x29da61[_0x329a('0x5d')]['id']}})[_0x329a('0x25')](handleEntityNotFound(_0x499384,null))[_0x329a('0x25')](function(_0x280400){if(_0x280400){return db[_0x329a('0x38')][_0x329a('0x24')](_[_0x329a('0x5e')](_0x29da61[_0x329a('0x51')],[_0x329a('0x53'),'context',_0x329a('0x5f'),_0x329a('0x60'),_0x329a('0x61'),_0x329a('0x62')]),{'where':{'context':_0x280400['context'],'exten':_0x280400[_0x329a('0x53')]},'individualHooks':!![]})[_0x329a('0x25')](function(_0x59b675){return _0x59b675;});}return null;})[_0x329a('0x25')](respondWithStatusCode(_0x499384,null))[_0x329a('0x4d')](handleError(_0x499384,null));};exports['addApplications']=function(_0xd6a4fa,_0x522a60,_0x4ba9f8){return db[_0x329a('0x38')][_0x329a('0x63')]({'where':{'id':_0xd6a4fa[_0x329a('0x5d')]['id']}})[_0x329a('0x25')](handleEntityNotFound(_0x522a60,null))[_0x329a('0x25')](function(_0x6cf243){if(_0x6cf243){return db[_0x329a('0x64')][_0x329a('0x65')](function(_0x3f17a2){return db[_0x329a('0x38')][_0x329a('0x33')]({'where':{'VoiceExtensionId':_0xd6a4fa[_0x329a('0x5d')]['id']},'transaction':_0x3f17a2})[_0x329a('0x25')](function(_0x40ddf3){var _0x5e397a=_[_0x329a('0x2e')](_0xd6a4fa[_0x329a('0x51')],function(_0x52aa38){_0x52aa38[_0x329a('0x66')]=_0xd6a4fa[_0x329a('0x5d')]['id'];return _0x52aa38;});return db['VoiceExtension']['bulkCreate'](_0x5e397a,{'transaction':_0x3f17a2});});})[_0x329a('0x25')](function(){return db[_0x329a('0x38')][_0x329a('0x67')]({'where':{'isApp':!![],'VoiceExtensionId':_0xd6a4fa[_0x329a('0x5d')]['id']},'order':'cast(priority\x20as\x20unsigned)'});});}})[_0x329a('0x25')](respondWithResult(_0x522a60,null))[_0x329a('0x4d')](handleError(_0x522a60,null));};