Built motion from commit (unavailable).|2.5.21
[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 _0x9962=['getMessages','findOne','VoiceMailMessage','order','mailbox','findAndCountAll','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','set','apply','reject','save','then','get','Voicemails','UserProfileResource','destroy','end','error','name','index','VoiceMail','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','intersection','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0xe518e6,_0x90141f){var _0x3d7e10=function(_0x2f989a){while(--_0x2f989a){_0xe518e6['push'](_0xe518e6['shift']());}};_0x3d7e10(++_0x90141f);}(_0x9962,0xb8));var _0x2996=function(_0x45358e,_0x55888f){_0x45358e=_0x45358e-0x0;var _0x21ebbf=_0x9962[_0x45358e];return _0x21ebbf;};'use strict';var pdf=require(_0x2996('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2996('0x1'));var zipdir=require(_0x2996('0x2'));var jsonpatch=require(_0x2996('0x3'));var rp=require('request-promise');var moment=require(_0x2996('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2996('0x5'));var util=require(_0x2996('0x6'));var path=require('path');var sox=require(_0x2996('0x7'));var csv=require(_0x2996('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x2996('0x9'));var squel=require(_0x2996('0xa'));var crypto=require(_0x2996('0xb'));var jsforce=require(_0x2996('0xc'));var deskjs=require(_0x2996('0xd'));var toCsv=require('to-csv');var querystring=require(_0x2996('0xe'));var Papa=require('papaparse');var Redis=require(_0x2996('0xf'));var authService=require(_0x2996('0x10'));var qs=require(_0x2996('0x11'));var as=require(_0x2996('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2996('0x13'))(_0x2996('0x14'));var utils=require(_0x2996('0x15'));var config=require(_0x2996('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x2996('0x17'))['db'];function respondWithStatusCode(_0x21f096,_0x10a958){_0x10a958=_0x10a958||0xcc;return function(_0x30b5e4){if(_0x30b5e4){return _0x21f096['sendStatus'](_0x10a958);}return _0x21f096[_0x2996('0x18')](_0x10a958)['end']();};}function respondWithResult(_0x4117f5,_0x468a4f){_0x468a4f=_0x468a4f||0xc8;return function(_0x5b942f){if(_0x5b942f){return _0x4117f5[_0x2996('0x18')](_0x468a4f)[_0x2996('0x19')](_0x5b942f);}};}function respondWithFilteredResult(_0x39b18e,_0x43e380){return function(_0xc267fb){if(_0xc267fb){var _0xb50801=_0xc267fb[_0x2996('0x1a')],_0x311270=_0x43e380[_0x2996('0x1b')],_0x51762b=_0x43e380['offset']+_0x43e380['limit'],_0x4e5d53;if(_0x51762b>=_0xb50801){_0x51762b=_0xb50801;_0x4e5d53=0xc8;}else{_0x4e5d53=0xce;}_0x39b18e[_0x2996('0x18')](_0x4e5d53);return _0x39b18e[_0x2996('0x1c')]('Content-Range',_0x311270+'-'+_0x51762b+'/'+_0xb50801)[_0x2996('0x19')](_0xc267fb);}return null;};}function patchUpdates(_0x11ef19){return function(_0x9743ee){try{jsonpatch[_0x2996('0x1d')](_0x9743ee,_0x11ef19,!![]);}catch(_0x289748){return BPromise[_0x2996('0x1e')](_0x289748);}return _0x9743ee[_0x2996('0x1f')]();};}function saveUpdates(_0x232ec9,_0x2c5cb3){return function(_0x256c72){if(_0x256c72){return _0x256c72['update'](_0x232ec9)[_0x2996('0x20')](function(_0x11bf00){return _0x11bf00;});}return null;};}function removeEntity(_0x43e835,_0x64a05b){return function(_0xa39f6d){if(_0xa39f6d){return _0xa39f6d['destroy']()[_0x2996('0x20')](function(){var _0x42e5f5=_0xa39f6d[_0x2996('0x21')]({'plain':!![]});var _0x4de34d=_0x2996('0x22');return db[_0x2996('0x23')][_0x2996('0x24')]({'where':{'type':_0x4de34d,'resourceId':_0x42e5f5['id']}})['then'](function(){return _0xa39f6d;});})[_0x2996('0x20')](function(){_0x43e835[_0x2996('0x18')](0xcc)[_0x2996('0x25')]();});}};}function handleEntityNotFound(_0x53c636,_0x3c9303){return function(_0x15ab22){if(!_0x15ab22){_0x53c636['sendStatus'](0x194);}return _0x15ab22;};}function handleError(_0x229fad,_0xd66746){_0xd66746=_0xd66746||0x1f4;return function(_0xb8a383){logger[_0x2996('0x26')](_0xb8a383['stack']);if(_0xb8a383[_0x2996('0x27')]){delete _0xb8a383[_0x2996('0x27')];}_0x229fad['status'](_0xd66746)['send'](_0xb8a383);};}exports[_0x2996('0x28')]=function(_0x4941c3,_0x3adddd){var _0x3a509f={},_0x13bfc0={},_0x45b461={'count':0x0,'rows':[]};var _0x4b3e5e=_['map'](db[_0x2996('0x29')][_0x2996('0x2a')],function(_0x3b6503){return{'name':_0x3b6503[_0x2996('0x2b')],'type':_0x3b6503[_0x2996('0x2c')][_0x2996('0x2d')]};});_0x13bfc0[_0x2996('0x2e')]=_[_0x2996('0x2f')](_0x4b3e5e,'name');_0x13bfc0[_0x2996('0x30')]=_[_0x2996('0x31')](_0x4941c3['query']);_0x13bfc0[_0x2996('0x32')]=_['intersection'](_0x13bfc0[_0x2996('0x2e')],_0x13bfc0[_0x2996('0x30')]);_0x3a509f[_0x2996('0x33')]=_['intersection'](_0x13bfc0['model'],qs[_0x2996('0x34')](_0x4941c3['query'][_0x2996('0x34')]));_0x3a509f[_0x2996('0x33')]=_0x3a509f['attributes'][_0x2996('0x35')]?_0x3a509f[_0x2996('0x33')]:_0x13bfc0[_0x2996('0x2e')];if(!_0x4941c3[_0x2996('0x30')][_0x2996('0x36')](_0x2996('0x37'))){_0x3a509f['limit']=qs['limit'](_0x4941c3[_0x2996('0x30')][_0x2996('0x38')]);_0x3a509f[_0x2996('0x1b')]=qs[_0x2996('0x1b')](_0x4941c3[_0x2996('0x30')][_0x2996('0x1b')]);}_0x3a509f['order']=qs[_0x2996('0x39')](_0x4941c3[_0x2996('0x30')]['sort']);_0x3a509f['where']=qs[_0x2996('0x32')](_[_0x2996('0x3a')](_0x4941c3['query'],_0x13bfc0[_0x2996('0x32')]),_0x4b3e5e);if(_0x4941c3[_0x2996('0x30')][_0x2996('0x3b')]){_0x3a509f[_0x2996('0x3c')]=_[_0x2996('0x3d')](_0x3a509f[_0x2996('0x3c')],{'$or':_[_0x2996('0x2f')](_0x4b3e5e,function(_0x2a1e11){if(_0x2a1e11['type']!==_0x2996('0x3e')){var _0x20cbba={};_0x20cbba[_0x2a1e11[_0x2996('0x27')]]={'$like':'%'+_0x4941c3['query'][_0x2996('0x3b')]+'%'};return _0x20cbba;}})});}_0x3a509f=_['merge']({},_0x3a509f,_0x4941c3[_0x2996('0x3f')]);var _0x25b24a={'where':_0x3a509f[_0x2996('0x3c')]};return db[_0x2996('0x29')][_0x2996('0x1a')](_0x25b24a)[_0x2996('0x20')](function(_0x451a0b){_0x45b461[_0x2996('0x1a')]=_0x451a0b;if(_0x4941c3[_0x2996('0x30')][_0x2996('0x40')]){_0x3a509f['include']=[{'all':!![]}];}return db[_0x2996('0x29')][_0x2996('0x41')](_0x3a509f);})[_0x2996('0x20')](function(_0x577e3e){_0x45b461[_0x2996('0x42')]=_0x577e3e;return _0x45b461;})['then'](respondWithFilteredResult(_0x3adddd,_0x3a509f))['catch'](handleError(_0x3adddd,null));};exports[_0x2996('0x43')]=function(_0x256190,_0x134437){var _0x52b3a4={'raw':!![],'where':{'id':_0x256190[_0x2996('0x44')]['id']}},_0x40f830={};_0x40f830[_0x2996('0x2e')]=_[_0x2996('0x31')](db[_0x2996('0x29')][_0x2996('0x2a')]);_0x40f830['query']=_['keys'](_0x256190[_0x2996('0x30')]);_0x40f830[_0x2996('0x32')]=_[_0x2996('0x45')](_0x40f830[_0x2996('0x2e')],_0x40f830[_0x2996('0x30')]);_0x52b3a4[_0x2996('0x33')]=_[_0x2996('0x45')](_0x40f830[_0x2996('0x2e')],qs['fields'](_0x256190['query']['fields']));_0x52b3a4[_0x2996('0x33')]=_0x52b3a4[_0x2996('0x33')]['length']?_0x52b3a4[_0x2996('0x33')]:_0x40f830[_0x2996('0x2e')];if(_0x256190[_0x2996('0x30')]['includeAll']){_0x52b3a4[_0x2996('0x46')]=[{'all':!![]}];}_0x52b3a4=_[_0x2996('0x3d')]({},_0x52b3a4,_0x256190[_0x2996('0x3f')]);return db[_0x2996('0x29')][_0x2996('0x47')](_0x52b3a4)[_0x2996('0x20')](handleEntityNotFound(_0x134437,null))[_0x2996('0x20')](respondWithResult(_0x134437,null))[_0x2996('0x48')](handleError(_0x134437,null));};exports[_0x2996('0x49')]=function(_0x1fff15,_0x47da08){return db['VoiceMail']['create'](_0x1fff15[_0x2996('0x4a')],{})[_0x2996('0x20')](function(_0x1a4ea5){var _0x7d35b5=_0x1fff15[_0x2996('0x4b')][_0x2996('0x21')]({'plain':!![]});if(!_0x7d35b5)throw new Error(_0x2996('0x4c'));if(_0x7d35b5[_0x2996('0x4d')]===_0x2996('0x4b')){var _0x44271a=_0x1a4ea5['get']({'plain':!![]});var _0x4a4ff0=_0x2996('0x22');return db[_0x2996('0x4e')][_0x2996('0x47')]({'where':{'name':_0x4a4ff0,'userProfileId':_0x7d35b5[_0x2996('0x4f')]},'raw':!![]})[_0x2996('0x20')](function(_0x19fc64){if(_0x19fc64&&_0x19fc64[_0x2996('0x50')]===0x0){return db['UserProfileResource'][_0x2996('0x49')]({'name':_0x44271a[_0x2996('0x27')],'resourceId':_0x44271a['id'],'type':_0x19fc64[_0x2996('0x27')],'sectionId':_0x19fc64['id']},{})[_0x2996('0x20')](function(){return _0x1a4ea5;});}else{return _0x1a4ea5;}})[_0x2996('0x48')](function(_0x1805fd){logger['error'](_0x2996('0x51'),_0x1805fd);throw _0x1805fd;});}return _0x1a4ea5;})[_0x2996('0x20')](respondWithResult(_0x47da08,0xc9))[_0x2996('0x48')](handleError(_0x47da08,null));};exports[_0x2996('0x52')]=function(_0x52d37c,_0x4e2412){if(_0x52d37c[_0x2996('0x4a')]['id']){delete _0x52d37c[_0x2996('0x4a')]['id'];}return db[_0x2996('0x29')][_0x2996('0x47')]({'where':{'id':_0x52d37c['params']['id']}})['then'](handleEntityNotFound(_0x4e2412,null))['then'](saveUpdates(_0x52d37c[_0x2996('0x4a')],null))[_0x2996('0x20')](respondWithResult(_0x4e2412,null))[_0x2996('0x48')](handleError(_0x4e2412,null));};exports['destroy']=function(_0x444609,_0x13fb1b){return db[_0x2996('0x29')][_0x2996('0x47')]({'where':{'id':_0x444609['params']['id']}})[_0x2996('0x20')](handleEntityNotFound(_0x13fb1b,null))[_0x2996('0x20')](removeEntity(_0x13fb1b,null))[_0x2996('0x48')](handleError(_0x13fb1b,null));};exports[_0x2996('0x53')]=function(_0x2310f0,_0x5ce83c,_0x3acea9){return db[_0x2996('0x29')][_0x2996('0x54')]({'where':{'id':_0x2310f0[_0x2996('0x44')]['id']}})[_0x2996('0x20')](handleEntityNotFound(_0x5ce83c,null))[_0x2996('0x20')](function(_0x2497a4){var _0x3628d6;var _0x37e06e={},_0x11600e={};_0x11600e['model']=_[_0x2996('0x31')](db[_0x2996('0x55')][_0x2996('0x2a')]);_0x11600e[_0x2996('0x30')]=_[_0x2996('0x31')](_0x2310f0[_0x2996('0x30')]);_0x11600e['filters']=_['intersection'](_0x11600e[_0x2996('0x2e')],_0x11600e[_0x2996('0x30')]);_0x37e06e[_0x2996('0x33')]=_[_0x2996('0x45')](_0x11600e['model'],qs[_0x2996('0x34')](_0x2310f0[_0x2996('0x30')][_0x2996('0x34')]));_0x37e06e[_0x2996('0x33')]=_0x37e06e[_0x2996('0x33')]['length']?_0x37e06e[_0x2996('0x33')]:_0x11600e[_0x2996('0x2e')];if(!_0x2310f0[_0x2996('0x30')][_0x2996('0x36')](_0x2996('0x37'))){_0x37e06e[_0x2996('0x38')]=qs[_0x2996('0x38')](_0x2310f0[_0x2996('0x30')]['limit']);_0x37e06e[_0x2996('0x1b')]=qs[_0x2996('0x1b')](_0x2310f0[_0x2996('0x30')]['offset']);}_0x37e06e[_0x2996('0x56')]=qs['sort'](_0x2310f0[_0x2996('0x30')][_0x2996('0x39')]);_0x37e06e['where']=qs[_0x2996('0x32')](_['pick'](_0x2310f0[_0x2996('0x30')],_0x11600e['filters']));if(_0x2310f0[_0x2996('0x30')][_0x2996('0x3b')]){_0x37e06e[_0x2996('0x3c')]=_[_0x2996('0x3d')](_0x37e06e[_0x2996('0x3c')],{'$or':_[_0x2996('0x2f')](_0x37e06e[_0x2996('0x33')],function(_0x4c26d1){var _0x1d677e={};_0x1d677e[_0x4c26d1]={'$like':'%'+_0x2310f0[_0x2996('0x30')][_0x2996('0x3b')]+'%'};return _0x1d677e;})});}_0x37e06e[_0x2996('0x3c')]=_[_0x2996('0x3d')](_0x37e06e['where'],{'mailboxuser':_0x2497a4[_0x2996('0x57')]});_0x37e06e=_[_0x2996('0x3d')]({},_0x37e06e,_0x2310f0[_0x2996('0x3f')]);return db[_0x2996('0x55')][_0x2996('0x58')](_0x37e06e)[_0x2996('0x20')](respondWithFilteredResult(_0x5ce83c,_0x37e06e));})[_0x2996('0x48')](handleError(_0x5ce83c,null));};