Built motion from commit (unavailable).|2.5.10
[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 _0x202a=['type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','find','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','getMessages','findOne','VoiceMailMessage','nolimit','order','findAndCountAll','eml-format','rimraf','zip-dir','request-promise','util','path','ejs','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','save','update','then','Voicemails','UserProfileResource','name','index','map','VoiceMail','rawAttributes','fieldName'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x202a,0xc0));var _0xa202=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x202a[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa202('0x0'));var rimraf=require(_0xa202('0x1'));var zipdir=require(_0xa202('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa202('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xa202('0x4'));var path=require(_0xa202('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xa202('0x6'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa202('0x7'));var deskjs=require(_0xa202('0x8'));var toCsv=require(_0xa202('0x9'));var querystring=require(_0xa202('0xa'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa202('0xb'));var qs=require(_0xa202('0xc'));var as=require(_0xa202('0xd'));var hardwareService=require(_0xa202('0xe'));var logger=require('../../config/logger')(_0xa202('0xf'));var utils=require('../../config/utils');var config=require(_0xa202('0x10'));var licenseUtil=require(_0xa202('0x11'));var db=require(_0xa202('0x12'))['db'];function respondWithStatusCode(_0x5bef49,_0x16164b){_0x16164b=_0x16164b||0xcc;return function(_0xdd992){if(_0xdd992){return _0x5bef49[_0xa202('0x13')](_0x16164b);}return _0x5bef49[_0xa202('0x14')](_0x16164b)[_0xa202('0x15')]();};}function respondWithResult(_0x29969e,_0x598d8e){_0x598d8e=_0x598d8e||0xc8;return function(_0x13510c){if(_0x13510c){return _0x29969e[_0xa202('0x14')](_0x598d8e)[_0xa202('0x16')](_0x13510c);}};}function respondWithFilteredResult(_0x28953b,_0x2e1790){return function(_0x5dc065){if(_0x5dc065){var _0x331df8=_0x5dc065[_0xa202('0x17')],_0x30b18b=_0x2e1790[_0xa202('0x18')],_0x1221a2=_0x2e1790['offset']+_0x2e1790[_0xa202('0x19')],_0x3fcc66;if(_0x1221a2>=_0x331df8){_0x1221a2=_0x331df8;_0x3fcc66=0xc8;}else{_0x3fcc66=0xce;}_0x28953b['status'](_0x3fcc66);return _0x28953b[_0xa202('0x1a')]('Content-Range',_0x30b18b+'-'+_0x1221a2+'/'+_0x331df8)[_0xa202('0x16')](_0x5dc065);}return null;};}function patchUpdates(_0x33b91f){return function(_0x130c45){try{jsonpatch[_0xa202('0x1b')](_0x130c45,_0x33b91f,!![]);}catch(_0x391e82){return BPromise['reject'](_0x391e82);}return _0x130c45[_0xa202('0x1c')]();};}function saveUpdates(_0x6132f1,_0x353440){return function(_0x468575){if(_0x468575){return _0x468575[_0xa202('0x1d')](_0x6132f1)['then'](function(_0x55c9a5){return _0x55c9a5;});}return null;};}function removeEntity(_0x7b47e5,_0x46cfa4){return function(_0x44801a){if(_0x44801a){return _0x44801a['destroy']()[_0xa202('0x1e')](function(){var _0x192d3c=_0x44801a['get']({'plain':!![]});var _0x565685=_0xa202('0x1f');return db[_0xa202('0x20')]['destroy']({'where':{'type':_0x565685,'resourceId':_0x192d3c['id']}})[_0xa202('0x1e')](function(){return _0x44801a;});})['then'](function(){_0x7b47e5['status'](0xcc)[_0xa202('0x15')]();});}};}function handleEntityNotFound(_0x268ee9,_0x397553){return function(_0x2f0779){if(!_0x2f0779){_0x268ee9[_0xa202('0x13')](0x194);}return _0x2f0779;};}function handleError(_0x1d6704,_0x587832){_0x587832=_0x587832||0x1f4;return function(_0x571571){logger['error'](_0x571571['stack']);if(_0x571571[_0xa202('0x21')]){delete _0x571571[_0xa202('0x21')];}_0x1d6704[_0xa202('0x14')](_0x587832)['send'](_0x571571);};}exports[_0xa202('0x22')]=function(_0x390633,_0xf73ab4){var _0x2cc2af={},_0x3eed2c={},_0x2f97f7={'count':0x0,'rows':[]};var _0x41b09b=_[_0xa202('0x23')](db[_0xa202('0x24')][_0xa202('0x25')],function(_0x213749){return{'name':_0x213749[_0xa202('0x26')],'type':_0x213749[_0xa202('0x27')][_0xa202('0x28')]};});_0x3eed2c[_0xa202('0x29')]=_[_0xa202('0x23')](_0x41b09b,'name');_0x3eed2c[_0xa202('0x2a')]=_[_0xa202('0x2b')](_0x390633[_0xa202('0x2a')]);_0x3eed2c[_0xa202('0x2c')]=_[_0xa202('0x2d')](_0x3eed2c[_0xa202('0x29')],_0x3eed2c['query']);_0x2cc2af[_0xa202('0x2e')]=_[_0xa202('0x2d')](_0x3eed2c['model'],qs[_0xa202('0x2f')](_0x390633[_0xa202('0x2a')]['fields']));_0x2cc2af['attributes']=_0x2cc2af['attributes'][_0xa202('0x30')]?_0x2cc2af[_0xa202('0x2e')]:_0x3eed2c[_0xa202('0x29')];if(!_0x390633[_0xa202('0x2a')][_0xa202('0x31')]('nolimit')){_0x2cc2af[_0xa202('0x19')]=qs['limit'](_0x390633[_0xa202('0x2a')][_0xa202('0x19')]);_0x2cc2af[_0xa202('0x18')]=qs['offset'](_0x390633[_0xa202('0x2a')]['offset']);}_0x2cc2af['order']=qs[_0xa202('0x32')](_0x390633[_0xa202('0x2a')]['sort']);_0x2cc2af[_0xa202('0x33')]=qs['filters'](_['pick'](_0x390633[_0xa202('0x2a')],_0x3eed2c[_0xa202('0x2c')]),_0x41b09b);if(_0x390633['query'][_0xa202('0x34')]){_0x2cc2af[_0xa202('0x33')]=_[_0xa202('0x35')](_0x2cc2af['where'],{'$or':_[_0xa202('0x23')](_0x41b09b,function(_0x2fdce3){if(_0x2fdce3[_0xa202('0x27')]!==_0xa202('0x36')){var _0xd58df9={};_0xd58df9[_0x2fdce3[_0xa202('0x21')]]={'$like':'%'+_0x390633[_0xa202('0x2a')][_0xa202('0x34')]+'%'};return _0xd58df9;}})});}_0x2cc2af=_[_0xa202('0x35')]({},_0x2cc2af,_0x390633[_0xa202('0x37')]);var _0x387764={'where':_0x2cc2af[_0xa202('0x33')]};return db['VoiceMail']['count'](_0x387764)[_0xa202('0x1e')](function(_0x1b2d05){_0x2f97f7[_0xa202('0x17')]=_0x1b2d05;if(_0x390633[_0xa202('0x2a')][_0xa202('0x38')]){_0x2cc2af[_0xa202('0x39')]=[{'all':!![]}];}return db[_0xa202('0x24')][_0xa202('0x3a')](_0x2cc2af);})[_0xa202('0x1e')](function(_0x1cd615){_0x2f97f7['rows']=_0x1cd615;return _0x2f97f7;})[_0xa202('0x1e')](respondWithFilteredResult(_0xf73ab4,_0x2cc2af))[_0xa202('0x3b')](handleError(_0xf73ab4,null));};exports['show']=function(_0x48a546,_0x4f783c){var _0x130be0={'raw':!![],'where':{'id':_0x48a546[_0xa202('0x3c')]['id']}},_0x3dfeb5={};_0x3dfeb5[_0xa202('0x29')]=_['keys'](db[_0xa202('0x24')][_0xa202('0x25')]);_0x3dfeb5[_0xa202('0x2a')]=_[_0xa202('0x2b')](_0x48a546['query']);_0x3dfeb5[_0xa202('0x2c')]=_[_0xa202('0x2d')](_0x3dfeb5[_0xa202('0x29')],_0x3dfeb5['query']);_0x130be0[_0xa202('0x2e')]=_[_0xa202('0x2d')](_0x3dfeb5[_0xa202('0x29')],qs[_0xa202('0x2f')](_0x48a546[_0xa202('0x2a')][_0xa202('0x2f')]));_0x130be0[_0xa202('0x2e')]=_0x130be0[_0xa202('0x2e')][_0xa202('0x30')]?_0x130be0[_0xa202('0x2e')]:_0x3dfeb5[_0xa202('0x29')];if(_0x48a546[_0xa202('0x2a')]['includeAll']){_0x130be0[_0xa202('0x39')]=[{'all':!![]}];}_0x130be0=_[_0xa202('0x35')]({},_0x130be0,_0x48a546[_0xa202('0x37')]);return db[_0xa202('0x24')][_0xa202('0x3d')](_0x130be0)[_0xa202('0x1e')](handleEntityNotFound(_0x4f783c,null))[_0xa202('0x1e')](respondWithResult(_0x4f783c,null))[_0xa202('0x3b')](handleError(_0x4f783c,null));};exports['create']=function(_0x232941,_0x1a7d62){return db[_0xa202('0x24')]['create'](_0x232941[_0xa202('0x3e')],{})[_0xa202('0x1e')](function(_0xc72f62){var _0x55cfc5=_0x232941[_0xa202('0x3f')][_0xa202('0x40')]({'plain':!![]});if(!_0x55cfc5)throw new Error(_0xa202('0x41'));if(_0x55cfc5[_0xa202('0x42')]===_0xa202('0x3f')){var _0x1e8c0e=_0xc72f62[_0xa202('0x40')]({'plain':!![]});var _0x3f972b=_0xa202('0x1f');return db[_0xa202('0x43')][_0xa202('0x3d')]({'where':{'name':_0x3f972b,'userProfileId':_0x55cfc5['userProfileId']},'raw':!![]})[_0xa202('0x1e')](function(_0x3b8dc4){if(_0x3b8dc4&&_0x3b8dc4[_0xa202('0x44')]===0x0){return db['UserProfileResource']['create']({'name':_0x1e8c0e[_0xa202('0x21')],'resourceId':_0x1e8c0e['id'],'type':_0x3b8dc4[_0xa202('0x21')],'sectionId':_0x3b8dc4['id']},{})['then'](function(){return _0xc72f62;});}else{return _0xc72f62;}})[_0xa202('0x3b')](function(_0xfa1a43){logger['error'](_0xa202('0x45'),_0xfa1a43);throw _0xfa1a43;});}return _0xc72f62;})[_0xa202('0x1e')](respondWithResult(_0x1a7d62,0xc9))[_0xa202('0x3b')](handleError(_0x1a7d62,null));};exports[_0xa202('0x1d')]=function(_0x522786,_0x205bf2){if(_0x522786['body']['id']){delete _0x522786['body']['id'];}return db[_0xa202('0x24')]['find']({'where':{'id':_0x522786['params']['id']}})[_0xa202('0x1e')](handleEntityNotFound(_0x205bf2,null))['then'](saveUpdates(_0x522786['body'],null))[_0xa202('0x1e')](respondWithResult(_0x205bf2,null))[_0xa202('0x3b')](handleError(_0x205bf2,null));};exports[_0xa202('0x46')]=function(_0xbc4bd8,_0x49cb4e){return db[_0xa202('0x24')][_0xa202('0x3d')]({'where':{'id':_0xbc4bd8['params']['id']}})[_0xa202('0x1e')](handleEntityNotFound(_0x49cb4e,null))[_0xa202('0x1e')](removeEntity(_0x49cb4e,null))[_0xa202('0x3b')](handleError(_0x49cb4e,null));};exports[_0xa202('0x47')]=function(_0x188480,_0x3f5819,_0xaea834){return db['VoiceMail'][_0xa202('0x48')]({'where':{'id':_0x188480[_0xa202('0x3c')]['id']}})[_0xa202('0x1e')](handleEntityNotFound(_0x3f5819,null))['then'](function(_0x511033){var _0x5ba827;var _0x43d1a5={},_0x2ae14e={};_0x2ae14e[_0xa202('0x29')]=_[_0xa202('0x2b')](db[_0xa202('0x49')][_0xa202('0x25')]);_0x2ae14e[_0xa202('0x2a')]=_[_0xa202('0x2b')](_0x188480[_0xa202('0x2a')]);_0x2ae14e['filters']=_[_0xa202('0x2d')](_0x2ae14e['model'],_0x2ae14e[_0xa202('0x2a')]);_0x43d1a5[_0xa202('0x2e')]=_[_0xa202('0x2d')](_0x2ae14e[_0xa202('0x29')],qs[_0xa202('0x2f')](_0x188480['query'][_0xa202('0x2f')]));_0x43d1a5[_0xa202('0x2e')]=_0x43d1a5['attributes'][_0xa202('0x30')]?_0x43d1a5['attributes']:_0x2ae14e[_0xa202('0x29')];if(!_0x188480['query']['hasOwnProperty'](_0xa202('0x4a'))){_0x43d1a5[_0xa202('0x19')]=qs[_0xa202('0x19')](_0x188480[_0xa202('0x2a')][_0xa202('0x19')]);_0x43d1a5['offset']=qs['offset'](_0x188480['query'][_0xa202('0x18')]);}_0x43d1a5[_0xa202('0x4b')]=qs[_0xa202('0x32')](_0x188480[_0xa202('0x2a')][_0xa202('0x32')]);_0x43d1a5['where']=qs['filters'](_['pick'](_0x188480[_0xa202('0x2a')],_0x2ae14e[_0xa202('0x2c')]));if(_0x188480['query'][_0xa202('0x34')]){_0x43d1a5[_0xa202('0x33')]=_['merge'](_0x43d1a5['where'],{'$or':_[_0xa202('0x23')](_0x43d1a5['attributes'],function(_0x3ba19b){var _0x5c90fb={};_0x5c90fb[_0x3ba19b]={'$like':'%'+_0x188480[_0xa202('0x2a')]['filter']+'%'};return _0x5c90fb;})});}_0x43d1a5[_0xa202('0x33')]=_[_0xa202('0x35')](_0x43d1a5[_0xa202('0x33')],{'mailboxuser':_0x511033['mailbox']});_0x43d1a5=_[_0xa202('0x35')]({},_0x43d1a5,_0x188480[_0xa202('0x37')]);return db[_0xa202('0x49')][_0xa202('0x4c')](_0x43d1a5)['then'](respondWithFilteredResult(_0x3f5819,_0x43d1a5));})[_0xa202('0x3b')](handleError(_0x3f5819,null));};