Built motion from commit (unavailable).|2.5.26
[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 _0x896e=['fieldName','type','key','query','keys','intersection','attributes','model','length','hasOwnProperty','nolimit','order','where','pick','filters','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','catch','params','fields','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','getMessages','findOne','VoiceMailMessage','sort','mailbox','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','limit','set','Content-Range','apply','reject','update','then','get','Voicemails','UserProfileResource','destroy','status','error','name','send','index','map','VoiceMail','rawAttributes'];(function(_0x2aed25,_0x4c94a6){var _0x4b29b7=function(_0x5312b3){while(--_0x5312b3){_0x2aed25['push'](_0x2aed25['shift']());}};_0x4b29b7(++_0x4c94a6);}(_0x896e,0x1e9));var _0xe896=function(_0x2f018e,_0x2237f5){_0x2f018e=_0x2f018e-0x0;var _0x3c35b3=_0x896e[_0x2f018e];return _0x3c35b3;};'use strict';var pdf=require(_0xe896('0x0'));var emlformat=require(_0xe896('0x1'));var rimraf=require(_0xe896('0x2'));var zipdir=require(_0xe896('0x3'));var jsonpatch=require(_0xe896('0x4'));var rp=require(_0xe896('0x5'));var moment=require(_0xe896('0x6'));var BPromise=require(_0xe896('0x7'));var Mustache=require(_0xe896('0x8'));var util=require(_0xe896('0x9'));var path=require(_0xe896('0xa'));var sox=require(_0xe896('0xb'));var csv=require('to-csv');var ejs=require(_0xe896('0xc'));var fs=require('fs');var fs_extra=require(_0xe896('0xd'));var _=require(_0xe896('0xe'));var squel=require(_0xe896('0xf'));var crypto=require(_0xe896('0x10'));var jsforce=require('jsforce');var deskjs=require(_0xe896('0x11'));var toCsv=require(_0xe896('0x12'));var querystring=require(_0xe896('0x13'));var Papa=require('papaparse');var Redis=require(_0xe896('0x14'));var authService=require('../../components/auth/service');var qs=require(_0xe896('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe896('0x16'));var logger=require(_0xe896('0x17'))(_0xe896('0x18'));var utils=require('../../config/utils');var config=require(_0xe896('0x19'));var licenseUtil=require(_0xe896('0x1a'));var db=require(_0xe896('0x1b'))['db'];function respondWithStatusCode(_0x580aac,_0x2aa522){_0x2aa522=_0x2aa522||0xcc;return function(_0x2f1c3e){if(_0x2f1c3e){return _0x580aac[_0xe896('0x1c')](_0x2aa522);}return _0x580aac['status'](_0x2aa522)[_0xe896('0x1d')]();};}function respondWithResult(_0x7dcf8a,_0x1e7ef8){_0x1e7ef8=_0x1e7ef8||0xc8;return function(_0x564758){if(_0x564758){return _0x7dcf8a['status'](_0x1e7ef8)[_0xe896('0x1e')](_0x564758);}};}function respondWithFilteredResult(_0x25606b,_0x51e7b7){return function(_0x5e78d6){if(_0x5e78d6){var _0x11f41c=_0x5e78d6['count'],_0x16e272=_0x51e7b7[_0xe896('0x1f')],_0x57f04b=_0x51e7b7[_0xe896('0x1f')]+_0x51e7b7[_0xe896('0x20')],_0x50d224;if(_0x57f04b>=_0x11f41c){_0x57f04b=_0x11f41c;_0x50d224=0xc8;}else{_0x50d224=0xce;}_0x25606b['status'](_0x50d224);return _0x25606b[_0xe896('0x21')](_0xe896('0x22'),_0x16e272+'-'+_0x57f04b+'/'+_0x11f41c)[_0xe896('0x1e')](_0x5e78d6);}return null;};}function patchUpdates(_0xbebbe1){return function(_0x2693d6){try{jsonpatch[_0xe896('0x23')](_0x2693d6,_0xbebbe1,!![]);}catch(_0x388c2e){return BPromise[_0xe896('0x24')](_0x388c2e);}return _0x2693d6['save']();};}function saveUpdates(_0x180d46,_0x5e1f29){return function(_0x5d2c8d){if(_0x5d2c8d){return _0x5d2c8d[_0xe896('0x25')](_0x180d46)[_0xe896('0x26')](function(_0x40502b){return _0x40502b;});}return null;};}function removeEntity(_0xeeec7c,_0x498469){return function(_0x468479){if(_0x468479){return _0x468479['destroy']()['then'](function(){var _0x45dd49=_0x468479[_0xe896('0x27')]({'plain':!![]});var _0x1e952a=_0xe896('0x28');return db[_0xe896('0x29')][_0xe896('0x2a')]({'where':{'type':_0x1e952a,'resourceId':_0x45dd49['id']}})[_0xe896('0x26')](function(){return _0x468479;});})['then'](function(){_0xeeec7c[_0xe896('0x2b')](0xcc)[_0xe896('0x1d')]();});}};}function handleEntityNotFound(_0xc3cd05,_0x569d5f){return function(_0x26635e){if(!_0x26635e){_0xc3cd05[_0xe896('0x1c')](0x194);}return _0x26635e;};}function handleError(_0x2bc11d,_0xe93aa0){_0xe93aa0=_0xe93aa0||0x1f4;return function(_0x2d8a7b){logger[_0xe896('0x2c')](_0x2d8a7b['stack']);if(_0x2d8a7b[_0xe896('0x2d')]){delete _0x2d8a7b[_0xe896('0x2d')];}_0x2bc11d[_0xe896('0x2b')](_0xe93aa0)[_0xe896('0x2e')](_0x2d8a7b);};}exports[_0xe896('0x2f')]=function(_0x5e0d9b,_0x47c268){var _0x5c7dae={},_0x504d7c={},_0x562ddd={'count':0x0,'rows':[]};var _0x291290=_[_0xe896('0x30')](db[_0xe896('0x31')][_0xe896('0x32')],function(_0x3cd88e){return{'name':_0x3cd88e[_0xe896('0x33')],'type':_0x3cd88e[_0xe896('0x34')][_0xe896('0x35')]};});_0x504d7c['model']=_['map'](_0x291290,_0xe896('0x2d'));_0x504d7c[_0xe896('0x36')]=_[_0xe896('0x37')](_0x5e0d9b[_0xe896('0x36')]);_0x504d7c['filters']=_[_0xe896('0x38')](_0x504d7c['model'],_0x504d7c['query']);_0x5c7dae[_0xe896('0x39')]=_[_0xe896('0x38')](_0x504d7c[_0xe896('0x3a')],qs['fields'](_0x5e0d9b['query']['fields']));_0x5c7dae[_0xe896('0x39')]=_0x5c7dae[_0xe896('0x39')][_0xe896('0x3b')]?_0x5c7dae[_0xe896('0x39')]:_0x504d7c[_0xe896('0x3a')];if(!_0x5e0d9b['query'][_0xe896('0x3c')](_0xe896('0x3d'))){_0x5c7dae[_0xe896('0x20')]=qs[_0xe896('0x20')](_0x5e0d9b[_0xe896('0x36')][_0xe896('0x20')]);_0x5c7dae[_0xe896('0x1f')]=qs[_0xe896('0x1f')](_0x5e0d9b['query'][_0xe896('0x1f')]);}_0x5c7dae[_0xe896('0x3e')]=qs['sort'](_0x5e0d9b[_0xe896('0x36')]['sort']);_0x5c7dae[_0xe896('0x3f')]=qs['filters'](_[_0xe896('0x40')](_0x5e0d9b['query'],_0x504d7c[_0xe896('0x41')]),_0x291290);if(_0x5e0d9b[_0xe896('0x36')][_0xe896('0x42')]){_0x5c7dae[_0xe896('0x3f')]=_[_0xe896('0x43')](_0x5c7dae['where'],{'$or':_['map'](_0x291290,function(_0x203aea){if(_0x203aea[_0xe896('0x34')]!==_0xe896('0x44')){var _0x15b6c5={};_0x15b6c5[_0x203aea[_0xe896('0x2d')]]={'$like':'%'+_0x5e0d9b['query']['filter']+'%'};return _0x15b6c5;}})});}_0x5c7dae=_[_0xe896('0x43')]({},_0x5c7dae,_0x5e0d9b[_0xe896('0x45')]);var _0x5890b1={'where':_0x5c7dae['where']};return db[_0xe896('0x31')][_0xe896('0x46')](_0x5890b1)[_0xe896('0x26')](function(_0x2ab0ac){_0x562ddd[_0xe896('0x46')]=_0x2ab0ac;if(_0x5e0d9b[_0xe896('0x36')][_0xe896('0x47')]){_0x5c7dae[_0xe896('0x48')]=[{'all':!![]}];}return db[_0xe896('0x31')][_0xe896('0x49')](_0x5c7dae);})[_0xe896('0x26')](function(_0x1bc76a){_0x562ddd['rows']=_0x1bc76a;return _0x562ddd;})[_0xe896('0x26')](respondWithFilteredResult(_0x47c268,_0x5c7dae))[_0xe896('0x4a')](handleError(_0x47c268,null));};exports['show']=function(_0x57366b,_0x5cd5a3){var _0x36449e={'raw':!![],'where':{'id':_0x57366b[_0xe896('0x4b')]['id']}},_0x2a354f={};_0x2a354f['model']=_[_0xe896('0x37')](db[_0xe896('0x31')]['rawAttributes']);_0x2a354f['query']=_['keys'](_0x57366b[_0xe896('0x36')]);_0x2a354f[_0xe896('0x41')]=_[_0xe896('0x38')](_0x2a354f[_0xe896('0x3a')],_0x2a354f[_0xe896('0x36')]);_0x36449e[_0xe896('0x39')]=_['intersection'](_0x2a354f[_0xe896('0x3a')],qs[_0xe896('0x4c')](_0x57366b['query'][_0xe896('0x4c')]));_0x36449e[_0xe896('0x39')]=_0x36449e[_0xe896('0x39')][_0xe896('0x3b')]?_0x36449e['attributes']:_0x2a354f[_0xe896('0x3a')];if(_0x57366b[_0xe896('0x36')][_0xe896('0x47')]){_0x36449e[_0xe896('0x48')]=[{'all':!![]}];}_0x36449e=_[_0xe896('0x43')]({},_0x36449e,_0x57366b[_0xe896('0x45')]);return db['VoiceMail'][_0xe896('0x4d')](_0x36449e)['then'](handleEntityNotFound(_0x5cd5a3,null))[_0xe896('0x26')](respondWithResult(_0x5cd5a3,null))[_0xe896('0x4a')](handleError(_0x5cd5a3,null));};exports[_0xe896('0x4e')]=function(_0x24b4f0,_0x252c27){return db[_0xe896('0x31')]['create'](_0x24b4f0[_0xe896('0x4f')],{})[_0xe896('0x26')](function(_0x4818cd){var _0x3373dc=_0x24b4f0[_0xe896('0x50')]['get']({'plain':!![]});if(!_0x3373dc)throw new Error(_0xe896('0x51'));if(_0x3373dc['role']===_0xe896('0x50')){var _0xb90690=_0x4818cd[_0xe896('0x27')]({'plain':!![]});var _0x22424d=_0xe896('0x28');return db['UserProfileSection'][_0xe896('0x4d')]({'where':{'name':_0x22424d,'userProfileId':_0x3373dc[_0xe896('0x52')]},'raw':!![]})[_0xe896('0x26')](function(_0x5e9ea6){if(_0x5e9ea6&&_0x5e9ea6[_0xe896('0x53')]===0x0){return db['UserProfileResource']['create']({'name':_0xb90690[_0xe896('0x2d')],'resourceId':_0xb90690['id'],'type':_0x5e9ea6[_0xe896('0x2d')],'sectionId':_0x5e9ea6['id']},{})['then'](function(){return _0x4818cd;});}else{return _0x4818cd;}})[_0xe896('0x4a')](function(_0x3d137b){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3d137b);throw _0x3d137b;});}return _0x4818cd;})[_0xe896('0x26')](respondWithResult(_0x252c27,0xc9))[_0xe896('0x4a')](handleError(_0x252c27,null));};exports['update']=function(_0x1d18f6,_0x2f1f1b){if(_0x1d18f6[_0xe896('0x4f')]['id']){delete _0x1d18f6[_0xe896('0x4f')]['id'];}return db[_0xe896('0x31')][_0xe896('0x4d')]({'where':{'id':_0x1d18f6[_0xe896('0x4b')]['id']}})[_0xe896('0x26')](handleEntityNotFound(_0x2f1f1b,null))[_0xe896('0x26')](saveUpdates(_0x1d18f6[_0xe896('0x4f')],null))[_0xe896('0x26')](respondWithResult(_0x2f1f1b,null))['catch'](handleError(_0x2f1f1b,null));};exports[_0xe896('0x2a')]=function(_0x2a23a2,_0x131c1c){return db[_0xe896('0x31')][_0xe896('0x4d')]({'where':{'id':_0x2a23a2[_0xe896('0x4b')]['id']}})[_0xe896('0x26')](handleEntityNotFound(_0x131c1c,null))[_0xe896('0x26')](removeEntity(_0x131c1c,null))[_0xe896('0x4a')](handleError(_0x131c1c,null));};exports[_0xe896('0x54')]=function(_0x3faf52,_0x26b78e,_0x5d8265){return db[_0xe896('0x31')][_0xe896('0x55')]({'where':{'id':_0x3faf52[_0xe896('0x4b')]['id']}})['then'](handleEntityNotFound(_0x26b78e,null))['then'](function(_0x4bf8d6){var _0x20f199;var _0x29aa11={},_0x20cadc={};_0x20cadc[_0xe896('0x3a')]=_['keys'](db[_0xe896('0x56')][_0xe896('0x32')]);_0x20cadc[_0xe896('0x36')]=_[_0xe896('0x37')](_0x3faf52['query']);_0x20cadc[_0xe896('0x41')]=_[_0xe896('0x38')](_0x20cadc['model'],_0x20cadc[_0xe896('0x36')]);_0x29aa11[_0xe896('0x39')]=_['intersection'](_0x20cadc['model'],qs[_0xe896('0x4c')](_0x3faf52[_0xe896('0x36')][_0xe896('0x4c')]));_0x29aa11[_0xe896('0x39')]=_0x29aa11[_0xe896('0x39')]['length']?_0x29aa11[_0xe896('0x39')]:_0x20cadc[_0xe896('0x3a')];if(!_0x3faf52[_0xe896('0x36')][_0xe896('0x3c')]('nolimit')){_0x29aa11['limit']=qs[_0xe896('0x20')](_0x3faf52[_0xe896('0x36')]['limit']);_0x29aa11[_0xe896('0x1f')]=qs['offset'](_0x3faf52[_0xe896('0x36')][_0xe896('0x1f')]);}_0x29aa11[_0xe896('0x3e')]=qs[_0xe896('0x57')](_0x3faf52[_0xe896('0x36')][_0xe896('0x57')]);_0x29aa11[_0xe896('0x3f')]=qs[_0xe896('0x41')](_[_0xe896('0x40')](_0x3faf52[_0xe896('0x36')],_0x20cadc[_0xe896('0x41')]));if(_0x3faf52[_0xe896('0x36')][_0xe896('0x42')]){_0x29aa11[_0xe896('0x3f')]=_[_0xe896('0x43')](_0x29aa11[_0xe896('0x3f')],{'$or':_[_0xe896('0x30')](_0x29aa11[_0xe896('0x39')],function(_0x27d90d){var _0x2bbb16={};_0x2bbb16[_0x27d90d]={'$like':'%'+_0x3faf52[_0xe896('0x36')][_0xe896('0x42')]+'%'};return _0x2bbb16;})});}_0x29aa11['where']=_['merge'](_0x29aa11[_0xe896('0x3f')],{'mailboxuser':_0x4bf8d6[_0xe896('0x58')]});_0x29aa11=_['merge']({},_0x29aa11,_0x3faf52[_0xe896('0x45')]);return db[_0xe896('0x56')][_0xe896('0x59')](_0x29aa11)[_0xe896('0x26')](respondWithFilteredResult(_0x26b78e,_0x29aa11));})[_0xe896('0x4a')](handleError(_0x26b78e,null));};