Built motion from commit (unavailable).|2.3.1
[motion2.git] / server / api / voiceMail / voiceMail.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 _0xdf93=['Content-Range','apply','reject','save','update','then','destroy','get','Voicemails','UserProfileResource','error','name','send','index','VoiceMail','rawAttributes','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','map','type','key','VIRTUAL','field','options','includeAll','include','findAll','catch','params','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','VoiceMailMessage','order','mailbox','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set'];(function(_0x192851,_0x598494){var _0x515ac0=function(_0x1aff30){while(--_0x1aff30){_0x192851['push'](_0x192851['shift']());}};_0x515ac0(++_0x598494);}(_0xdf93,0x192));var _0x3df9=function(_0xdc5e5e,_0x124f3c){_0xdc5e5e=_0xdc5e5e-0x0;var _0x20af19=_0xdf93[_0xdc5e5e];return _0x20af19;};'use strict';var pdf=require(_0x3df9('0x0'));var emlformat=require(_0x3df9('0x1'));var rimraf=require(_0x3df9('0x2'));var zipdir=require(_0x3df9('0x3'));var jsonpatch=require(_0x3df9('0x4'));var rp=require(_0x3df9('0x5'));var moment=require(_0x3df9('0x6'));var BPromise=require(_0x3df9('0x7'));var Mustache=require(_0x3df9('0x8'));var util=require(_0x3df9('0x9'));var path=require(_0x3df9('0xa'));var sox=require(_0x3df9('0xb'));var csv=require(_0x3df9('0xc'));var ejs=require(_0x3df9('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0x3df9('0xe'));var crypto=require(_0x3df9('0xf'));var jsforce=require(_0x3df9('0x10'));var deskjs=require(_0x3df9('0x11'));var toCsv=require(_0x3df9('0xc'));var querystring=require(_0x3df9('0x12'));var Papa=require(_0x3df9('0x13'));var authService=require('../../components/auth/service');var hardwareService=require(_0x3df9('0x14'));var Redis=require(_0x3df9('0x15'));var qs=require(_0x3df9('0x16'));var logger=require('../../config/logger')(_0x3df9('0x17'));var utils=require('../../config/utils');var config=require(_0x3df9('0x18'));var db=require(_0x3df9('0x19'))['db'];function respondWithStatusCode(_0x280d6e,_0x243df1){_0x243df1=_0x243df1||0xcc;return function(_0x39fa80){if(_0x39fa80){return _0x280d6e[_0x3df9('0x1a')](_0x243df1);}return _0x280d6e[_0x3df9('0x1b')](_0x243df1)[_0x3df9('0x1c')]();};}function respondWithResult(_0x59cabb,_0x409326){_0x409326=_0x409326||0xc8;return function(_0xc0ae3a){if(_0xc0ae3a){return _0x59cabb[_0x3df9('0x1b')](_0x409326)['json'](_0xc0ae3a);}};}function respondWithFilteredResult(_0x4d68ba,_0x1efd7f){return function(_0x42cd04){if(_0x42cd04){var _0x16d872=_0x42cd04[_0x3df9('0x1d')],_0x10e30f=_0x1efd7f[_0x3df9('0x1e')],_0x5e99ef=_0x1efd7f['offset']+_0x1efd7f[_0x3df9('0x1f')],_0x40a8d5;if(_0x5e99ef>=_0x16d872){_0x5e99ef=_0x16d872;_0x40a8d5=0xc8;}else{_0x40a8d5=0xce;}_0x4d68ba[_0x3df9('0x1b')](_0x40a8d5);return _0x4d68ba[_0x3df9('0x20')](_0x3df9('0x21'),_0x10e30f+'-'+_0x5e99ef+'/'+_0x16d872)['json'](_0x42cd04);}return null;};}function patchUpdates(_0x362bbe){return function(_0x9360d3){try{jsonpatch[_0x3df9('0x22')](_0x9360d3,_0x362bbe,!![]);}catch(_0x5dc44e){return BPromise[_0x3df9('0x23')](_0x5dc44e);}return _0x9360d3[_0x3df9('0x24')]();};}function saveUpdates(_0x367121,_0x1a02d4){return function(_0x115b56){if(_0x115b56){return _0x115b56[_0x3df9('0x25')](_0x367121)[_0x3df9('0x26')](function(_0x55f7d3){return _0x55f7d3;});}return null;};}function removeEntity(_0x40c835,_0xa8858d){return function(_0x1bc885){if(_0x1bc885){return _0x1bc885[_0x3df9('0x27')]()['then'](function(){var _0x267d96=_0x1bc885[_0x3df9('0x28')]({'plain':!![]});var _0x51b0e0=_0x3df9('0x29');return db[_0x3df9('0x2a')][_0x3df9('0x27')]({'where':{'type':_0x51b0e0,'resourceId':_0x267d96['id']}})['then'](function(){return _0x1bc885;});})[_0x3df9('0x26')](function(){_0x40c835[_0x3df9('0x1b')](0xcc)[_0x3df9('0x1c')]();});}};}function handleEntityNotFound(_0x37d56d,_0x11c7e9){return function(_0x3bc67e){if(!_0x3bc67e){_0x37d56d['sendStatus'](0x194);}return _0x3bc67e;};}function handleError(_0x55ea76,_0x251162){_0x251162=_0x251162||0x1f4;return function(_0x52f988){logger[_0x3df9('0x2b')](_0x52f988['stack']);if(_0x52f988[_0x3df9('0x2c')]){delete _0x52f988[_0x3df9('0x2c')];}_0x55ea76['status'](_0x251162)[_0x3df9('0x2d')](_0x52f988);};}exports[_0x3df9('0x2e')]=function(_0x38d1b6,_0x46de58){var _0x6718e7={},_0x5bef2b={},_0x102290={'count':0x0,'rows':[]};var _0x1d278c=db[_0x3df9('0x2f')][_0x3df9('0x30')];_0x5bef2b[_0x3df9('0x31')]=_['keys'](_0x1d278c);_0x5bef2b[_0x3df9('0x32')]=_[_0x3df9('0x33')](_0x38d1b6[_0x3df9('0x32')]);_0x5bef2b[_0x3df9('0x34')]=_[_0x3df9('0x35')](_0x5bef2b[_0x3df9('0x31')],_0x5bef2b[_0x3df9('0x32')]);_0x6718e7['attributes']=_['intersection'](_0x5bef2b[_0x3df9('0x31')],qs[_0x3df9('0x36')](_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x36')]));_0x6718e7[_0x3df9('0x37')]=_0x6718e7[_0x3df9('0x37')][_0x3df9('0x38')]?_0x6718e7[_0x3df9('0x37')]:_0x5bef2b[_0x3df9('0x31')];if(!_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x39')]('nolimit')){_0x6718e7[_0x3df9('0x1f')]=qs[_0x3df9('0x1f')](_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x1f')]);_0x6718e7['offset']=qs[_0x3df9('0x1e')](_0x38d1b6['query'][_0x3df9('0x1e')]);}_0x6718e7['order']=qs[_0x3df9('0x3a')](_0x38d1b6['query'][_0x3df9('0x3a')]);_0x6718e7[_0x3df9('0x3b')]=qs[_0x3df9('0x34')](_[_0x3df9('0x3c')](_0x38d1b6[_0x3df9('0x32')],_0x5bef2b[_0x3df9('0x34')]));if(_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x3d')]){_0x6718e7['where']=_[_0x3df9('0x3e')](_0x6718e7[_0x3df9('0x3b')],{'$or':_[_0x3df9('0x3f')](_0x1d278c,function(_0x5b9eeb){if(_0x5b9eeb[_0x3df9('0x40')][_0x3df9('0x41')]!==_0x3df9('0x42')){var _0x32e457={};_0x32e457[_0x5b9eeb[_0x3df9('0x43')]]={'$like':'%'+_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x3d')]+'%'};return _0x32e457;}})});}_0x6718e7=_[_0x3df9('0x3e')]({},_0x6718e7,_0x38d1b6[_0x3df9('0x44')]);var _0x52d7fe={'where':_0x6718e7[_0x3df9('0x3b')]};return db[_0x3df9('0x2f')][_0x3df9('0x1d')](_0x52d7fe)[_0x3df9('0x26')](function(_0x5287e0){_0x102290[_0x3df9('0x1d')]=_0x5287e0;if(_0x38d1b6[_0x3df9('0x32')][_0x3df9('0x45')]){_0x6718e7[_0x3df9('0x46')]=[{'all':!![]}];}return db[_0x3df9('0x2f')][_0x3df9('0x47')](_0x6718e7);})[_0x3df9('0x26')](function(_0xf3da8b){_0x102290['rows']=_0xf3da8b;return _0x102290;})[_0x3df9('0x26')](respondWithFilteredResult(_0x46de58,_0x6718e7))[_0x3df9('0x48')](handleError(_0x46de58,null));};exports['show']=function(_0x270cd8,_0x4417ed){var _0x5f0389={'raw':!![],'where':{'id':_0x270cd8[_0x3df9('0x49')]['id']}},_0x13f032={};_0x13f032[_0x3df9('0x31')]=_[_0x3df9('0x33')](db[_0x3df9('0x2f')][_0x3df9('0x30')]);_0x13f032[_0x3df9('0x32')]=_[_0x3df9('0x33')](_0x270cd8[_0x3df9('0x32')]);_0x13f032[_0x3df9('0x34')]=_[_0x3df9('0x35')](_0x13f032['model'],_0x13f032[_0x3df9('0x32')]);_0x5f0389[_0x3df9('0x37')]=_['intersection'](_0x13f032[_0x3df9('0x31')],qs[_0x3df9('0x36')](_0x270cd8[_0x3df9('0x32')]['fields']));_0x5f0389[_0x3df9('0x37')]=_0x5f0389[_0x3df9('0x37')]['length']?_0x5f0389[_0x3df9('0x37')]:_0x13f032[_0x3df9('0x31')];if(_0x270cd8[_0x3df9('0x32')][_0x3df9('0x45')]){_0x5f0389[_0x3df9('0x46')]=[{'all':!![]}];}_0x5f0389=_[_0x3df9('0x3e')]({},_0x5f0389,_0x270cd8[_0x3df9('0x44')]);return db['VoiceMail'][_0x3df9('0x4a')](_0x5f0389)[_0x3df9('0x26')](handleEntityNotFound(_0x4417ed,null))[_0x3df9('0x26')](respondWithResult(_0x4417ed,null))[_0x3df9('0x48')](handleError(_0x4417ed,null));};exports[_0x3df9('0x4b')]=function(_0x7818bd,_0x745ae6){return db['VoiceMail'][_0x3df9('0x4b')](_0x7818bd[_0x3df9('0x4c')],{})[_0x3df9('0x26')](function(_0x53e80a){var _0x485113=_0x7818bd['user'][_0x3df9('0x28')]({'plain':!![]});if(!_0x485113)throw new Error(_0x3df9('0x4d'));if(_0x485113[_0x3df9('0x4e')]===_0x3df9('0x4f')){var _0x2adeb5=_0x53e80a[_0x3df9('0x28')]({'plain':!![]});var _0x5dc0c1=_0x3df9('0x29');return db[_0x3df9('0x50')][_0x3df9('0x4a')]({'where':{'name':_0x5dc0c1,'userProfileId':_0x485113['userProfileId']},'raw':!![]})[_0x3df9('0x26')](function(_0x5a4679){if(_0x5a4679&&_0x5a4679[_0x3df9('0x51')]===0x0){return db[_0x3df9('0x2a')][_0x3df9('0x4b')]({'name':_0x2adeb5[_0x3df9('0x2c')],'resourceId':_0x2adeb5['id'],'type':_0x5a4679['name'],'sectionId':_0x5a4679['id']},{})[_0x3df9('0x26')](function(){return _0x53e80a;});}else{return _0x53e80a;}})['catch'](function(_0x57a919){logger['error'](_0x3df9('0x52'),_0x57a919);throw _0x57a919;});}return _0x53e80a;})[_0x3df9('0x26')](respondWithResult(_0x745ae6,0xc9))[_0x3df9('0x48')](handleError(_0x745ae6,null));};exports[_0x3df9('0x25')]=function(_0x38d0b6,_0x5e1d24){if(_0x38d0b6[_0x3df9('0x4c')]['id']){delete _0x38d0b6['body']['id'];}return db[_0x3df9('0x2f')][_0x3df9('0x4a')]({'where':{'id':_0x38d0b6['params']['id']}})[_0x3df9('0x26')](handleEntityNotFound(_0x5e1d24,null))['then'](saveUpdates(_0x38d0b6[_0x3df9('0x4c')],null))[_0x3df9('0x26')](respondWithResult(_0x5e1d24,null))[_0x3df9('0x48')](handleError(_0x5e1d24,null));};exports[_0x3df9('0x27')]=function(_0x414f4b,_0x5ce22a){return db[_0x3df9('0x2f')]['find']({'where':{'id':_0x414f4b[_0x3df9('0x49')]['id']}})[_0x3df9('0x26')](handleEntityNotFound(_0x5ce22a,null))['then'](removeEntity(_0x5ce22a,null))[_0x3df9('0x48')](handleError(_0x5ce22a,null));};exports['getMessages']=function(_0x7f8783,_0x443bfd,_0x1c796c){return db[_0x3df9('0x2f')]['findOne']({'where':{'id':_0x7f8783['params']['id']}})[_0x3df9('0x26')](handleEntityNotFound(_0x443bfd,null))[_0x3df9('0x26')](function(_0x10d58d){var _0x14e1f1;var _0x3e096f={},_0x2a1d31={};_0x2a1d31[_0x3df9('0x31')]=_[_0x3df9('0x33')](db[_0x3df9('0x53')][_0x3df9('0x30')]);_0x2a1d31[_0x3df9('0x32')]=_[_0x3df9('0x33')](_0x7f8783[_0x3df9('0x32')]);_0x2a1d31[_0x3df9('0x34')]=_[_0x3df9('0x35')](_0x2a1d31['model'],_0x2a1d31[_0x3df9('0x32')]);_0x3e096f[_0x3df9('0x37')]=_[_0x3df9('0x35')](_0x2a1d31['model'],qs[_0x3df9('0x36')](_0x7f8783['query'][_0x3df9('0x36')]));_0x3e096f['attributes']=_0x3e096f[_0x3df9('0x37')]['length']?_0x3e096f['attributes']:_0x2a1d31[_0x3df9('0x31')];if(!_0x7f8783[_0x3df9('0x32')]['hasOwnProperty']('nolimit')){_0x3e096f[_0x3df9('0x1f')]=qs[_0x3df9('0x1f')](_0x7f8783[_0x3df9('0x32')][_0x3df9('0x1f')]);_0x3e096f['offset']=qs['offset'](_0x7f8783['query']['offset']);}_0x3e096f[_0x3df9('0x54')]=qs['sort'](_0x7f8783['query'][_0x3df9('0x3a')]);_0x3e096f['where']=qs[_0x3df9('0x34')](_[_0x3df9('0x3c')](_0x7f8783[_0x3df9('0x32')],_0x2a1d31[_0x3df9('0x34')]));if(_0x7f8783[_0x3df9('0x32')]['filter']){_0x3e096f[_0x3df9('0x3b')]=_['merge'](_0x3e096f[_0x3df9('0x3b')],{'$or':_[_0x3df9('0x3f')](_0x3e096f[_0x3df9('0x37')],function(_0x3f63f1){var _0x3297a8={};_0x3297a8[_0x3f63f1]={'$like':'%'+_0x7f8783[_0x3df9('0x32')][_0x3df9('0x3d')]+'%'};return _0x3297a8;})});}_0x3e096f[_0x3df9('0x3b')]=_[_0x3df9('0x3e')](_0x3e096f['where'],{'mailboxuser':_0x10d58d[_0x3df9('0x55')]});_0x3e096f=_[_0x3df9('0x3e')]({},_0x3e096f,_0x7f8783[_0x3df9('0x44')]);return db[_0x3df9('0x53')][_0x3df9('0x56')](_0x3e096f)[_0x3df9('0x26')](respondWithFilteredResult(_0x443bfd,_0x3e096f));})[_0x3df9('0x48')](handleError(_0x443bfd,null));};