Built motion from commit (unavailable).|2.5.0
[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 _0x8db6=['create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','getMessages','findOne','VoiceMailMessage','nolimit','order','filter','options','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','end','status','json','count','offset','set','Content-Range','apply','reject','save','destroy','get','Voicemails','UserProfileResource','then','sendStatus','error','stack','name','send','index','map','rawAttributes','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','limit','sort','where','pick','merge','include','VoiceMail','catch','show','params','keys','includeAll','find'];(function(_0x2c7618,_0x26be9c){var _0x5ce3f0=function(_0x1837b3){while(--_0x1837b3){_0x2c7618['push'](_0x2c7618['shift']());}};_0x5ce3f0(++_0x26be9c);}(_0x8db6,0x66));var _0x68db=function(_0x149ca0,_0x2ac7f5){_0x149ca0=_0x149ca0-0x0;var _0x56b6b9=_0x8db6[_0x149ca0];return _0x56b6b9;};'use strict';var pdf=require(_0x68db('0x0'));var emlformat=require(_0x68db('0x1'));var rimraf=require(_0x68db('0x2'));var zipdir=require(_0x68db('0x3'));var jsonpatch=require(_0x68db('0x4'));var rp=require(_0x68db('0x5'));var moment=require(_0x68db('0x6'));var BPromise=require(_0x68db('0x7'));var Mustache=require(_0x68db('0x8'));var util=require('util');var path=require(_0x68db('0x9'));var sox=require('sox');var csv=require(_0x68db('0xa'));var ejs=require(_0x68db('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x68db('0xc'));var crypto=require('crypto');var jsforce=require(_0x68db('0xd'));var deskjs=require(_0x68db('0xe'));var toCsv=require(_0x68db('0xa'));var querystring=require(_0x68db('0xf'));var Papa=require(_0x68db('0x10'));var Redis=require(_0x68db('0x11'));var authService=require(_0x68db('0x12'));var qs=require(_0x68db('0x13'));var as=require(_0x68db('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x68db('0x15'));var utils=require('../../config/utils');var config=require(_0x68db('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x56c509,_0x1f27be){_0x1f27be=_0x1f27be||0xcc;return function(_0x348f01){if(_0x348f01){return _0x56c509['sendStatus'](_0x1f27be);}return _0x56c509['status'](_0x1f27be)[_0x68db('0x17')]();};}function respondWithResult(_0x416a62,_0x528ab3){_0x528ab3=_0x528ab3||0xc8;return function(_0x9d420c){if(_0x9d420c){return _0x416a62[_0x68db('0x18')](_0x528ab3)[_0x68db('0x19')](_0x9d420c);}};}function respondWithFilteredResult(_0x518611,_0x3cb84d){return function(_0x1dc397){if(_0x1dc397){var _0x454e57=_0x1dc397[_0x68db('0x1a')],_0x1992a1=_0x3cb84d['offset'],_0x43b8ea=_0x3cb84d[_0x68db('0x1b')]+_0x3cb84d['limit'],_0xedc330;if(_0x43b8ea>=_0x454e57){_0x43b8ea=_0x454e57;_0xedc330=0xc8;}else{_0xedc330=0xce;}_0x518611[_0x68db('0x18')](_0xedc330);return _0x518611[_0x68db('0x1c')](_0x68db('0x1d'),_0x1992a1+'-'+_0x43b8ea+'/'+_0x454e57)[_0x68db('0x19')](_0x1dc397);}return null;};}function patchUpdates(_0xa9657f){return function(_0x3ba612){try{jsonpatch[_0x68db('0x1e')](_0x3ba612,_0xa9657f,!![]);}catch(_0x4c2d75){return BPromise[_0x68db('0x1f')](_0x4c2d75);}return _0x3ba612[_0x68db('0x20')]();};}function saveUpdates(_0x39e60d,_0x4cba02){return function(_0x39a4aa){if(_0x39a4aa){return _0x39a4aa['update'](_0x39e60d)['then'](function(_0x5240a5){return _0x5240a5;});}return null;};}function removeEntity(_0x3f0fbc,_0x30b2da){return function(_0x3f4871){if(_0x3f4871){return _0x3f4871[_0x68db('0x21')]()['then'](function(){var _0x3e36ba=_0x3f4871[_0x68db('0x22')]({'plain':!![]});var _0x3eae36=_0x68db('0x23');return db[_0x68db('0x24')][_0x68db('0x21')]({'where':{'type':_0x3eae36,'resourceId':_0x3e36ba['id']}})[_0x68db('0x25')](function(){return _0x3f4871;});})[_0x68db('0x25')](function(){_0x3f0fbc[_0x68db('0x18')](0xcc)[_0x68db('0x17')]();});}};}function handleEntityNotFound(_0x280c28,_0x352a05){return function(_0x2e4a25){if(!_0x2e4a25){_0x280c28[_0x68db('0x26')](0x194);}return _0x2e4a25;};}function handleError(_0x843dd0,_0x295def){_0x295def=_0x295def||0x1f4;return function(_0x1dfd33){logger[_0x68db('0x27')](_0x1dfd33[_0x68db('0x28')]);if(_0x1dfd33[_0x68db('0x29')]){delete _0x1dfd33[_0x68db('0x29')];}_0x843dd0[_0x68db('0x18')](_0x295def)[_0x68db('0x2a')](_0x1dfd33);};}exports[_0x68db('0x2b')]=function(_0x30f6d8,_0x5a0f70){var _0x5bf8cb={},_0x17a34f={},_0x148258={'count':0x0,'rows':[]};var _0x338c67=_[_0x68db('0x2c')](db['VoiceMail'][_0x68db('0x2d')],function(_0x422bf6){return{'name':_0x422bf6['fieldName'],'type':_0x422bf6[_0x68db('0x2e')]['key']};});_0x17a34f[_0x68db('0x2f')]=_['map'](_0x338c67,_0x68db('0x29'));_0x17a34f[_0x68db('0x30')]=_['keys'](_0x30f6d8[_0x68db('0x30')]);_0x17a34f[_0x68db('0x31')]=_[_0x68db('0x32')](_0x17a34f['model'],_0x17a34f[_0x68db('0x30')]);_0x5bf8cb[_0x68db('0x33')]=_[_0x68db('0x32')](_0x17a34f['model'],qs['fields'](_0x30f6d8[_0x68db('0x30')][_0x68db('0x34')]));_0x5bf8cb['attributes']=_0x5bf8cb[_0x68db('0x33')][_0x68db('0x35')]?_0x5bf8cb['attributes']:_0x17a34f[_0x68db('0x2f')];if(!_0x30f6d8[_0x68db('0x30')][_0x68db('0x36')]('nolimit')){_0x5bf8cb[_0x68db('0x37')]=qs[_0x68db('0x37')](_0x30f6d8[_0x68db('0x30')][_0x68db('0x37')]);_0x5bf8cb[_0x68db('0x1b')]=qs[_0x68db('0x1b')](_0x30f6d8[_0x68db('0x30')][_0x68db('0x1b')]);}_0x5bf8cb['order']=qs[_0x68db('0x38')](_0x30f6d8['query'][_0x68db('0x38')]);_0x5bf8cb[_0x68db('0x39')]=qs['filters'](_[_0x68db('0x3a')](_0x30f6d8[_0x68db('0x30')],_0x17a34f[_0x68db('0x31')]),_0x338c67);if(_0x30f6d8[_0x68db('0x30')]['filter']){_0x5bf8cb[_0x68db('0x39')]=_['merge'](_0x5bf8cb[_0x68db('0x39')],{'$or':_[_0x68db('0x2c')](_0x338c67,function(_0x314bb2){if(_0x314bb2[_0x68db('0x2e')]!=='VIRTUAL'){var _0x198588={};_0x198588[_0x314bb2[_0x68db('0x29')]]={'$like':'%'+_0x30f6d8[_0x68db('0x30')]['filter']+'%'};return _0x198588;}})});}_0x5bf8cb=_[_0x68db('0x3b')]({},_0x5bf8cb,_0x30f6d8['options']);var _0x2606f2={'where':_0x5bf8cb[_0x68db('0x39')]};return db['VoiceMail'][_0x68db('0x1a')](_0x2606f2)['then'](function(_0x456058){_0x148258['count']=_0x456058;if(_0x30f6d8[_0x68db('0x30')]['includeAll']){_0x5bf8cb[_0x68db('0x3c')]=[{'all':!![]}];}return db[_0x68db('0x3d')]['findAll'](_0x5bf8cb);})[_0x68db('0x25')](function(_0x57faed){_0x148258['rows']=_0x57faed;return _0x148258;})[_0x68db('0x25')](respondWithFilteredResult(_0x5a0f70,_0x5bf8cb))[_0x68db('0x3e')](handleError(_0x5a0f70,null));};exports[_0x68db('0x3f')]=function(_0x44fa93,_0x342f1c){var _0x118cb2={'raw':!![],'where':{'id':_0x44fa93[_0x68db('0x40')]['id']}},_0x20be5d={};_0x20be5d[_0x68db('0x2f')]=_[_0x68db('0x41')](db[_0x68db('0x3d')]['rawAttributes']);_0x20be5d[_0x68db('0x30')]=_[_0x68db('0x41')](_0x44fa93[_0x68db('0x30')]);_0x20be5d[_0x68db('0x31')]=_[_0x68db('0x32')](_0x20be5d['model'],_0x20be5d['query']);_0x118cb2[_0x68db('0x33')]=_[_0x68db('0x32')](_0x20be5d['model'],qs['fields'](_0x44fa93[_0x68db('0x30')][_0x68db('0x34')]));_0x118cb2[_0x68db('0x33')]=_0x118cb2[_0x68db('0x33')][_0x68db('0x35')]?_0x118cb2[_0x68db('0x33')]:_0x20be5d[_0x68db('0x2f')];if(_0x44fa93[_0x68db('0x30')][_0x68db('0x42')]){_0x118cb2[_0x68db('0x3c')]=[{'all':!![]}];}_0x118cb2=_[_0x68db('0x3b')]({},_0x118cb2,_0x44fa93['options']);return db[_0x68db('0x3d')][_0x68db('0x43')](_0x118cb2)[_0x68db('0x25')](handleEntityNotFound(_0x342f1c,null))['then'](respondWithResult(_0x342f1c,null))[_0x68db('0x3e')](handleError(_0x342f1c,null));};exports[_0x68db('0x44')]=function(_0x2a8051,_0x4b4a1e){return db[_0x68db('0x3d')][_0x68db('0x44')](_0x2a8051['body'],{})[_0x68db('0x25')](function(_0x270ac1){var _0x4d1b9f=_0x2a8051[_0x68db('0x45')][_0x68db('0x22')]({'plain':!![]});if(!_0x4d1b9f)throw new Error(_0x68db('0x46'));if(_0x4d1b9f[_0x68db('0x47')]===_0x68db('0x45')){var _0x1f5707=_0x270ac1[_0x68db('0x22')]({'plain':!![]});var _0x240f81=_0x68db('0x23');return db['UserProfileSection'][_0x68db('0x43')]({'where':{'name':_0x240f81,'userProfileId':_0x4d1b9f[_0x68db('0x48')]},'raw':!![]})[_0x68db('0x25')](function(_0x4b757e){if(_0x4b757e&&_0x4b757e[_0x68db('0x49')]===0x0){return db['UserProfileResource'][_0x68db('0x44')]({'name':_0x1f5707[_0x68db('0x29')],'resourceId':_0x1f5707['id'],'type':_0x4b757e[_0x68db('0x29')],'sectionId':_0x4b757e['id']},{})[_0x68db('0x25')](function(){return _0x270ac1;});}else{return _0x270ac1;}})[_0x68db('0x3e')](function(_0x279478){logger[_0x68db('0x27')](_0x68db('0x4a'),_0x279478);throw _0x279478;});}return _0x270ac1;})['then'](respondWithResult(_0x4b4a1e,0xc9))[_0x68db('0x3e')](handleError(_0x4b4a1e,null));};exports[_0x68db('0x4b')]=function(_0x10345a,_0x1ef3e5){if(_0x10345a[_0x68db('0x4c')]['id']){delete _0x10345a[_0x68db('0x4c')]['id'];}return db['VoiceMail'][_0x68db('0x43')]({'where':{'id':_0x10345a['params']['id']}})[_0x68db('0x25')](handleEntityNotFound(_0x1ef3e5,null))['then'](saveUpdates(_0x10345a[_0x68db('0x4c')],null))[_0x68db('0x25')](respondWithResult(_0x1ef3e5,null))[_0x68db('0x3e')](handleError(_0x1ef3e5,null));};exports[_0x68db('0x21')]=function(_0x58ce7e,_0x4d4c2c){return db['VoiceMail'][_0x68db('0x43')]({'where':{'id':_0x58ce7e[_0x68db('0x40')]['id']}})[_0x68db('0x25')](handleEntityNotFound(_0x4d4c2c,null))[_0x68db('0x25')](removeEntity(_0x4d4c2c,null))['catch'](handleError(_0x4d4c2c,null));};exports[_0x68db('0x4d')]=function(_0x4cc200,_0x23b8cd,_0x2fd88d){return db['VoiceMail'][_0x68db('0x4e')]({'where':{'id':_0x4cc200[_0x68db('0x40')]['id']}})[_0x68db('0x25')](handleEntityNotFound(_0x23b8cd,null))[_0x68db('0x25')](function(_0xc57b67){var _0x418333;var _0x3b53b={},_0x3d15b0={};_0x3d15b0['model']=_[_0x68db('0x41')](db[_0x68db('0x4f')][_0x68db('0x2d')]);_0x3d15b0[_0x68db('0x30')]=_[_0x68db('0x41')](_0x4cc200[_0x68db('0x30')]);_0x3d15b0['filters']=_[_0x68db('0x32')](_0x3d15b0[_0x68db('0x2f')],_0x3d15b0['query']);_0x3b53b['attributes']=_['intersection'](_0x3d15b0['model'],qs['fields'](_0x4cc200[_0x68db('0x30')][_0x68db('0x34')]));_0x3b53b[_0x68db('0x33')]=_0x3b53b['attributes'][_0x68db('0x35')]?_0x3b53b['attributes']:_0x3d15b0['model'];if(!_0x4cc200['query'][_0x68db('0x36')](_0x68db('0x50'))){_0x3b53b[_0x68db('0x37')]=qs['limit'](_0x4cc200[_0x68db('0x30')][_0x68db('0x37')]);_0x3b53b['offset']=qs[_0x68db('0x1b')](_0x4cc200[_0x68db('0x30')][_0x68db('0x1b')]);}_0x3b53b[_0x68db('0x51')]=qs[_0x68db('0x38')](_0x4cc200[_0x68db('0x30')][_0x68db('0x38')]);_0x3b53b[_0x68db('0x39')]=qs[_0x68db('0x31')](_[_0x68db('0x3a')](_0x4cc200[_0x68db('0x30')],_0x3d15b0[_0x68db('0x31')]));if(_0x4cc200[_0x68db('0x30')]['filter']){_0x3b53b[_0x68db('0x39')]=_['merge'](_0x3b53b['where'],{'$or':_[_0x68db('0x2c')](_0x3b53b[_0x68db('0x33')],function(_0x451bd2){var _0x27bad2={};_0x27bad2[_0x451bd2]={'$like':'%'+_0x4cc200['query'][_0x68db('0x52')]+'%'};return _0x27bad2;})});}_0x3b53b[_0x68db('0x39')]=_[_0x68db('0x3b')](_0x3b53b['where'],{'mailboxuser':_0xc57b67['mailbox']});_0x3b53b=_['merge']({},_0x3b53b,_0x4cc200[_0x68db('0x53')]);return db[_0x68db('0x4f')][_0x68db('0x54')](_0x3b53b)[_0x68db('0x25')](respondWithFilteredResult(_0x23b8cd,_0x3b53b));})['catch'](handleError(_0x23b8cd,null));};