Built motion from commit (unavailable).|2.5.3
[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 _0x36b6=['intersection','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','options','VoiceMail','count','rows','catch','show','params','include','find','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMessages','findOne','VoiceMailMessage','hasOwnProperty','nolimit','order','mailbox','findAndCountAll','html-pdf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','end','json','offset','limit','status','Content-Range','apply','reject','save','update','then','destroy','get','Voicemails','UserProfileResource','error','stack','name','rawAttributes','fieldName','type','key','model','map','query','keys','filters'];(function(_0x23d122,_0x533a92){var _0xfc854b=function(_0x429b75){while(--_0x429b75){_0x23d122['push'](_0x23d122['shift']());}};_0xfc854b(++_0x533a92);}(_0x36b6,0x1bb));var _0x636b=function(_0x18d778,_0x15c637){_0x18d778=_0x18d778-0x0;var _0x4e3cbc=_0x36b6[_0x18d778];return _0x4e3cbc;};'use strict';var pdf=require(_0x636b('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x636b('0x1'));var jsonpatch=require(_0x636b('0x2'));var rp=require(_0x636b('0x3'));var moment=require(_0x636b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x636b('0x5'));var util=require(_0x636b('0x6'));var path=require('path');var sox=require(_0x636b('0x7'));var csv=require(_0x636b('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x636b('0x9'));var crypto=require(_0x636b('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x636b('0xb'));var toCsv=require('to-csv');var querystring=require(_0x636b('0xc'));var Papa=require(_0x636b('0xd'));var Redis=require('ioredis');var authService=require(_0x636b('0xe'));var qs=require(_0x636b('0xf'));var as=require(_0x636b('0x10'));var hardwareService=require(_0x636b('0x11'));var logger=require('../../config/logger')(_0x636b('0x12'));var utils=require('../../config/utils');var config=require(_0x636b('0x13'));var db=require(_0x636b('0x14'))['db'];function respondWithStatusCode(_0x5e2754,_0x3e2795){_0x3e2795=_0x3e2795||0xcc;return function(_0x5ab2d9){if(_0x5ab2d9){return _0x5e2754[_0x636b('0x15')](_0x3e2795);}return _0x5e2754['status'](_0x3e2795)[_0x636b('0x16')]();};}function respondWithResult(_0x44142b,_0x4ddd51){_0x4ddd51=_0x4ddd51||0xc8;return function(_0x1cd480){if(_0x1cd480){return _0x44142b['status'](_0x4ddd51)[_0x636b('0x17')](_0x1cd480);}};}function respondWithFilteredResult(_0x5a454b,_0x222b46){return function(_0x27b61e){if(_0x27b61e){var _0x47bfca=_0x27b61e['count'],_0x192238=_0x222b46[_0x636b('0x18')],_0x1a3b77=_0x222b46[_0x636b('0x18')]+_0x222b46[_0x636b('0x19')],_0x45915f;if(_0x1a3b77>=_0x47bfca){_0x1a3b77=_0x47bfca;_0x45915f=0xc8;}else{_0x45915f=0xce;}_0x5a454b[_0x636b('0x1a')](_0x45915f);return _0x5a454b['set'](_0x636b('0x1b'),_0x192238+'-'+_0x1a3b77+'/'+_0x47bfca)['json'](_0x27b61e);}return null;};}function patchUpdates(_0x553247){return function(_0x20abfd){try{jsonpatch[_0x636b('0x1c')](_0x20abfd,_0x553247,!![]);}catch(_0x3b7fec){return BPromise[_0x636b('0x1d')](_0x3b7fec);}return _0x20abfd[_0x636b('0x1e')]();};}function saveUpdates(_0x1c4018,_0x44c920){return function(_0xa28a56){if(_0xa28a56){return _0xa28a56[_0x636b('0x1f')](_0x1c4018)[_0x636b('0x20')](function(_0x56e253){return _0x56e253;});}return null;};}function removeEntity(_0x47fa4e,_0xdd99e0){return function(_0x22977f){if(_0x22977f){return _0x22977f[_0x636b('0x21')]()[_0x636b('0x20')](function(){var _0x41cf91=_0x22977f[_0x636b('0x22')]({'plain':!![]});var _0x77c232=_0x636b('0x23');return db[_0x636b('0x24')][_0x636b('0x21')]({'where':{'type':_0x77c232,'resourceId':_0x41cf91['id']}})[_0x636b('0x20')](function(){return _0x22977f;});})[_0x636b('0x20')](function(){_0x47fa4e[_0x636b('0x1a')](0xcc)[_0x636b('0x16')]();});}};}function handleEntityNotFound(_0x34bc78,_0x836628){return function(_0x29e16a){if(!_0x29e16a){_0x34bc78[_0x636b('0x15')](0x194);}return _0x29e16a;};}function handleError(_0x4f49a6,_0x1e0612){_0x1e0612=_0x1e0612||0x1f4;return function(_0x3ea838){logger[_0x636b('0x25')](_0x3ea838[_0x636b('0x26')]);if(_0x3ea838[_0x636b('0x27')]){delete _0x3ea838[_0x636b('0x27')];}_0x4f49a6[_0x636b('0x1a')](_0x1e0612)['send'](_0x3ea838);};}exports['index']=function(_0x4689f8,_0x4971da){var _0x4b17a8={},_0x436b50={},_0x210bc9={'count':0x0,'rows':[]};var _0xf37efb=_['map'](db['VoiceMail'][_0x636b('0x28')],function(_0x42ee48){return{'name':_0x42ee48[_0x636b('0x29')],'type':_0x42ee48[_0x636b('0x2a')][_0x636b('0x2b')]};});_0x436b50[_0x636b('0x2c')]=_[_0x636b('0x2d')](_0xf37efb,'name');_0x436b50[_0x636b('0x2e')]=_[_0x636b('0x2f')](_0x4689f8[_0x636b('0x2e')]);_0x436b50[_0x636b('0x30')]=_[_0x636b('0x31')](_0x436b50[_0x636b('0x2c')],_0x436b50[_0x636b('0x2e')]);_0x4b17a8[_0x636b('0x32')]=_['intersection'](_0x436b50[_0x636b('0x2c')],qs[_0x636b('0x33')](_0x4689f8[_0x636b('0x2e')][_0x636b('0x33')]));_0x4b17a8[_0x636b('0x32')]=_0x4b17a8['attributes'][_0x636b('0x34')]?_0x4b17a8['attributes']:_0x436b50['model'];if(!_0x4689f8[_0x636b('0x2e')]['hasOwnProperty']('nolimit')){_0x4b17a8['limit']=qs[_0x636b('0x19')](_0x4689f8[_0x636b('0x2e')][_0x636b('0x19')]);_0x4b17a8[_0x636b('0x18')]=qs[_0x636b('0x18')](_0x4689f8['query'][_0x636b('0x18')]);}_0x4b17a8['order']=qs['sort'](_0x4689f8['query'][_0x636b('0x35')]);_0x4b17a8[_0x636b('0x36')]=qs[_0x636b('0x30')](_[_0x636b('0x37')](_0x4689f8[_0x636b('0x2e')],_0x436b50['filters']),_0xf37efb);if(_0x4689f8[_0x636b('0x2e')][_0x636b('0x38')]){_0x4b17a8['where']=_[_0x636b('0x39')](_0x4b17a8[_0x636b('0x36')],{'$or':_[_0x636b('0x2d')](_0xf37efb,function(_0x192e4c){if(_0x192e4c[_0x636b('0x2a')]!==_0x636b('0x3a')){var _0x2bb9ea={};_0x2bb9ea[_0x192e4c['name']]={'$like':'%'+_0x4689f8[_0x636b('0x2e')][_0x636b('0x38')]+'%'};return _0x2bb9ea;}})});}_0x4b17a8=_[_0x636b('0x39')]({},_0x4b17a8,_0x4689f8[_0x636b('0x3b')]);var _0x3a76b8={'where':_0x4b17a8[_0x636b('0x36')]};return db[_0x636b('0x3c')]['count'](_0x3a76b8)['then'](function(_0x1b7a23){_0x210bc9[_0x636b('0x3d')]=_0x1b7a23;if(_0x4689f8['query']['includeAll']){_0x4b17a8['include']=[{'all':!![]}];}return db[_0x636b('0x3c')]['findAll'](_0x4b17a8);})[_0x636b('0x20')](function(_0x1cc494){_0x210bc9[_0x636b('0x3e')]=_0x1cc494;return _0x210bc9;})['then'](respondWithFilteredResult(_0x4971da,_0x4b17a8))[_0x636b('0x3f')](handleError(_0x4971da,null));};exports[_0x636b('0x40')]=function(_0x3355fd,_0x730bab){var _0x1c19f9={'raw':!![],'where':{'id':_0x3355fd[_0x636b('0x41')]['id']}},_0x5a7b62={};_0x5a7b62[_0x636b('0x2c')]=_['keys'](db[_0x636b('0x3c')][_0x636b('0x28')]);_0x5a7b62['query']=_[_0x636b('0x2f')](_0x3355fd[_0x636b('0x2e')]);_0x5a7b62[_0x636b('0x30')]=_['intersection'](_0x5a7b62['model'],_0x5a7b62[_0x636b('0x2e')]);_0x1c19f9[_0x636b('0x32')]=_[_0x636b('0x31')](_0x5a7b62[_0x636b('0x2c')],qs[_0x636b('0x33')](_0x3355fd['query'][_0x636b('0x33')]));_0x1c19f9['attributes']=_0x1c19f9[_0x636b('0x32')][_0x636b('0x34')]?_0x1c19f9[_0x636b('0x32')]:_0x5a7b62[_0x636b('0x2c')];if(_0x3355fd['query']['includeAll']){_0x1c19f9[_0x636b('0x42')]=[{'all':!![]}];}_0x1c19f9=_[_0x636b('0x39')]({},_0x1c19f9,_0x3355fd[_0x636b('0x3b')]);return db[_0x636b('0x3c')][_0x636b('0x43')](_0x1c19f9)['then'](handleEntityNotFound(_0x730bab,null))[_0x636b('0x20')](respondWithResult(_0x730bab,null))['catch'](handleError(_0x730bab,null));};exports['create']=function(_0xfdd577,_0x1f5534){return db[_0x636b('0x3c')]['create'](_0xfdd577[_0x636b('0x44')],{})[_0x636b('0x20')](function(_0x310624){var _0x260183=_0xfdd577['user'][_0x636b('0x22')]({'plain':!![]});if(!_0x260183)throw new Error(_0x636b('0x45'));if(_0x260183[_0x636b('0x46')]==='user'){var _0x1c121e=_0x310624[_0x636b('0x22')]({'plain':!![]});var _0x41a5ad=_0x636b('0x23');return db['UserProfileSection']['find']({'where':{'name':_0x41a5ad,'userProfileId':_0x260183[_0x636b('0x47')]},'raw':!![]})[_0x636b('0x20')](function(_0x3bf43d){if(_0x3bf43d&&_0x3bf43d['autoAssociation']===0x0){return db[_0x636b('0x24')][_0x636b('0x48')]({'name':_0x1c121e[_0x636b('0x27')],'resourceId':_0x1c121e['id'],'type':_0x3bf43d[_0x636b('0x27')],'sectionId':_0x3bf43d['id']},{})[_0x636b('0x20')](function(){return _0x310624;});}else{return _0x310624;}})[_0x636b('0x3f')](function(_0x42c575){logger[_0x636b('0x25')](_0x636b('0x49'),_0x42c575);throw _0x42c575;});}return _0x310624;})[_0x636b('0x20')](respondWithResult(_0x1f5534,0xc9))[_0x636b('0x3f')](handleError(_0x1f5534,null));};exports['update']=function(_0x1ce9a7,_0x3a6701){if(_0x1ce9a7[_0x636b('0x44')]['id']){delete _0x1ce9a7['body']['id'];}return db[_0x636b('0x3c')]['find']({'where':{'id':_0x1ce9a7['params']['id']}})[_0x636b('0x20')](handleEntityNotFound(_0x3a6701,null))[_0x636b('0x20')](saveUpdates(_0x1ce9a7['body'],null))[_0x636b('0x20')](respondWithResult(_0x3a6701,null))[_0x636b('0x3f')](handleError(_0x3a6701,null));};exports[_0x636b('0x21')]=function(_0x500ab8,_0x58893d){return db[_0x636b('0x3c')][_0x636b('0x43')]({'where':{'id':_0x500ab8[_0x636b('0x41')]['id']}})[_0x636b('0x20')](handleEntityNotFound(_0x58893d,null))[_0x636b('0x20')](removeEntity(_0x58893d,null))[_0x636b('0x3f')](handleError(_0x58893d,null));};exports[_0x636b('0x4a')]=function(_0x43fbaa,_0x578e8a,_0x5b502f){return db[_0x636b('0x3c')][_0x636b('0x4b')]({'where':{'id':_0x43fbaa[_0x636b('0x41')]['id']}})[_0x636b('0x20')](handleEntityNotFound(_0x578e8a,null))[_0x636b('0x20')](function(_0x291e80){var _0x1a34d4;var _0x440ffc={},_0x243738={};_0x243738[_0x636b('0x2c')]=_[_0x636b('0x2f')](db[_0x636b('0x4c')]['rawAttributes']);_0x243738['query']=_[_0x636b('0x2f')](_0x43fbaa[_0x636b('0x2e')]);_0x243738[_0x636b('0x30')]=_[_0x636b('0x31')](_0x243738[_0x636b('0x2c')],_0x243738[_0x636b('0x2e')]);_0x440ffc[_0x636b('0x32')]=_[_0x636b('0x31')](_0x243738[_0x636b('0x2c')],qs[_0x636b('0x33')](_0x43fbaa[_0x636b('0x2e')][_0x636b('0x33')]));_0x440ffc[_0x636b('0x32')]=_0x440ffc['attributes'][_0x636b('0x34')]?_0x440ffc[_0x636b('0x32')]:_0x243738['model'];if(!_0x43fbaa['query'][_0x636b('0x4d')](_0x636b('0x4e'))){_0x440ffc[_0x636b('0x19')]=qs[_0x636b('0x19')](_0x43fbaa[_0x636b('0x2e')]['limit']);_0x440ffc[_0x636b('0x18')]=qs[_0x636b('0x18')](_0x43fbaa[_0x636b('0x2e')][_0x636b('0x18')]);}_0x440ffc[_0x636b('0x4f')]=qs[_0x636b('0x35')](_0x43fbaa[_0x636b('0x2e')][_0x636b('0x35')]);_0x440ffc['where']=qs[_0x636b('0x30')](_[_0x636b('0x37')](_0x43fbaa[_0x636b('0x2e')],_0x243738[_0x636b('0x30')]));if(_0x43fbaa[_0x636b('0x2e')][_0x636b('0x38')]){_0x440ffc['where']=_[_0x636b('0x39')](_0x440ffc[_0x636b('0x36')],{'$or':_['map'](_0x440ffc[_0x636b('0x32')],function(_0x4d0350){var _0x18b0f1={};_0x18b0f1[_0x4d0350]={'$like':'%'+_0x43fbaa[_0x636b('0x2e')][_0x636b('0x38')]+'%'};return _0x18b0f1;})});}_0x440ffc[_0x636b('0x36')]=_[_0x636b('0x39')](_0x440ffc[_0x636b('0x36')],{'mailboxuser':_0x291e80[_0x636b('0x50')]});_0x440ffc=_['merge']({},_0x440ffc,_0x43fbaa[_0x636b('0x3b')]);return db[_0x636b('0x4c')][_0x636b('0x51')](_0x440ffc)[_0x636b('0x20')](respondWithFilteredResult(_0x578e8a,_0x440ffc));})[_0x636b('0x3f')](handleError(_0x578e8a,null));};