Built motion from commit (unavailable).|2.5.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 _0x912e=['bluebird','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./voiceExtension.socket','sendStatus','status','end','json','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','InboundRoutes','inbound','OutboundRoutes','outbound','InternalRoutes','filter','ignore','map','value','includes','type','find','UserProfileResource','error','name','send','index','key','model','query','filters','intersection','attributes','length','hasOwnProperty','nolimit','offset','order','sort','where','merge','VIRTUAL','options','VoiceExtension','include','findAll','catch','show','params','keys','rawAttributes','fields','includeAll','body','exten','concat','create','user','role','internal','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','pick','context','description','recordingFormat','cutdigits','addApplications','findOne','sequelize','transaction','VoiceExtensionId','bulkCreate','findAndCountAll','cast(priority\x20as\x20unsigned)','html-pdf','eml-format','fast-json-patch','moment'];(function(_0x552956,_0x30ebad){var _0x1ea26d=function(_0xbcf27c){while(--_0xbcf27c){_0x552956['push'](_0x552956['shift']());}};_0x1ea26d(++_0x30ebad);}(_0x912e,0x6d));var _0xe912=function(_0x449c43,_0x14c02e){_0x449c43=_0x449c43-0x0;var _0x54146d=_0x912e[_0x449c43];return _0x54146d;};'use strict';var pdf=require(_0xe912('0x0'));var emlformat=require(_0xe912('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe912('0x2'));var rp=require('request-promise');var moment=require(_0xe912('0x3'));var BPromise=require(_0xe912('0x4'));var Mustache=require('mustache');var util=require(_0xe912('0x5'));var path=require(_0xe912('0x6'));var sox=require(_0xe912('0x7'));var csv=require('to-csv');var ejs=require(_0xe912('0x8'));var fs=require('fs');var _=require(_0xe912('0x9'));var squel=require(_0xe912('0xa'));var crypto=require(_0xe912('0xb'));var jsforce=require(_0xe912('0xc'));var deskjs=require(_0xe912('0xd'));var toCsv=require(_0xe912('0xe'));var querystring=require('querystring');var Papa=require(_0xe912('0xf'));var Redis=require(_0xe912('0x10'));var authService=require(_0xe912('0x11'));var qs=require(_0xe912('0x12'));var as=require(_0xe912('0x13'));var hardwareService=require(_0xe912('0x14'));var logger=require(_0xe912('0x15'))(_0xe912('0x16'));var utils=require(_0xe912('0x17'));var config=require(_0xe912('0x18'));var licenseUtil=require(_0xe912('0x19'));var db=require(_0xe912('0x1a'))['db'];config[_0xe912('0x1b')]=_[_0xe912('0x1c')](config[_0xe912('0x1b')],{'host':_0xe912('0x1d'),'port':0x18eb});var socket=require(_0xe912('0x1e'))(new Redis(config[_0xe912('0x1b')]));require(_0xe912('0x1f'))['register'](socket);function respondWithStatusCode(_0x4bfc66,_0x2fad99){_0x2fad99=_0x2fad99||0xcc;return function(_0x3c32e3){if(_0x3c32e3){return _0x4bfc66[_0xe912('0x20')](_0x2fad99);}return _0x4bfc66[_0xe912('0x21')](_0x2fad99)[_0xe912('0x22')]();};}function respondWithResult(_0x49c15f,_0x2bfeaf){_0x2bfeaf=_0x2bfeaf||0xc8;return function(_0x5a8241){if(_0x5a8241){return _0x49c15f[_0xe912('0x21')](_0x2bfeaf)[_0xe912('0x23')](_0x5a8241);}};}function respondWithFilteredResult(_0x41266a,_0x2067e3){return function(_0x37cd8e){if(_0x37cd8e){var _0x3c2109=_0x37cd8e[_0xe912('0x24')],_0x3d6ac9=_0x2067e3['offset'],_0x44298d=_0x2067e3['offset']+_0x2067e3[_0xe912('0x25')],_0x12d0db;if(_0x44298d>=_0x3c2109){_0x44298d=_0x3c2109;_0x12d0db=0xc8;}else{_0x12d0db=0xce;}_0x41266a[_0xe912('0x21')](_0x12d0db);return _0x41266a[_0xe912('0x26')](_0xe912('0x27'),_0x3d6ac9+'-'+_0x44298d+'/'+_0x3c2109)[_0xe912('0x23')](_0x37cd8e);}return null;};}function patchUpdates(_0x14f108){return function(_0x1dc1dc){try{jsonpatch[_0xe912('0x28')](_0x1dc1dc,_0x14f108,!![]);}catch(_0x1bc126){return BPromise[_0xe912('0x29')](_0x1bc126);}return _0x1dc1dc[_0xe912('0x2a')]();};}function saveUpdates(_0x4b83cb,_0x18211f){return function(_0x3fcd39){if(_0x3fcd39){return _0x3fcd39[_0xe912('0x2b')](_0x4b83cb)[_0xe912('0x2c')](function(_0x2d48e0){return _0x2d48e0;});}return null;};}function removeEntity(_0x5c0557,_0x136258){return function(_0x575bdd){if(_0x575bdd){return _0x575bdd[_0xe912('0x2d')]()[_0xe912('0x2c')](function(){var _0x433884=_0x575bdd[_0xe912('0x2e')]({'plain':!![]});var _0x88a748=[{'name':_0xe912('0x2f'),'value':_0xe912('0x30'),'ignore':![]},{'name':_0xe912('0x31'),'value':_0xe912('0x32'),'ignore':![]},{'name':_0xe912('0x33'),'value':'internal','ignore':![]}];var _0xd03b08=_(_0x88a748)[_0xe912('0x34')](_0xe912('0x35'))[_0xe912('0x36')](_0xe912('0x37'))[_0xe912('0x37')]();if(_[_0xe912('0x38')](_0xd03b08,_0x433884[_0xe912('0x39')])){return;}var _0x64507a=_[_0xe912('0x3a')](_0x88a748,[_0xe912('0x37'),_0x433884[_0xe912('0x39')]])['name'];return db[_0xe912('0x3b')][_0xe912('0x2d')]({'where':{'type':_0x64507a,'resourceId':_0x433884['id']}})[_0xe912('0x2c')](function(){return _0x575bdd;});})[_0xe912('0x2c')](function(){_0x5c0557[_0xe912('0x21')](0xcc)[_0xe912('0x22')]();});}};}function handleEntityNotFound(_0x36db9f,_0x54c626){return function(_0x12b396){if(!_0x12b396){_0x36db9f[_0xe912('0x20')](0x194);}return _0x12b396;};}function handleError(_0x4e127b,_0x55154f){_0x55154f=_0x55154f||0x1f4;return function(_0x1e5690){logger[_0xe912('0x3c')](_0x1e5690['stack']);if(_0x1e5690[_0xe912('0x3d')]){delete _0x1e5690[_0xe912('0x3d')];}_0x4e127b[_0xe912('0x21')](_0x55154f)[_0xe912('0x3e')](_0x1e5690);};}exports[_0xe912('0x3f')]=function(_0x1900d7,_0x593659){var _0x6077fd={},_0xaa244c={},_0x4386b8={'count':0x0,'rows':[]};var _0x4f4d8f=_['map'](db['VoiceExtension']['rawAttributes'],function(_0x2cb1db){return{'name':_0x2cb1db['fieldName'],'type':_0x2cb1db['type'][_0xe912('0x40')]};});_0xaa244c[_0xe912('0x41')]=_[_0xe912('0x36')](_0x4f4d8f,'name');_0xaa244c[_0xe912('0x42')]=_['keys'](_0x1900d7[_0xe912('0x42')]);_0xaa244c[_0xe912('0x43')]=_[_0xe912('0x44')](_0xaa244c[_0xe912('0x41')],_0xaa244c[_0xe912('0x42')]);_0x6077fd[_0xe912('0x45')]=_[_0xe912('0x44')](_0xaa244c[_0xe912('0x41')],qs['fields'](_0x1900d7[_0xe912('0x42')]['fields']));_0x6077fd['attributes']=_0x6077fd[_0xe912('0x45')][_0xe912('0x46')]?_0x6077fd[_0xe912('0x45')]:_0xaa244c['model'];if(!_0x1900d7['query'][_0xe912('0x47')](_0xe912('0x48'))){_0x6077fd[_0xe912('0x25')]=qs[_0xe912('0x25')](_0x1900d7['query']['limit']);_0x6077fd[_0xe912('0x49')]=qs[_0xe912('0x49')](_0x1900d7[_0xe912('0x42')][_0xe912('0x49')]);}_0x6077fd[_0xe912('0x4a')]=qs[_0xe912('0x4b')](_0x1900d7[_0xe912('0x42')][_0xe912('0x4b')]);_0x6077fd['where']=qs[_0xe912('0x43')](_['pick'](_0x1900d7[_0xe912('0x42')],_0xaa244c['filters']),_0x4f4d8f);if(_0x1900d7['query'][_0xe912('0x34')]){_0x6077fd[_0xe912('0x4c')]=_[_0xe912('0x4d')](_0x6077fd['where'],{'$or':_[_0xe912('0x36')](_0x4f4d8f,function(_0x2069a4){if(_0x2069a4['type']!==_0xe912('0x4e')){var _0x21fcfe={};_0x21fcfe[_0x2069a4['name']]={'$like':'%'+_0x1900d7[_0xe912('0x42')][_0xe912('0x34')]+'%'};return _0x21fcfe;}})});}_0x6077fd=_[_0xe912('0x4d')]({},_0x6077fd,_0x1900d7[_0xe912('0x4f')]);var _0x12ed55={'where':_0x6077fd[_0xe912('0x4c')]};return db[_0xe912('0x50')]['count'](_0x12ed55)[_0xe912('0x2c')](function(_0x260165){_0x4386b8['count']=_0x260165;if(_0x1900d7[_0xe912('0x42')]['includeAll']){_0x6077fd[_0xe912('0x51')]=[{'all':!![]}];}return db[_0xe912('0x50')][_0xe912('0x52')](_0x6077fd);})[_0xe912('0x2c')](function(_0x207730){_0x4386b8['rows']=_0x207730;return _0x4386b8;})[_0xe912('0x2c')](respondWithFilteredResult(_0x593659,_0x6077fd))[_0xe912('0x53')](handleError(_0x593659,null));};exports[_0xe912('0x54')]=function(_0x460ebd,_0xbd75b5){var _0xe7c1a2={'raw':![],'where':{'id':_0x460ebd[_0xe912('0x55')]['id']}},_0x16d1ce={};_0x16d1ce[_0xe912('0x41')]=_[_0xe912('0x56')](db['VoiceExtension'][_0xe912('0x57')]);_0x16d1ce[_0xe912('0x42')]=_[_0xe912('0x56')](_0x460ebd[_0xe912('0x42')]);_0x16d1ce[_0xe912('0x43')]=_[_0xe912('0x44')](_0x16d1ce[_0xe912('0x41')],_0x16d1ce['query']);_0xe7c1a2['attributes']=_[_0xe912('0x44')](_0x16d1ce[_0xe912('0x41')],qs['fields'](_0x460ebd['query'][_0xe912('0x58')]));_0xe7c1a2[_0xe912('0x45')]=_0xe7c1a2[_0xe912('0x45')][_0xe912('0x46')]?_0xe7c1a2['attributes']:_0x16d1ce[_0xe912('0x41')];if(_0x460ebd[_0xe912('0x42')][_0xe912('0x59')]){_0xe7c1a2[_0xe912('0x51')]=[{'all':!![]}];}_0xe7c1a2=_[_0xe912('0x4d')]({},_0xe7c1a2,_0x460ebd[_0xe912('0x4f')]);return db[_0xe912('0x50')][_0xe912('0x3a')](_0xe7c1a2)[_0xe912('0x2c')](handleEntityNotFound(_0xbd75b5,null))[_0xe912('0x2c')](respondWithResult(_0xbd75b5,null))[_0xe912('0x53')](handleError(_0xbd75b5,null));};exports['destroy']=function(_0x34f331,_0x29b686){return db[_0xe912('0x50')]['find']({'where':{'id':_0x34f331['params']['id']}})[_0xe912('0x2c')](handleEntityNotFound(_0x29b686,null))[_0xe912('0x2c')](removeEntity(_0x29b686,null))[_0xe912('0x53')](handleError(_0x29b686,null));};exports['create']=function(_0x151061,_0x185fba){if(_0x151061['body']['type']==='outbound'&&!_['startsWith'](_0x151061[_0xe912('0x5a')][_0xe912('0x5b')],'_')){_0x151061[_0xe912('0x5a')][_0xe912('0x5b')]='_'[_0xe912('0x5c')](_0x151061[_0xe912('0x5a')][_0xe912('0x5b')]);}return db['VoiceExtension'][_0xe912('0x5d')](_0x151061['body'],{'raw':![]})['then'](function(_0x162bf3){var _0x5b9895=_0x151061[_0xe912('0x5e')][_0xe912('0x2e')]({'plain':!![]});if(!_0x5b9895)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5b9895[_0xe912('0x5f')]===_0xe912('0x5e')){var _0x2915f6=_0x162bf3[_0xe912('0x2e')]({'plain':!![]});var _0x2e5893=[{'name':_0xe912('0x2f'),'value':_0xe912('0x30')},{'name':_0xe912('0x31'),'value':_0xe912('0x32')},{'name':_0xe912('0x33'),'value':_0xe912('0x60')}];var _0x27a94c=_[_0xe912('0x3a')](_0x2e5893,['value',_0x2915f6[_0xe912('0x39')]])[_0xe912('0x3d')];return db['UserProfileSection']['find']({'where':{'name':_0x27a94c,'userProfileId':_0x5b9895[_0xe912('0x61')]},'raw':!![]})[_0xe912('0x2c')](function(_0x4cf5fe){if(_0x4cf5fe&&_0x4cf5fe[_0xe912('0x62')]===0x0){return db[_0xe912('0x3b')][_0xe912('0x5d')]({'name':_0x2915f6[_0xe912('0x3d')],'resourceId':_0x2915f6['id'],'type':_0x4cf5fe['name'],'sectionId':_0x4cf5fe['id']},{})[_0xe912('0x2c')](function(){return _0x162bf3;});}else{return _0x162bf3;}})[_0xe912('0x53')](function(_0x205446){logger[_0xe912('0x3c')](_0xe912('0x63'),_0x205446);throw _0x205446;});}return _0x162bf3;})[_0xe912('0x2c')](respondWithResult(_0x185fba,0xc9))[_0xe912('0x53')](handleError(_0x185fba,null));};exports['update']=function(_0x4d0031,_0xd4760f){if(_0x4d0031['body']['id']){delete _0x4d0031['body']['id'];}return db[_0xe912('0x50')][_0xe912('0x3a')]({'where':{'id':_0x4d0031['params']['id']}})[_0xe912('0x2c')](handleEntityNotFound(_0xd4760f,null))[_0xe912('0x2c')](function(_0x4639b3){if(_0x4639b3){return db[_0xe912('0x50')][_0xe912('0x2b')](_[_0xe912('0x64')](_0x4d0031['body'],[_0xe912('0x5b'),_0xe912('0x65'),_0xe912('0x66'),_0xe912('0x67'),_0xe912('0x68'),'mandatoryDisposition']),{'where':{'context':_0x4639b3['context'],'exten':_0x4639b3[_0xe912('0x5b')]},'individualHooks':!![]})[_0xe912('0x2c')](function(_0x5b0f89){return _0x5b0f89;});}return null;})[_0xe912('0x2c')](respondWithStatusCode(_0xd4760f,null))[_0xe912('0x53')](handleError(_0xd4760f,null));};exports[_0xe912('0x69')]=function(_0x2d0b79,_0xdd2b7c,_0x1c1596){return db[_0xe912('0x50')][_0xe912('0x6a')]({'where':{'id':_0x2d0b79[_0xe912('0x55')]['id']}})[_0xe912('0x2c')](handleEntityNotFound(_0xdd2b7c,null))[_0xe912('0x2c')](function(_0x563cd8){if(_0x563cd8){return db[_0xe912('0x6b')][_0xe912('0x6c')](function(_0x5113ab){return db[_0xe912('0x50')][_0xe912('0x2d')]({'where':{'VoiceExtensionId':_0x2d0b79[_0xe912('0x55')]['id']},'transaction':_0x5113ab})[_0xe912('0x2c')](function(_0x582a53){var _0x7c70e2=_['map'](_0x2d0b79['body'],function(_0x5a6fbb){_0x5a6fbb[_0xe912('0x6d')]=_0x2d0b79[_0xe912('0x55')]['id'];return _0x5a6fbb;});return db[_0xe912('0x50')][_0xe912('0x6e')](_0x7c70e2,{'transaction':_0x5113ab});});})[_0xe912('0x2c')](function(){return db[_0xe912('0x50')][_0xe912('0x6f')]({'where':{'isApp':!![],'VoiceExtensionId':_0x2d0b79[_0xe912('0x55')]['id']},'order':_0xe912('0x70')});});}})['then'](respondWithResult(_0xdd2b7c,null))[_0xe912('0x53')](handleError(_0xdd2b7c,null));};