Built motion from commit (unavailable).|2.5.14
[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 _0x1f75=['fieldName','type','key','model','query','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','VoiceMail','findAll','rows','catch','show','keys','rawAttributes','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','findOne','VoiceMailMessage','hasOwnProperty','findAndCountAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','end','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','get','Voicemails','UserProfileResource','destroy','sendStatus','error','stack','name','send','index','map'];(function(_0x12fc8d,_0x19ee33){var _0x3f9d04=function(_0x52e51c){while(--_0x52e51c){_0x12fc8d['push'](_0x12fc8d['shift']());}};_0x3f9d04(++_0x19ee33);}(_0x1f75,0x13c));var _0x51f7=function(_0xb0f7c3,_0x4eae95){_0xb0f7c3=_0xb0f7c3-0x0;var _0x28ea68=_0x1f75[_0xb0f7c3];return _0x28ea68;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x51f7('0x0'));var rimraf=require(_0x51f7('0x1'));var zipdir=require(_0x51f7('0x2'));var jsonpatch=require(_0x51f7('0x3'));var rp=require(_0x51f7('0x4'));var moment=require('moment');var BPromise=require(_0x51f7('0x5'));var Mustache=require(_0x51f7('0x6'));var util=require(_0x51f7('0x7'));var path=require(_0x51f7('0x8'));var sox=require(_0x51f7('0x9'));var csv=require(_0x51f7('0xa'));var ejs=require(_0x51f7('0xb'));var fs=require('fs');var _=require(_0x51f7('0xc'));var squel=require(_0x51f7('0xd'));var crypto=require(_0x51f7('0xe'));var jsforce=require(_0x51f7('0xf'));var deskjs=require(_0x51f7('0x10'));var toCsv=require('to-csv');var querystring=require(_0x51f7('0x11'));var Papa=require(_0x51f7('0x12'));var Redis=require('ioredis');var authService=require(_0x51f7('0x13'));var qs=require(_0x51f7('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x51f7('0x15'))(_0x51f7('0x16'));var utils=require('../../config/utils');var config=require(_0x51f7('0x17'));var licenseUtil=require(_0x51f7('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x452c6b,_0x180e9d){_0x180e9d=_0x180e9d||0xcc;return function(_0x11cc37){if(_0x11cc37){return _0x452c6b['sendStatus'](_0x180e9d);}return _0x452c6b['status'](_0x180e9d)[_0x51f7('0x19')]();};}function respondWithResult(_0x29884b,_0x3c4b5a){_0x3c4b5a=_0x3c4b5a||0xc8;return function(_0x3fc869){if(_0x3fc869){return _0x29884b[_0x51f7('0x1a')](_0x3c4b5a)[_0x51f7('0x1b')](_0x3fc869);}};}function respondWithFilteredResult(_0x56f9e3,_0x10aa7f){return function(_0x6e0f2e){if(_0x6e0f2e){var _0x12e09d=_0x6e0f2e[_0x51f7('0x1c')],_0x23998b=_0x10aa7f['offset'],_0x350b32=_0x10aa7f[_0x51f7('0x1d')]+_0x10aa7f[_0x51f7('0x1e')],_0x1b3532;if(_0x350b32>=_0x12e09d){_0x350b32=_0x12e09d;_0x1b3532=0xc8;}else{_0x1b3532=0xce;}_0x56f9e3['status'](_0x1b3532);return _0x56f9e3[_0x51f7('0x1f')](_0x51f7('0x20'),_0x23998b+'-'+_0x350b32+'/'+_0x12e09d)['json'](_0x6e0f2e);}return null;};}function patchUpdates(_0x57b918){return function(_0x564686){try{jsonpatch[_0x51f7('0x21')](_0x564686,_0x57b918,!![]);}catch(_0x5a4e63){return BPromise['reject'](_0x5a4e63);}return _0x564686[_0x51f7('0x22')]();};}function saveUpdates(_0x1decc1,_0x475566){return function(_0x311e00){if(_0x311e00){return _0x311e00[_0x51f7('0x23')](_0x1decc1)[_0x51f7('0x24')](function(_0xb501de){return _0xb501de;});}return null;};}function removeEntity(_0x22f585,_0x4e277e){return function(_0x28566c){if(_0x28566c){return _0x28566c['destroy']()[_0x51f7('0x24')](function(){var _0x38801b=_0x28566c[_0x51f7('0x25')]({'plain':!![]});var _0x1bde25=_0x51f7('0x26');return db[_0x51f7('0x27')][_0x51f7('0x28')]({'where':{'type':_0x1bde25,'resourceId':_0x38801b['id']}})[_0x51f7('0x24')](function(){return _0x28566c;});})[_0x51f7('0x24')](function(){_0x22f585[_0x51f7('0x1a')](0xcc)[_0x51f7('0x19')]();});}};}function handleEntityNotFound(_0x47ed7c,_0xb6aec9){return function(_0x384ca0){if(!_0x384ca0){_0x47ed7c[_0x51f7('0x29')](0x194);}return _0x384ca0;};}function handleError(_0x54bf48,_0x1bcb72){_0x1bcb72=_0x1bcb72||0x1f4;return function(_0x11e723){logger[_0x51f7('0x2a')](_0x11e723[_0x51f7('0x2b')]);if(_0x11e723['name']){delete _0x11e723[_0x51f7('0x2c')];}_0x54bf48[_0x51f7('0x1a')](_0x1bcb72)[_0x51f7('0x2d')](_0x11e723);};}exports[_0x51f7('0x2e')]=function(_0xf70aa2,_0x4bced1){var _0x31cf1f={},_0x32056c={},_0x31b26e={'count':0x0,'rows':[]};var _0x56b181=_[_0x51f7('0x2f')](db['VoiceMail']['rawAttributes'],function(_0x12a9ce){return{'name':_0x12a9ce[_0x51f7('0x30')],'type':_0x12a9ce[_0x51f7('0x31')][_0x51f7('0x32')]};});_0x32056c[_0x51f7('0x33')]=_[_0x51f7('0x2f')](_0x56b181,_0x51f7('0x2c'));_0x32056c['query']=_['keys'](_0xf70aa2[_0x51f7('0x34')]);_0x32056c[_0x51f7('0x35')]=_[_0x51f7('0x36')](_0x32056c[_0x51f7('0x33')],_0x32056c[_0x51f7('0x34')]);_0x31cf1f[_0x51f7('0x37')]=_[_0x51f7('0x36')](_0x32056c[_0x51f7('0x33')],qs[_0x51f7('0x38')](_0xf70aa2['query'][_0x51f7('0x38')]));_0x31cf1f['attributes']=_0x31cf1f[_0x51f7('0x37')]['length']?_0x31cf1f[_0x51f7('0x37')]:_0x32056c['model'];if(!_0xf70aa2[_0x51f7('0x34')]['hasOwnProperty'](_0x51f7('0x39'))){_0x31cf1f[_0x51f7('0x1e')]=qs[_0x51f7('0x1e')](_0xf70aa2['query'][_0x51f7('0x1e')]);_0x31cf1f[_0x51f7('0x1d')]=qs['offset'](_0xf70aa2['query']['offset']);}_0x31cf1f[_0x51f7('0x3a')]=qs[_0x51f7('0x3b')](_0xf70aa2[_0x51f7('0x34')]['sort']);_0x31cf1f[_0x51f7('0x3c')]=qs[_0x51f7('0x35')](_[_0x51f7('0x3d')](_0xf70aa2['query'],_0x32056c[_0x51f7('0x35')]),_0x56b181);if(_0xf70aa2[_0x51f7('0x34')][_0x51f7('0x3e')]){_0x31cf1f['where']=_[_0x51f7('0x3f')](_0x31cf1f[_0x51f7('0x3c')],{'$or':_[_0x51f7('0x2f')](_0x56b181,function(_0x48ba5b){if(_0x48ba5b[_0x51f7('0x31')]!==_0x51f7('0x40')){var _0x9ba482={};_0x9ba482[_0x48ba5b[_0x51f7('0x2c')]]={'$like':'%'+_0xf70aa2[_0x51f7('0x34')]['filter']+'%'};return _0x9ba482;}})});}_0x31cf1f=_[_0x51f7('0x3f')]({},_0x31cf1f,_0xf70aa2[_0x51f7('0x41')]);var _0xd30b96={'where':_0x31cf1f[_0x51f7('0x3c')]};return db['VoiceMail'][_0x51f7('0x1c')](_0xd30b96)['then'](function(_0x11f94c){_0x31b26e[_0x51f7('0x1c')]=_0x11f94c;if(_0xf70aa2[_0x51f7('0x34')][_0x51f7('0x42')]){_0x31cf1f[_0x51f7('0x43')]=[{'all':!![]}];}return db[_0x51f7('0x44')][_0x51f7('0x45')](_0x31cf1f);})[_0x51f7('0x24')](function(_0x4099f0){_0x31b26e[_0x51f7('0x46')]=_0x4099f0;return _0x31b26e;})[_0x51f7('0x24')](respondWithFilteredResult(_0x4bced1,_0x31cf1f))[_0x51f7('0x47')](handleError(_0x4bced1,null));};exports[_0x51f7('0x48')]=function(_0x52d6fb,_0x53ba21){var _0xe474f7={'raw':!![],'where':{'id':_0x52d6fb['params']['id']}},_0x3b8215={};_0x3b8215['model']=_[_0x51f7('0x49')](db[_0x51f7('0x44')][_0x51f7('0x4a')]);_0x3b8215['query']=_[_0x51f7('0x49')](_0x52d6fb[_0x51f7('0x34')]);_0x3b8215[_0x51f7('0x35')]=_[_0x51f7('0x36')](_0x3b8215['model'],_0x3b8215[_0x51f7('0x34')]);_0xe474f7[_0x51f7('0x37')]=_[_0x51f7('0x36')](_0x3b8215[_0x51f7('0x33')],qs[_0x51f7('0x38')](_0x52d6fb[_0x51f7('0x34')][_0x51f7('0x38')]));_0xe474f7[_0x51f7('0x37')]=_0xe474f7['attributes'][_0x51f7('0x4b')]?_0xe474f7['attributes']:_0x3b8215[_0x51f7('0x33')];if(_0x52d6fb[_0x51f7('0x34')][_0x51f7('0x42')]){_0xe474f7[_0x51f7('0x43')]=[{'all':!![]}];}_0xe474f7=_[_0x51f7('0x3f')]({},_0xe474f7,_0x52d6fb[_0x51f7('0x41')]);return db[_0x51f7('0x44')][_0x51f7('0x4c')](_0xe474f7)['then'](handleEntityNotFound(_0x53ba21,null))[_0x51f7('0x24')](respondWithResult(_0x53ba21,null))['catch'](handleError(_0x53ba21,null));};exports[_0x51f7('0x4d')]=function(_0x5655c0,_0x20a2ae){return db['VoiceMail'][_0x51f7('0x4d')](_0x5655c0[_0x51f7('0x4e')],{})[_0x51f7('0x24')](function(_0x501cb8){var _0x5c0207=_0x5655c0[_0x51f7('0x4f')][_0x51f7('0x25')]({'plain':!![]});if(!_0x5c0207)throw new Error(_0x51f7('0x50'));if(_0x5c0207[_0x51f7('0x51')]===_0x51f7('0x4f')){var _0x3c6f9f=_0x501cb8[_0x51f7('0x25')]({'plain':!![]});var _0x416ac=_0x51f7('0x26');return db[_0x51f7('0x52')][_0x51f7('0x4c')]({'where':{'name':_0x416ac,'userProfileId':_0x5c0207[_0x51f7('0x53')]},'raw':!![]})['then'](function(_0x2a66ba){if(_0x2a66ba&&_0x2a66ba[_0x51f7('0x54')]===0x0){return db['UserProfileResource']['create']({'name':_0x3c6f9f[_0x51f7('0x2c')],'resourceId':_0x3c6f9f['id'],'type':_0x2a66ba['name'],'sectionId':_0x2a66ba['id']},{})[_0x51f7('0x24')](function(){return _0x501cb8;});}else{return _0x501cb8;}})[_0x51f7('0x47')](function(_0x3d2984){logger['error'](_0x51f7('0x55'),_0x3d2984);throw _0x3d2984;});}return _0x501cb8;})['then'](respondWithResult(_0x20a2ae,0xc9))[_0x51f7('0x47')](handleError(_0x20a2ae,null));};exports[_0x51f7('0x23')]=function(_0x1eadbc,_0x80beab){if(_0x1eadbc[_0x51f7('0x4e')]['id']){delete _0x1eadbc['body']['id'];}return db[_0x51f7('0x44')][_0x51f7('0x4c')]({'where':{'id':_0x1eadbc[_0x51f7('0x56')]['id']}})[_0x51f7('0x24')](handleEntityNotFound(_0x80beab,null))[_0x51f7('0x24')](saveUpdates(_0x1eadbc[_0x51f7('0x4e')],null))['then'](respondWithResult(_0x80beab,null))[_0x51f7('0x47')](handleError(_0x80beab,null));};exports['destroy']=function(_0x1ed831,_0x2e2816){return db['VoiceMail'][_0x51f7('0x4c')]({'where':{'id':_0x1ed831[_0x51f7('0x56')]['id']}})[_0x51f7('0x24')](handleEntityNotFound(_0x2e2816,null))['then'](removeEntity(_0x2e2816,null))[_0x51f7('0x47')](handleError(_0x2e2816,null));};exports['getMessages']=function(_0x127364,_0xf5f54f,_0x14d71c){return db[_0x51f7('0x44')][_0x51f7('0x57')]({'where':{'id':_0x127364[_0x51f7('0x56')]['id']}})[_0x51f7('0x24')](handleEntityNotFound(_0xf5f54f,null))[_0x51f7('0x24')](function(_0x5113d3){var _0x124415;var _0x23f751={},_0x3cceea={};_0x3cceea[_0x51f7('0x33')]=_[_0x51f7('0x49')](db[_0x51f7('0x58')][_0x51f7('0x4a')]);_0x3cceea['query']=_[_0x51f7('0x49')](_0x127364[_0x51f7('0x34')]);_0x3cceea[_0x51f7('0x35')]=_[_0x51f7('0x36')](_0x3cceea[_0x51f7('0x33')],_0x3cceea[_0x51f7('0x34')]);_0x23f751[_0x51f7('0x37')]=_[_0x51f7('0x36')](_0x3cceea[_0x51f7('0x33')],qs[_0x51f7('0x38')](_0x127364[_0x51f7('0x34')][_0x51f7('0x38')]));_0x23f751[_0x51f7('0x37')]=_0x23f751[_0x51f7('0x37')]['length']?_0x23f751['attributes']:_0x3cceea[_0x51f7('0x33')];if(!_0x127364['query'][_0x51f7('0x59')](_0x51f7('0x39'))){_0x23f751[_0x51f7('0x1e')]=qs['limit'](_0x127364[_0x51f7('0x34')]['limit']);_0x23f751[_0x51f7('0x1d')]=qs[_0x51f7('0x1d')](_0x127364[_0x51f7('0x34')][_0x51f7('0x1d')]);}_0x23f751[_0x51f7('0x3a')]=qs[_0x51f7('0x3b')](_0x127364[_0x51f7('0x34')][_0x51f7('0x3b')]);_0x23f751['where']=qs[_0x51f7('0x35')](_[_0x51f7('0x3d')](_0x127364[_0x51f7('0x34')],_0x3cceea[_0x51f7('0x35')]));if(_0x127364[_0x51f7('0x34')]['filter']){_0x23f751['where']=_['merge'](_0x23f751[_0x51f7('0x3c')],{'$or':_[_0x51f7('0x2f')](_0x23f751['attributes'],function(_0xe5988d){var _0xcfabd6={};_0xcfabd6[_0xe5988d]={'$like':'%'+_0x127364[_0x51f7('0x34')][_0x51f7('0x3e')]+'%'};return _0xcfabd6;})});}_0x23f751[_0x51f7('0x3c')]=_[_0x51f7('0x3f')](_0x23f751[_0x51f7('0x3c')],{'mailboxuser':_0x5113d3['mailbox']});_0x23f751=_[_0x51f7('0x3f')]({},_0x23f751,_0x127364[_0x51f7('0x41')]);return db[_0x51f7('0x58')][_0x51f7('0x5a')](_0x23f751)['then'](respondWithFilteredResult(_0xf5f54f,_0x23f751));})[_0x51f7('0x47')](handleError(_0xf5f54f,null));};