Built motion from commit (unavailable).|2.5.17
[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 _0xcb9c=['params','getMessages','findOne','VoiceMailMessage','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','apply','reject','save','update','destroy','then','get','Voicemails','UserProfileResource','sendStatus','error','name','send','map','VoiceMail','fieldName','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','options','count','include','findAll','rows','catch','show','rawAttributes','length','includeAll','merge','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body'];(function(_0x1980dd,_0x415277){var _0x5a4389=function(_0x7e6932){while(--_0x7e6932){_0x1980dd['push'](_0x1980dd['shift']());}};_0x5a4389(++_0x415277);}(_0xcb9c,0x110));var _0xccb9=function(_0x36e28c,_0x4c663e){_0x36e28c=_0x36e28c-0x0;var _0x334815=_0xcb9c[_0x36e28c];return _0x334815;};'use strict';var pdf=require(_0xccb9('0x0'));var emlformat=require(_0xccb9('0x1'));var rimraf=require(_0xccb9('0x2'));var zipdir=require(_0xccb9('0x3'));var jsonpatch=require(_0xccb9('0x4'));var rp=require(_0xccb9('0x5'));var moment=require(_0xccb9('0x6'));var BPromise=require(_0xccb9('0x7'));var Mustache=require('mustache');var util=require(_0xccb9('0x8'));var path=require(_0xccb9('0x9'));var sox=require(_0xccb9('0xa'));var csv=require('to-csv');var ejs=require(_0xccb9('0xb'));var fs=require('fs');var _=require(_0xccb9('0xc'));var squel=require(_0xccb9('0xd'));var crypto=require('crypto');var jsforce=require(_0xccb9('0xe'));var deskjs=require(_0xccb9('0xf'));var toCsv=require(_0xccb9('0x10'));var querystring=require(_0xccb9('0x11'));var Papa=require('papaparse');var Redis=require(_0xccb9('0x12'));var authService=require(_0xccb9('0x13'));var qs=require(_0xccb9('0x14'));var as=require(_0xccb9('0x15'));var hardwareService=require(_0xccb9('0x16'));var logger=require('../../config/logger')(_0xccb9('0x17'));var utils=require(_0xccb9('0x18'));var config=require(_0xccb9('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xccb9('0x1a'))['db'];function respondWithStatusCode(_0x31ff60,_0x123ab6){_0x123ab6=_0x123ab6||0xcc;return function(_0xd80853){if(_0xd80853){return _0x31ff60['sendStatus'](_0x123ab6);}return _0x31ff60[_0xccb9('0x1b')](_0x123ab6)[_0xccb9('0x1c')]();};}function respondWithResult(_0x4542da,_0x317f41){_0x317f41=_0x317f41||0xc8;return function(_0x18a535){if(_0x18a535){return _0x4542da[_0xccb9('0x1b')](_0x317f41)[_0xccb9('0x1d')](_0x18a535);}};}function respondWithFilteredResult(_0x3c6784,_0x2fa3c8){return function(_0x587ab5){if(_0x587ab5){var _0xbcc64=_0x587ab5['count'],_0x4359e0=_0x2fa3c8[_0xccb9('0x1e')],_0x20ff0c=_0x2fa3c8['offset']+_0x2fa3c8[_0xccb9('0x1f')],_0x561ca6;if(_0x20ff0c>=_0xbcc64){_0x20ff0c=_0xbcc64;_0x561ca6=0xc8;}else{_0x561ca6=0xce;}_0x3c6784[_0xccb9('0x1b')](_0x561ca6);return _0x3c6784['set']('Content-Range',_0x4359e0+'-'+_0x20ff0c+'/'+_0xbcc64)[_0xccb9('0x1d')](_0x587ab5);}return null;};}function patchUpdates(_0x4b2546){return function(_0x58890f){try{jsonpatch[_0xccb9('0x20')](_0x58890f,_0x4b2546,!![]);}catch(_0x144dc7){return BPromise[_0xccb9('0x21')](_0x144dc7);}return _0x58890f[_0xccb9('0x22')]();};}function saveUpdates(_0x28ae56,_0x2eca45){return function(_0x24ae41){if(_0x24ae41){return _0x24ae41[_0xccb9('0x23')](_0x28ae56)['then'](function(_0x574cb7){return _0x574cb7;});}return null;};}function removeEntity(_0x25fe91,_0x3f2e30){return function(_0x5e3133){if(_0x5e3133){return _0x5e3133[_0xccb9('0x24')]()[_0xccb9('0x25')](function(){var _0x4c7e71=_0x5e3133[_0xccb9('0x26')]({'plain':!![]});var _0x26504f=_0xccb9('0x27');return db[_0xccb9('0x28')][_0xccb9('0x24')]({'where':{'type':_0x26504f,'resourceId':_0x4c7e71['id']}})[_0xccb9('0x25')](function(){return _0x5e3133;});})[_0xccb9('0x25')](function(){_0x25fe91[_0xccb9('0x1b')](0xcc)[_0xccb9('0x1c')]();});}};}function handleEntityNotFound(_0x2e7b82,_0x504eb5){return function(_0x5b1d2c){if(!_0x5b1d2c){_0x2e7b82[_0xccb9('0x29')](0x194);}return _0x5b1d2c;};}function handleError(_0x22042f,_0x90b58e){_0x90b58e=_0x90b58e||0x1f4;return function(_0x1d1011){logger[_0xccb9('0x2a')](_0x1d1011['stack']);if(_0x1d1011[_0xccb9('0x2b')]){delete _0x1d1011[_0xccb9('0x2b')];}_0x22042f[_0xccb9('0x1b')](_0x90b58e)[_0xccb9('0x2c')](_0x1d1011);};}exports['index']=function(_0x2d9eaf,_0x4fbe14){var _0x4bd4f1={},_0xdd77f1={},_0x5a2ef1={'count':0x0,'rows':[]};var _0x358cb8=_[_0xccb9('0x2d')](db[_0xccb9('0x2e')]['rawAttributes'],function(_0x570647){return{'name':_0x570647[_0xccb9('0x2f')],'type':_0x570647[_0xccb9('0x30')][_0xccb9('0x31')]};});_0xdd77f1[_0xccb9('0x32')]=_[_0xccb9('0x2d')](_0x358cb8,_0xccb9('0x2b'));_0xdd77f1[_0xccb9('0x33')]=_[_0xccb9('0x34')](_0x2d9eaf['query']);_0xdd77f1['filters']=_[_0xccb9('0x35')](_0xdd77f1[_0xccb9('0x32')],_0xdd77f1[_0xccb9('0x33')]);_0x4bd4f1['attributes']=_['intersection'](_0xdd77f1['model'],qs[_0xccb9('0x36')](_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x36')]));_0x4bd4f1['attributes']=_0x4bd4f1[_0xccb9('0x37')]['length']?_0x4bd4f1[_0xccb9('0x37')]:_0xdd77f1['model'];if(!_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x38')](_0xccb9('0x39'))){_0x4bd4f1[_0xccb9('0x1f')]=qs['limit'](_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x1f')]);_0x4bd4f1['offset']=qs[_0xccb9('0x1e')](_0x2d9eaf['query'][_0xccb9('0x1e')]);}_0x4bd4f1[_0xccb9('0x3a')]=qs[_0xccb9('0x3b')](_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x3b')]);_0x4bd4f1[_0xccb9('0x3c')]=qs[_0xccb9('0x3d')](_[_0xccb9('0x3e')](_0x2d9eaf[_0xccb9('0x33')],_0xdd77f1[_0xccb9('0x3d')]),_0x358cb8);if(_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x3f')]){_0x4bd4f1[_0xccb9('0x3c')]=_['merge'](_0x4bd4f1[_0xccb9('0x3c')],{'$or':_[_0xccb9('0x2d')](_0x358cb8,function(_0x3afc2f){if(_0x3afc2f[_0xccb9('0x30')]!=='VIRTUAL'){var _0x526170={};_0x526170[_0x3afc2f[_0xccb9('0x2b')]]={'$like':'%'+_0x2d9eaf[_0xccb9('0x33')][_0xccb9('0x3f')]+'%'};return _0x526170;}})});}_0x4bd4f1=_['merge']({},_0x4bd4f1,_0x2d9eaf[_0xccb9('0x40')]);var _0x5ab145={'where':_0x4bd4f1[_0xccb9('0x3c')]};return db[_0xccb9('0x2e')][_0xccb9('0x41')](_0x5ab145)[_0xccb9('0x25')](function(_0x299274){_0x5a2ef1[_0xccb9('0x41')]=_0x299274;if(_0x2d9eaf[_0xccb9('0x33')]['includeAll']){_0x4bd4f1[_0xccb9('0x42')]=[{'all':!![]}];}return db[_0xccb9('0x2e')][_0xccb9('0x43')](_0x4bd4f1);})[_0xccb9('0x25')](function(_0x32b322){_0x5a2ef1[_0xccb9('0x44')]=_0x32b322;return _0x5a2ef1;})[_0xccb9('0x25')](respondWithFilteredResult(_0x4fbe14,_0x4bd4f1))[_0xccb9('0x45')](handleError(_0x4fbe14,null));};exports[_0xccb9('0x46')]=function(_0x3a8de5,_0x2d626b){var _0x240d22={'raw':!![],'where':{'id':_0x3a8de5['params']['id']}},_0x40a4ae={};_0x40a4ae[_0xccb9('0x32')]=_['keys'](db[_0xccb9('0x2e')][_0xccb9('0x47')]);_0x40a4ae['query']=_[_0xccb9('0x34')](_0x3a8de5[_0xccb9('0x33')]);_0x40a4ae['filters']=_[_0xccb9('0x35')](_0x40a4ae['model'],_0x40a4ae['query']);_0x240d22[_0xccb9('0x37')]=_['intersection'](_0x40a4ae[_0xccb9('0x32')],qs[_0xccb9('0x36')](_0x3a8de5['query'][_0xccb9('0x36')]));_0x240d22[_0xccb9('0x37')]=_0x240d22['attributes'][_0xccb9('0x48')]?_0x240d22[_0xccb9('0x37')]:_0x40a4ae[_0xccb9('0x32')];if(_0x3a8de5['query'][_0xccb9('0x49')]){_0x240d22['include']=[{'all':!![]}];}_0x240d22=_[_0xccb9('0x4a')]({},_0x240d22,_0x3a8de5[_0xccb9('0x40')]);return db[_0xccb9('0x2e')][_0xccb9('0x4b')](_0x240d22)[_0xccb9('0x25')](handleEntityNotFound(_0x2d626b,null))[_0xccb9('0x25')](respondWithResult(_0x2d626b,null))[_0xccb9('0x45')](handleError(_0x2d626b,null));};exports[_0xccb9('0x4c')]=function(_0x5b58a5,_0x45e50d){return db[_0xccb9('0x2e')][_0xccb9('0x4c')](_0x5b58a5['body'],{})[_0xccb9('0x25')](function(_0x2382fa){var _0x345a4b=_0x5b58a5[_0xccb9('0x4d')][_0xccb9('0x26')]({'plain':!![]});if(!_0x345a4b)throw new Error(_0xccb9('0x4e'));if(_0x345a4b[_0xccb9('0x4f')]===_0xccb9('0x4d')){var _0x13dc97=_0x2382fa['get']({'plain':!![]});var _0x1d69f9='Voicemails';return db['UserProfileSection'][_0xccb9('0x4b')]({'where':{'name':_0x1d69f9,'userProfileId':_0x345a4b[_0xccb9('0x50')]},'raw':!![]})['then'](function(_0xcbc9e3){if(_0xcbc9e3&&_0xcbc9e3[_0xccb9('0x51')]===0x0){return db[_0xccb9('0x28')][_0xccb9('0x4c')]({'name':_0x13dc97[_0xccb9('0x2b')],'resourceId':_0x13dc97['id'],'type':_0xcbc9e3['name'],'sectionId':_0xcbc9e3['id']},{})[_0xccb9('0x25')](function(){return _0x2382fa;});}else{return _0x2382fa;}})[_0xccb9('0x45')](function(_0x1e0e55){logger[_0xccb9('0x2a')](_0xccb9('0x52'),_0x1e0e55);throw _0x1e0e55;});}return _0x2382fa;})['then'](respondWithResult(_0x45e50d,0xc9))['catch'](handleError(_0x45e50d,null));};exports['update']=function(_0x45df4d,_0x405fa5){if(_0x45df4d['body']['id']){delete _0x45df4d[_0xccb9('0x53')]['id'];}return db[_0xccb9('0x2e')][_0xccb9('0x4b')]({'where':{'id':_0x45df4d[_0xccb9('0x54')]['id']}})['then'](handleEntityNotFound(_0x405fa5,null))[_0xccb9('0x25')](saveUpdates(_0x45df4d[_0xccb9('0x53')],null))[_0xccb9('0x25')](respondWithResult(_0x405fa5,null))['catch'](handleError(_0x405fa5,null));};exports[_0xccb9('0x24')]=function(_0x4d991d,_0xeb30e3){return db[_0xccb9('0x2e')][_0xccb9('0x4b')]({'where':{'id':_0x4d991d[_0xccb9('0x54')]['id']}})[_0xccb9('0x25')](handleEntityNotFound(_0xeb30e3,null))[_0xccb9('0x25')](removeEntity(_0xeb30e3,null))[_0xccb9('0x45')](handleError(_0xeb30e3,null));};exports[_0xccb9('0x55')]=function(_0x3e8d76,_0x197450,_0x61b818){return db[_0xccb9('0x2e')][_0xccb9('0x56')]({'where':{'id':_0x3e8d76[_0xccb9('0x54')]['id']}})['then'](handleEntityNotFound(_0x197450,null))['then'](function(_0x4d5fde){var _0x43c5dd;var _0x39d5fb={},_0x145f5d={};_0x145f5d[_0xccb9('0x32')]=_[_0xccb9('0x34')](db[_0xccb9('0x57')][_0xccb9('0x47')]);_0x145f5d[_0xccb9('0x33')]=_['keys'](_0x3e8d76['query']);_0x145f5d[_0xccb9('0x3d')]=_[_0xccb9('0x35')](_0x145f5d[_0xccb9('0x32')],_0x145f5d[_0xccb9('0x33')]);_0x39d5fb[_0xccb9('0x37')]=_[_0xccb9('0x35')](_0x145f5d[_0xccb9('0x32')],qs[_0xccb9('0x36')](_0x3e8d76[_0xccb9('0x33')][_0xccb9('0x36')]));_0x39d5fb[_0xccb9('0x37')]=_0x39d5fb[_0xccb9('0x37')][_0xccb9('0x48')]?_0x39d5fb[_0xccb9('0x37')]:_0x145f5d['model'];if(!_0x3e8d76[_0xccb9('0x33')][_0xccb9('0x38')]('nolimit')){_0x39d5fb[_0xccb9('0x1f')]=qs[_0xccb9('0x1f')](_0x3e8d76[_0xccb9('0x33')][_0xccb9('0x1f')]);_0x39d5fb['offset']=qs['offset'](_0x3e8d76['query'][_0xccb9('0x1e')]);}_0x39d5fb[_0xccb9('0x3a')]=qs[_0xccb9('0x3b')](_0x3e8d76[_0xccb9('0x33')][_0xccb9('0x3b')]);_0x39d5fb[_0xccb9('0x3c')]=qs['filters'](_[_0xccb9('0x3e')](_0x3e8d76[_0xccb9('0x33')],_0x145f5d['filters']));if(_0x3e8d76['query'][_0xccb9('0x3f')]){_0x39d5fb[_0xccb9('0x3c')]=_[_0xccb9('0x4a')](_0x39d5fb['where'],{'$or':_['map'](_0x39d5fb[_0xccb9('0x37')],function(_0x3cb87a){var _0x4e72b0={};_0x4e72b0[_0x3cb87a]={'$like':'%'+_0x3e8d76[_0xccb9('0x33')][_0xccb9('0x3f')]+'%'};return _0x4e72b0;})});}_0x39d5fb[_0xccb9('0x3c')]=_[_0xccb9('0x4a')](_0x39d5fb[_0xccb9('0x3c')],{'mailboxuser':_0x4d5fde['mailbox']});_0x39d5fb=_[_0xccb9('0x4a')]({},_0x39d5fb,_0x3e8d76['options']);return db[_0xccb9('0x57')][_0xccb9('0x58')](_0x39d5fb)['then'](respondWithFilteredResult(_0x197450,_0x39d5fb));})[_0xccb9('0x45')](handleError(_0x197450,null));};