7108fc32cfdd34ad7db852b89e786ef35e3063dd
[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 _0xb515=['html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','end','status','json','count','limit','Content-Range','reject','save','update','then','destroy','Voicemails','UserProfileResource','error','name','send','index','map','VoiceMail','rawAttributes','fieldName','key','query','keys','filters','model','intersection','fields','attributes','length','offset','order','sort','where','filter','merge','type','VIRTUAL','includeAll','findAll','rows','catch','show','params','include','find','create','body','user','get','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMessages','findOne','VoiceMailMessage','pick','mailbox','options','findAndCountAll'];(function(_0x2a7b8e,_0x50ffce){var _0x29b5c8=function(_0x131fe0){while(--_0x131fe0){_0x2a7b8e['push'](_0x2a7b8e['shift']());}};_0x29b5c8(++_0x50ffce);}(_0xb515,0x1b8));var _0x5b51=function(_0x4eec9b,_0x4aea09){_0x4eec9b=_0x4eec9b-0x0;var _0x2e3849=_0xb515[_0x4eec9b];return _0x2e3849;};'use strict';var pdf=require(_0x5b51('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x5b51('0x1'));var zipdir=require(_0x5b51('0x2'));var jsonpatch=require(_0x5b51('0x3'));var rp=require(_0x5b51('0x4'));var moment=require(_0x5b51('0x5'));var BPromise=require(_0x5b51('0x6'));var Mustache=require(_0x5b51('0x7'));var util=require(_0x5b51('0x8'));var path=require('path');var sox=require(_0x5b51('0x9'));var csv=require(_0x5b51('0xa'));var ejs=require(_0x5b51('0xb'));var fs=require('fs');var _=require(_0x5b51('0xc'));var squel=require(_0x5b51('0xd'));var crypto=require(_0x5b51('0xe'));var jsforce=require(_0x5b51('0xf'));var deskjs=require(_0x5b51('0x10'));var toCsv=require(_0x5b51('0xa'));var querystring=require(_0x5b51('0x11'));var Papa=require(_0x5b51('0x12'));var Redis=require(_0x5b51('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x5b51('0x14'));var as=require(_0x5b51('0x15'));var hardwareService=require(_0x5b51('0x16'));var logger=require(_0x5b51('0x17'))(_0x5b51('0x18'));var utils=require(_0x5b51('0x19'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3112a6,_0xac32df){_0xac32df=_0xac32df||0xcc;return function(_0x3a0841){if(_0x3a0841){return _0x3112a6[_0x5b51('0x1a')](_0xac32df);}return _0x3112a6['status'](_0xac32df)[_0x5b51('0x1b')]();};}function respondWithResult(_0x3fe81c,_0x481608){_0x481608=_0x481608||0xc8;return function(_0x575d2c){if(_0x575d2c){return _0x3fe81c[_0x5b51('0x1c')](_0x481608)[_0x5b51('0x1d')](_0x575d2c);}};}function respondWithFilteredResult(_0x13adfc,_0x107f86){return function(_0x33a3c4){if(_0x33a3c4){var _0x1c69fc=_0x33a3c4[_0x5b51('0x1e')],_0x4216aa=_0x107f86['offset'],_0x1118a2=_0x107f86['offset']+_0x107f86[_0x5b51('0x1f')],_0x520686;if(_0x1118a2>=_0x1c69fc){_0x1118a2=_0x1c69fc;_0x520686=0xc8;}else{_0x520686=0xce;}_0x13adfc[_0x5b51('0x1c')](_0x520686);return _0x13adfc['set'](_0x5b51('0x20'),_0x4216aa+'-'+_0x1118a2+'/'+_0x1c69fc)[_0x5b51('0x1d')](_0x33a3c4);}return null;};}function patchUpdates(_0x55a562){return function(_0x5da4c9){try{jsonpatch['apply'](_0x5da4c9,_0x55a562,!![]);}catch(_0xed8a2a){return BPromise[_0x5b51('0x21')](_0xed8a2a);}return _0x5da4c9[_0x5b51('0x22')]();};}function saveUpdates(_0x1435f4,_0x37fb52){return function(_0x1be61b){if(_0x1be61b){return _0x1be61b[_0x5b51('0x23')](_0x1435f4)[_0x5b51('0x24')](function(_0x552aac){return _0x552aac;});}return null;};}function removeEntity(_0x399254,_0x1998f5){return function(_0x361745){if(_0x361745){return _0x361745[_0x5b51('0x25')]()[_0x5b51('0x24')](function(){var _0x24259c=_0x361745['get']({'plain':!![]});var _0x59e842=_0x5b51('0x26');return db[_0x5b51('0x27')]['destroy']({'where':{'type':_0x59e842,'resourceId':_0x24259c['id']}})[_0x5b51('0x24')](function(){return _0x361745;});})[_0x5b51('0x24')](function(){_0x399254[_0x5b51('0x1c')](0xcc)[_0x5b51('0x1b')]();});}};}function handleEntityNotFound(_0x56e7ab,_0x38494b){return function(_0x24ed4f){if(!_0x24ed4f){_0x56e7ab[_0x5b51('0x1a')](0x194);}return _0x24ed4f;};}function handleError(_0x399d2a,_0x21f0ca){_0x21f0ca=_0x21f0ca||0x1f4;return function(_0x52712c){logger[_0x5b51('0x28')](_0x52712c['stack']);if(_0x52712c[_0x5b51('0x29')]){delete _0x52712c[_0x5b51('0x29')];}_0x399d2a[_0x5b51('0x1c')](_0x21f0ca)[_0x5b51('0x2a')](_0x52712c);};}exports[_0x5b51('0x2b')]=function(_0x2b59ae,_0xbefb98){var _0x1a6a70={},_0x185904={},_0x253977={'count':0x0,'rows':[]};var _0x581950=_[_0x5b51('0x2c')](db[_0x5b51('0x2d')][_0x5b51('0x2e')],function(_0xe456a9){return{'name':_0xe456a9[_0x5b51('0x2f')],'type':_0xe456a9['type'][_0x5b51('0x30')]};});_0x185904['model']=_['map'](_0x581950,_0x5b51('0x29'));_0x185904[_0x5b51('0x31')]=_[_0x5b51('0x32')](_0x2b59ae[_0x5b51('0x31')]);_0x185904[_0x5b51('0x33')]=_['intersection'](_0x185904[_0x5b51('0x34')],_0x185904[_0x5b51('0x31')]);_0x1a6a70['attributes']=_[_0x5b51('0x35')](_0x185904['model'],qs[_0x5b51('0x36')](_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x36')]));_0x1a6a70[_0x5b51('0x37')]=_0x1a6a70[_0x5b51('0x37')][_0x5b51('0x38')]?_0x1a6a70[_0x5b51('0x37')]:_0x185904[_0x5b51('0x34')];if(!_0x2b59ae[_0x5b51('0x31')]['hasOwnProperty']('nolimit')){_0x1a6a70[_0x5b51('0x1f')]=qs['limit'](_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x1f')]);_0x1a6a70[_0x5b51('0x39')]=qs[_0x5b51('0x39')](_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x39')]);}_0x1a6a70[_0x5b51('0x3a')]=qs['sort'](_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x3b')]);_0x1a6a70[_0x5b51('0x3c')]=qs[_0x5b51('0x33')](_['pick'](_0x2b59ae[_0x5b51('0x31')],_0x185904[_0x5b51('0x33')]),_0x581950);if(_0x2b59ae['query'][_0x5b51('0x3d')]){_0x1a6a70[_0x5b51('0x3c')]=_[_0x5b51('0x3e')](_0x1a6a70[_0x5b51('0x3c')],{'$or':_[_0x5b51('0x2c')](_0x581950,function(_0x273f2a){if(_0x273f2a[_0x5b51('0x3f')]!==_0x5b51('0x40')){var _0x5b06dc={};_0x5b06dc[_0x273f2a[_0x5b51('0x29')]]={'$like':'%'+_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x3d')]+'%'};return _0x5b06dc;}})});}_0x1a6a70=_[_0x5b51('0x3e')]({},_0x1a6a70,_0x2b59ae['options']);var _0x4b4817={'where':_0x1a6a70['where']};return db[_0x5b51('0x2d')]['count'](_0x4b4817)[_0x5b51('0x24')](function(_0x38d5d9){_0x253977[_0x5b51('0x1e')]=_0x38d5d9;if(_0x2b59ae[_0x5b51('0x31')][_0x5b51('0x41')]){_0x1a6a70['include']=[{'all':!![]}];}return db[_0x5b51('0x2d')][_0x5b51('0x42')](_0x1a6a70);})[_0x5b51('0x24')](function(_0x3077c8){_0x253977[_0x5b51('0x43')]=_0x3077c8;return _0x253977;})[_0x5b51('0x24')](respondWithFilteredResult(_0xbefb98,_0x1a6a70))[_0x5b51('0x44')](handleError(_0xbefb98,null));};exports[_0x5b51('0x45')]=function(_0x352e1c,_0x52b994){var _0x7856d3={'raw':!![],'where':{'id':_0x352e1c[_0x5b51('0x46')]['id']}},_0x4a4c23={};_0x4a4c23[_0x5b51('0x34')]=_[_0x5b51('0x32')](db['VoiceMail']['rawAttributes']);_0x4a4c23[_0x5b51('0x31')]=_[_0x5b51('0x32')](_0x352e1c[_0x5b51('0x31')]);_0x4a4c23[_0x5b51('0x33')]=_[_0x5b51('0x35')](_0x4a4c23[_0x5b51('0x34')],_0x4a4c23[_0x5b51('0x31')]);_0x7856d3[_0x5b51('0x37')]=_[_0x5b51('0x35')](_0x4a4c23[_0x5b51('0x34')],qs[_0x5b51('0x36')](_0x352e1c[_0x5b51('0x31')][_0x5b51('0x36')]));_0x7856d3[_0x5b51('0x37')]=_0x7856d3[_0x5b51('0x37')][_0x5b51('0x38')]?_0x7856d3[_0x5b51('0x37')]:_0x4a4c23['model'];if(_0x352e1c[_0x5b51('0x31')][_0x5b51('0x41')]){_0x7856d3[_0x5b51('0x47')]=[{'all':!![]}];}_0x7856d3=_['merge']({},_0x7856d3,_0x352e1c['options']);return db[_0x5b51('0x2d')][_0x5b51('0x48')](_0x7856d3)[_0x5b51('0x24')](handleEntityNotFound(_0x52b994,null))[_0x5b51('0x24')](respondWithResult(_0x52b994,null))[_0x5b51('0x44')](handleError(_0x52b994,null));};exports[_0x5b51('0x49')]=function(_0x3967db,_0x5760a6){return db['VoiceMail'][_0x5b51('0x49')](_0x3967db[_0x5b51('0x4a')],{})['then'](function(_0x1a45f5){var _0x4bad8c=_0x3967db[_0x5b51('0x4b')][_0x5b51('0x4c')]({'plain':!![]});if(!_0x4bad8c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4bad8c[_0x5b51('0x4d')]===_0x5b51('0x4b')){var _0x306d5a=_0x1a45f5[_0x5b51('0x4c')]({'plain':!![]});var _0x514822=_0x5b51('0x26');return db[_0x5b51('0x4e')]['find']({'where':{'name':_0x514822,'userProfileId':_0x4bad8c[_0x5b51('0x4f')]},'raw':!![]})[_0x5b51('0x24')](function(_0x25c1c2){if(_0x25c1c2&&_0x25c1c2['autoAssociation']===0x0){return db[_0x5b51('0x27')][_0x5b51('0x49')]({'name':_0x306d5a[_0x5b51('0x29')],'resourceId':_0x306d5a['id'],'type':_0x25c1c2[_0x5b51('0x29')],'sectionId':_0x25c1c2['id']},{})[_0x5b51('0x24')](function(){return _0x1a45f5;});}else{return _0x1a45f5;}})[_0x5b51('0x44')](function(_0x2c7411){logger[_0x5b51('0x28')](_0x5b51('0x50'),_0x2c7411);throw _0x2c7411;});}return _0x1a45f5;})['then'](respondWithResult(_0x5760a6,0xc9))[_0x5b51('0x44')](handleError(_0x5760a6,null));};exports[_0x5b51('0x23')]=function(_0x32dd12,_0x4ff44a){if(_0x32dd12[_0x5b51('0x4a')]['id']){delete _0x32dd12[_0x5b51('0x4a')]['id'];}return db[_0x5b51('0x2d')]['find']({'where':{'id':_0x32dd12[_0x5b51('0x46')]['id']}})[_0x5b51('0x24')](handleEntityNotFound(_0x4ff44a,null))[_0x5b51('0x24')](saveUpdates(_0x32dd12[_0x5b51('0x4a')],null))[_0x5b51('0x24')](respondWithResult(_0x4ff44a,null))[_0x5b51('0x44')](handleError(_0x4ff44a,null));};exports['destroy']=function(_0x1532bb,_0x403134){return db['VoiceMail'][_0x5b51('0x48')]({'where':{'id':_0x1532bb['params']['id']}})[_0x5b51('0x24')](handleEntityNotFound(_0x403134,null))['then'](removeEntity(_0x403134,null))[_0x5b51('0x44')](handleError(_0x403134,null));};exports[_0x5b51('0x51')]=function(_0x4f00f2,_0x1c5e00,_0x1105d4){return db[_0x5b51('0x2d')][_0x5b51('0x52')]({'where':{'id':_0x4f00f2[_0x5b51('0x46')]['id']}})[_0x5b51('0x24')](handleEntityNotFound(_0x1c5e00,null))['then'](function(_0x5bf812){var _0x597f41;var _0x2d9a5a={},_0x33371f={};_0x33371f[_0x5b51('0x34')]=_[_0x5b51('0x32')](db[_0x5b51('0x53')][_0x5b51('0x2e')]);_0x33371f['query']=_['keys'](_0x4f00f2[_0x5b51('0x31')]);_0x33371f[_0x5b51('0x33')]=_[_0x5b51('0x35')](_0x33371f[_0x5b51('0x34')],_0x33371f[_0x5b51('0x31')]);_0x2d9a5a[_0x5b51('0x37')]=_[_0x5b51('0x35')](_0x33371f['model'],qs[_0x5b51('0x36')](_0x4f00f2[_0x5b51('0x31')][_0x5b51('0x36')]));_0x2d9a5a[_0x5b51('0x37')]=_0x2d9a5a[_0x5b51('0x37')][_0x5b51('0x38')]?_0x2d9a5a[_0x5b51('0x37')]:_0x33371f['model'];if(!_0x4f00f2['query']['hasOwnProperty']('nolimit')){_0x2d9a5a[_0x5b51('0x1f')]=qs[_0x5b51('0x1f')](_0x4f00f2[_0x5b51('0x31')][_0x5b51('0x1f')]);_0x2d9a5a[_0x5b51('0x39')]=qs['offset'](_0x4f00f2[_0x5b51('0x31')][_0x5b51('0x39')]);}_0x2d9a5a[_0x5b51('0x3a')]=qs[_0x5b51('0x3b')](_0x4f00f2['query'][_0x5b51('0x3b')]);_0x2d9a5a[_0x5b51('0x3c')]=qs[_0x5b51('0x33')](_[_0x5b51('0x54')](_0x4f00f2[_0x5b51('0x31')],_0x33371f[_0x5b51('0x33')]));if(_0x4f00f2[_0x5b51('0x31')][_0x5b51('0x3d')]){_0x2d9a5a[_0x5b51('0x3c')]=_['merge'](_0x2d9a5a['where'],{'$or':_['map'](_0x2d9a5a[_0x5b51('0x37')],function(_0x5714e8){var _0x1b8238={};_0x1b8238[_0x5714e8]={'$like':'%'+_0x4f00f2[_0x5b51('0x31')][_0x5b51('0x3d')]+'%'};return _0x1b8238;})});}_0x2d9a5a[_0x5b51('0x3c')]=_[_0x5b51('0x3e')](_0x2d9a5a[_0x5b51('0x3c')],{'mailboxuser':_0x5bf812[_0x5b51('0x55')]});_0x2d9a5a=_['merge']({},_0x2d9a5a,_0x4f00f2[_0x5b51('0x56')]);return db[_0x5b51('0x53')][_0x5b51('0x57')](_0x2d9a5a)[_0x5b51('0x24')](respondWithFilteredResult(_0x1c5e00,_0x2d9a5a));})[_0x5b51('0x44')](handleError(_0x1c5e00,null));};