Built motion from commit (unavailable).|2.4.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 _0x51ac=['catch','show','params','rawAttributes','fields','include','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','getMessages','findOne','sort','pick','findAndCountAll','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','lodash','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','save','update','then','get','Voicemails','UserProfileResource','destroy','error','stack','name','send','map','VoiceMail','key','model','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','limit','order','where','filters','filter','merge','type','VIRTUAL','options','includeAll','rows'];(function(_0x471e05,_0xecd7a4){var _0x2bc1a6=function(_0x5b9c89){while(--_0x5b9c89){_0x471e05['push'](_0x471e05['shift']());}};_0x2bc1a6(++_0xecd7a4);}(_0x51ac,0x6c));var _0xc51a=function(_0x54af93,_0x1d620a){_0x54af93=_0x54af93-0x0;var _0x1e5d06=_0x51ac[_0x54af93];return _0x1e5d06;};'use strict';var pdf=require(_0xc51a('0x0'));var emlformat=require(_0xc51a('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc51a('0x2'));var rp=require(_0xc51a('0x3'));var moment=require(_0xc51a('0x4'));var BPromise=require(_0xc51a('0x5'));var Mustache=require(_0xc51a('0x6'));var util=require(_0xc51a('0x7'));var path=require('path');var sox=require(_0xc51a('0x8'));var csv=require('to-csv');var ejs=require(_0xc51a('0x9'));var fs=require('fs');var _=require(_0xc51a('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc51a('0xb'));var deskjs=require(_0xc51a('0xc'));var toCsv=require(_0xc51a('0xd'));var querystring=require(_0xc51a('0xe'));var Papa=require(_0xc51a('0xf'));var Redis=require(_0xc51a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xc51a('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc51a('0x12'));var logger=require(_0xc51a('0x13'))(_0xc51a('0x14'));var utils=require(_0xc51a('0x15'));var config=require(_0xc51a('0x16'));var db=require(_0xc51a('0x17'))['db'];function respondWithStatusCode(_0x3f3224,_0x122c01){_0x122c01=_0x122c01||0xcc;return function(_0x4535b6){if(_0x4535b6){return _0x3f3224[_0xc51a('0x18')](_0x122c01);}return _0x3f3224[_0xc51a('0x19')](_0x122c01)[_0xc51a('0x1a')]();};}function respondWithResult(_0x5c17c0,_0xa7d6e3){_0xa7d6e3=_0xa7d6e3||0xc8;return function(_0x5b4433){if(_0x5b4433){return _0x5c17c0[_0xc51a('0x19')](_0xa7d6e3)[_0xc51a('0x1b')](_0x5b4433);}};}function respondWithFilteredResult(_0x57e747,_0x25a8b7){return function(_0x52e33b){if(_0x52e33b){var _0x3fae30=_0x52e33b[_0xc51a('0x1c')],_0x9a02c3=_0x25a8b7[_0xc51a('0x1d')],_0x2b8bd9=_0x25a8b7['offset']+_0x25a8b7['limit'],_0xd88d7e;if(_0x2b8bd9>=_0x3fae30){_0x2b8bd9=_0x3fae30;_0xd88d7e=0xc8;}else{_0xd88d7e=0xce;}_0x57e747[_0xc51a('0x19')](_0xd88d7e);return _0x57e747[_0xc51a('0x1e')](_0xc51a('0x1f'),_0x9a02c3+'-'+_0x2b8bd9+'/'+_0x3fae30)[_0xc51a('0x1b')](_0x52e33b);}return null;};}function patchUpdates(_0x1f5802){return function(_0x180d59){try{jsonpatch[_0xc51a('0x20')](_0x180d59,_0x1f5802,!![]);}catch(_0x34bbbd){return BPromise['reject'](_0x34bbbd);}return _0x180d59[_0xc51a('0x21')]();};}function saveUpdates(_0x26c9b4,_0x26f37e){return function(_0x1977f8){if(_0x1977f8){return _0x1977f8[_0xc51a('0x22')](_0x26c9b4)[_0xc51a('0x23')](function(_0x4b8140){return _0x4b8140;});}return null;};}function removeEntity(_0x4c7d98,_0x514fd8){return function(_0xf1c12c){if(_0xf1c12c){return _0xf1c12c['destroy']()[_0xc51a('0x23')](function(){var _0x264021=_0xf1c12c[_0xc51a('0x24')]({'plain':!![]});var _0x38d236=_0xc51a('0x25');return db[_0xc51a('0x26')][_0xc51a('0x27')]({'where':{'type':_0x38d236,'resourceId':_0x264021['id']}})[_0xc51a('0x23')](function(){return _0xf1c12c;});})[_0xc51a('0x23')](function(){_0x4c7d98[_0xc51a('0x19')](0xcc)[_0xc51a('0x1a')]();});}};}function handleEntityNotFound(_0x162ed5,_0x3ba006){return function(_0x2c4567){if(!_0x2c4567){_0x162ed5[_0xc51a('0x18')](0x194);}return _0x2c4567;};}function handleError(_0x18100d,_0x5003ea){_0x5003ea=_0x5003ea||0x1f4;return function(_0xe6b6da){logger[_0xc51a('0x28')](_0xe6b6da[_0xc51a('0x29')]);if(_0xe6b6da[_0xc51a('0x2a')]){delete _0xe6b6da[_0xc51a('0x2a')];}_0x18100d[_0xc51a('0x19')](_0x5003ea)[_0xc51a('0x2b')](_0xe6b6da);};}exports['index']=function(_0x35ea24,_0x538fda){var _0x276fa4={},_0x4014aa={},_0x54f375={'count':0x0,'rows':[]};var _0x61239d=_[_0xc51a('0x2c')](db[_0xc51a('0x2d')]['rawAttributes'],function(_0x1e7fa0){return{'name':_0x1e7fa0['fieldName'],'type':_0x1e7fa0['type'][_0xc51a('0x2e')]};});_0x4014aa[_0xc51a('0x2f')]=_[_0xc51a('0x2c')](_0x61239d,'name');_0x4014aa[_0xc51a('0x30')]=_[_0xc51a('0x31')](_0x35ea24[_0xc51a('0x30')]);_0x4014aa['filters']=_[_0xc51a('0x32')](_0x4014aa[_0xc51a('0x2f')],_0x4014aa[_0xc51a('0x30')]);_0x276fa4[_0xc51a('0x33')]=_[_0xc51a('0x32')](_0x4014aa[_0xc51a('0x2f')],qs['fields'](_0x35ea24['query']['fields']));_0x276fa4[_0xc51a('0x33')]=_0x276fa4[_0xc51a('0x33')][_0xc51a('0x34')]?_0x276fa4[_0xc51a('0x33')]:_0x4014aa['model'];if(!_0x35ea24[_0xc51a('0x30')][_0xc51a('0x35')](_0xc51a('0x36'))){_0x276fa4[_0xc51a('0x37')]=qs[_0xc51a('0x37')](_0x35ea24['query'][_0xc51a('0x37')]);_0x276fa4['offset']=qs[_0xc51a('0x1d')](_0x35ea24['query'][_0xc51a('0x1d')]);}_0x276fa4[_0xc51a('0x38')]=qs['sort'](_0x35ea24[_0xc51a('0x30')]['sort']);_0x276fa4[_0xc51a('0x39')]=qs[_0xc51a('0x3a')](_['pick'](_0x35ea24[_0xc51a('0x30')],_0x4014aa[_0xc51a('0x3a')]));if(_0x35ea24[_0xc51a('0x30')][_0xc51a('0x3b')]){_0x276fa4[_0xc51a('0x39')]=_[_0xc51a('0x3c')](_0x276fa4[_0xc51a('0x39')],{'$or':_[_0xc51a('0x2c')](_0x61239d,function(_0x5b529b){if(_0x5b529b[_0xc51a('0x3d')]!==_0xc51a('0x3e')){var _0x1fb65d={};_0x1fb65d[_0x5b529b[_0xc51a('0x2a')]]={'$like':'%'+_0x35ea24[_0xc51a('0x30')][_0xc51a('0x3b')]+'%'};return _0x1fb65d;}})});}_0x276fa4=_['merge']({},_0x276fa4,_0x35ea24[_0xc51a('0x3f')]);var _0x35d59b={'where':_0x276fa4[_0xc51a('0x39')]};return db[_0xc51a('0x2d')][_0xc51a('0x1c')](_0x35d59b)[_0xc51a('0x23')](function(_0x4f5d5e){_0x54f375[_0xc51a('0x1c')]=_0x4f5d5e;if(_0x35ea24[_0xc51a('0x30')][_0xc51a('0x40')]){_0x276fa4['include']=[{'all':!![]}];}return db[_0xc51a('0x2d')]['findAll'](_0x276fa4);})[_0xc51a('0x23')](function(_0xe681e6){_0x54f375[_0xc51a('0x41')]=_0xe681e6;return _0x54f375;})[_0xc51a('0x23')](respondWithFilteredResult(_0x538fda,_0x276fa4))[_0xc51a('0x42')](handleError(_0x538fda,null));};exports[_0xc51a('0x43')]=function(_0x316c45,_0x5f1eaf){var _0x31a93d={'raw':!![],'where':{'id':_0x316c45[_0xc51a('0x44')]['id']}},_0x2bb5e7={};_0x2bb5e7['model']=_[_0xc51a('0x31')](db[_0xc51a('0x2d')][_0xc51a('0x45')]);_0x2bb5e7['query']=_[_0xc51a('0x31')](_0x316c45['query']);_0x2bb5e7[_0xc51a('0x3a')]=_[_0xc51a('0x32')](_0x2bb5e7[_0xc51a('0x2f')],_0x2bb5e7[_0xc51a('0x30')]);_0x31a93d[_0xc51a('0x33')]=_[_0xc51a('0x32')](_0x2bb5e7[_0xc51a('0x2f')],qs[_0xc51a('0x46')](_0x316c45[_0xc51a('0x30')][_0xc51a('0x46')]));_0x31a93d[_0xc51a('0x33')]=_0x31a93d[_0xc51a('0x33')][_0xc51a('0x34')]?_0x31a93d[_0xc51a('0x33')]:_0x2bb5e7[_0xc51a('0x2f')];if(_0x316c45[_0xc51a('0x30')]['includeAll']){_0x31a93d[_0xc51a('0x47')]=[{'all':!![]}];}_0x31a93d=_[_0xc51a('0x3c')]({},_0x31a93d,_0x316c45[_0xc51a('0x3f')]);return db[_0xc51a('0x2d')][_0xc51a('0x48')](_0x31a93d)['then'](handleEntityNotFound(_0x5f1eaf,null))[_0xc51a('0x23')](respondWithResult(_0x5f1eaf,null))[_0xc51a('0x42')](handleError(_0x5f1eaf,null));};exports['create']=function(_0x23e47e,_0x2f456c){return db['VoiceMail'][_0xc51a('0x49')](_0x23e47e[_0xc51a('0x4a')],{})['then'](function(_0x4904f8){var _0x57dd60=_0x23e47e[_0xc51a('0x4b')][_0xc51a('0x24')]({'plain':!![]});if(!_0x57dd60)throw new Error(_0xc51a('0x4c'));if(_0x57dd60[_0xc51a('0x4d')]===_0xc51a('0x4b')){var _0x5835d7=_0x4904f8[_0xc51a('0x24')]({'plain':!![]});var _0x3988a7='Voicemails';return db[_0xc51a('0x4e')][_0xc51a('0x48')]({'where':{'name':_0x3988a7,'userProfileId':_0x57dd60[_0xc51a('0x4f')]},'raw':!![]})[_0xc51a('0x23')](function(_0x59537d){if(_0x59537d&&_0x59537d[_0xc51a('0x50')]===0x0){return db[_0xc51a('0x26')][_0xc51a('0x49')]({'name':_0x5835d7['name'],'resourceId':_0x5835d7['id'],'type':_0x59537d['name'],'sectionId':_0x59537d['id']},{})[_0xc51a('0x23')](function(){return _0x4904f8;});}else{return _0x4904f8;}})['catch'](function(_0x449515){logger[_0xc51a('0x28')](_0xc51a('0x51'),_0x449515);throw _0x449515;});}return _0x4904f8;})[_0xc51a('0x23')](respondWithResult(_0x2f456c,0xc9))[_0xc51a('0x42')](handleError(_0x2f456c,null));};exports[_0xc51a('0x22')]=function(_0x3129fa,_0x4b5b26){if(_0x3129fa[_0xc51a('0x4a')]['id']){delete _0x3129fa[_0xc51a('0x4a')]['id'];}return db[_0xc51a('0x2d')][_0xc51a('0x48')]({'where':{'id':_0x3129fa[_0xc51a('0x44')]['id']}})[_0xc51a('0x23')](handleEntityNotFound(_0x4b5b26,null))[_0xc51a('0x23')](saveUpdates(_0x3129fa[_0xc51a('0x4a')],null))['then'](respondWithResult(_0x4b5b26,null))[_0xc51a('0x42')](handleError(_0x4b5b26,null));};exports[_0xc51a('0x27')]=function(_0x3ca918,_0x47f8d2){return db[_0xc51a('0x2d')][_0xc51a('0x48')]({'where':{'id':_0x3ca918[_0xc51a('0x44')]['id']}})[_0xc51a('0x23')](handleEntityNotFound(_0x47f8d2,null))[_0xc51a('0x23')](removeEntity(_0x47f8d2,null))[_0xc51a('0x42')](handleError(_0x47f8d2,null));};exports[_0xc51a('0x52')]=function(_0x5af306,_0x3835e0,_0x5f233b){return db[_0xc51a('0x2d')][_0xc51a('0x53')]({'where':{'id':_0x5af306[_0xc51a('0x44')]['id']}})['then'](handleEntityNotFound(_0x3835e0,null))[_0xc51a('0x23')](function(_0x242ee5){var _0x3cbec0;var _0x403409={},_0x2d65db={};_0x2d65db['model']=_[_0xc51a('0x31')](db['VoiceMailMessage']['rawAttributes']);_0x2d65db[_0xc51a('0x30')]=_['keys'](_0x5af306[_0xc51a('0x30')]);_0x2d65db[_0xc51a('0x3a')]=_['intersection'](_0x2d65db[_0xc51a('0x2f')],_0x2d65db['query']);_0x403409[_0xc51a('0x33')]=_[_0xc51a('0x32')](_0x2d65db['model'],qs[_0xc51a('0x46')](_0x5af306[_0xc51a('0x30')]['fields']));_0x403409[_0xc51a('0x33')]=_0x403409[_0xc51a('0x33')][_0xc51a('0x34')]?_0x403409[_0xc51a('0x33')]:_0x2d65db['model'];if(!_0x5af306[_0xc51a('0x30')][_0xc51a('0x35')](_0xc51a('0x36'))){_0x403409[_0xc51a('0x37')]=qs[_0xc51a('0x37')](_0x5af306[_0xc51a('0x30')]['limit']);_0x403409['offset']=qs['offset'](_0x5af306[_0xc51a('0x30')][_0xc51a('0x1d')]);}_0x403409[_0xc51a('0x38')]=qs['sort'](_0x5af306[_0xc51a('0x30')][_0xc51a('0x54')]);_0x403409[_0xc51a('0x39')]=qs[_0xc51a('0x3a')](_[_0xc51a('0x55')](_0x5af306['query'],_0x2d65db['filters']));if(_0x5af306[_0xc51a('0x30')][_0xc51a('0x3b')]){_0x403409['where']=_[_0xc51a('0x3c')](_0x403409[_0xc51a('0x39')],{'$or':_[_0xc51a('0x2c')](_0x403409['attributes'],function(_0x56f773){var _0x592b8a={};_0x592b8a[_0x56f773]={'$like':'%'+_0x5af306[_0xc51a('0x30')][_0xc51a('0x3b')]+'%'};return _0x592b8a;})});}_0x403409[_0xc51a('0x39')]=_[_0xc51a('0x3c')](_0x403409[_0xc51a('0x39')],{'mailboxuser':_0x242ee5['mailbox']});_0x403409=_['merge']({},_0x403409,_0x5af306[_0xc51a('0x3f')]);return db['VoiceMailMessage'][_0xc51a('0x56')](_0x403409)[_0xc51a('0x23')](respondWithFilteredResult(_0x3835e0,_0x403409));})[_0xc51a('0x42')](handleError(_0x3835e0,null));};