Built motion from commit (unavailable).|2.5.4
[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 _0x3bda=['VoiceMail','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','merge','includeAll','findAll','catch','show','params','include','options','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Voicemails','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','find','VoiceMailMessage','hasOwnProperty','pick','map','findAndCountAll','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','destroy','then','get','UserProfileResource','error','name','send','index'];(function(_0x267fd4,_0x5a7848){var _0x18492d=function(_0x2ab8a0){while(--_0x2ab8a0){_0x267fd4['push'](_0x267fd4['shift']());}};_0x18492d(++_0x5a7848);}(_0x3bda,0x1bf));var _0xa3bd=function(_0x39e283,_0x247e6b){_0x39e283=_0x39e283-0x0;var _0x7de89f=_0x3bda[_0x39e283];return _0x7de89f;};'use strict';var pdf=require(_0xa3bd('0x0'));var emlformat=require(_0xa3bd('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa3bd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa3bd('0x3'));var moment=require(_0xa3bd('0x4'));var BPromise=require(_0xa3bd('0x5'));var Mustache=require(_0xa3bd('0x6'));var util=require(_0xa3bd('0x7'));var path=require(_0xa3bd('0x8'));var sox=require(_0xa3bd('0x9'));var csv=require(_0xa3bd('0xa'));var ejs=require(_0xa3bd('0xb'));var fs=require('fs');var _=require(_0xa3bd('0xc'));var squel=require(_0xa3bd('0xd'));var crypto=require(_0xa3bd('0xe'));var jsforce=require(_0xa3bd('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xa3bd('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa3bd('0x11'));var qs=require(_0xa3bd('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa3bd('0x13'));var logger=require('../../config/logger')(_0xa3bd('0x14'));var utils=require('../../config/utils');var config=require(_0xa3bd('0x15'));var db=require(_0xa3bd('0x16'))['db'];function respondWithStatusCode(_0x24c5e2,_0x4eaaef){_0x4eaaef=_0x4eaaef||0xcc;return function(_0x348e73){if(_0x348e73){return _0x24c5e2[_0xa3bd('0x17')](_0x4eaaef);}return _0x24c5e2[_0xa3bd('0x18')](_0x4eaaef)[_0xa3bd('0x19')]();};}function respondWithResult(_0x5a608a,_0x4508b1){_0x4508b1=_0x4508b1||0xc8;return function(_0x125458){if(_0x125458){return _0x5a608a[_0xa3bd('0x18')](_0x4508b1)[_0xa3bd('0x1a')](_0x125458);}};}function respondWithFilteredResult(_0x5d4e54,_0x131610){return function(_0x38b1f7){if(_0x38b1f7){var _0x229373=_0x38b1f7[_0xa3bd('0x1b')],_0x1bef4f=_0x131610[_0xa3bd('0x1c')],_0x60fc8a=_0x131610['offset']+_0x131610[_0xa3bd('0x1d')],_0x46fecb;if(_0x60fc8a>=_0x229373){_0x60fc8a=_0x229373;_0x46fecb=0xc8;}else{_0x46fecb=0xce;}_0x5d4e54[_0xa3bd('0x18')](_0x46fecb);return _0x5d4e54[_0xa3bd('0x1e')]('Content-Range',_0x1bef4f+'-'+_0x60fc8a+'/'+_0x229373)[_0xa3bd('0x1a')](_0x38b1f7);}return null;};}function patchUpdates(_0x1c1194){return function(_0x50a240){try{jsonpatch['apply'](_0x50a240,_0x1c1194,!![]);}catch(_0x3390aa){return BPromise['reject'](_0x3390aa);}return _0x50a240['save']();};}function saveUpdates(_0x3f4040,_0x2a98de){return function(_0x4bfa91){if(_0x4bfa91){return _0x4bfa91['update'](_0x3f4040)['then'](function(_0x40ebba){return _0x40ebba;});}return null;};}function removeEntity(_0x364f59,_0x125489){return function(_0x5f4a8a){if(_0x5f4a8a){return _0x5f4a8a[_0xa3bd('0x1f')]()[_0xa3bd('0x20')](function(){var _0x3d6313=_0x5f4a8a[_0xa3bd('0x21')]({'plain':!![]});var _0x19720b='Voicemails';return db[_0xa3bd('0x22')]['destroy']({'where':{'type':_0x19720b,'resourceId':_0x3d6313['id']}})[_0xa3bd('0x20')](function(){return _0x5f4a8a;});})[_0xa3bd('0x20')](function(){_0x364f59['status'](0xcc)[_0xa3bd('0x19')]();});}};}function handleEntityNotFound(_0x1f3a27,_0x307fd1){return function(_0x19f244){if(!_0x19f244){_0x1f3a27[_0xa3bd('0x17')](0x194);}return _0x19f244;};}function handleError(_0x4bb64e,_0x3855eb){_0x3855eb=_0x3855eb||0x1f4;return function(_0x35f190){logger[_0xa3bd('0x23')](_0x35f190['stack']);if(_0x35f190[_0xa3bd('0x24')]){delete _0x35f190['name'];}_0x4bb64e[_0xa3bd('0x18')](_0x3855eb)[_0xa3bd('0x25')](_0x35f190);};}exports[_0xa3bd('0x26')]=function(_0x242049,_0x38cf2a){var _0x1f892f={},_0x9a47ce={},_0x289b96={'count':0x0,'rows':[]};var _0x5be59a=_['map'](db[_0xa3bd('0x27')][_0xa3bd('0x28')],function(_0x4203ef){return{'name':_0x4203ef[_0xa3bd('0x29')],'type':_0x4203ef[_0xa3bd('0x2a')][_0xa3bd('0x2b')]};});_0x9a47ce[_0xa3bd('0x2c')]=_['map'](_0x5be59a,'name');_0x9a47ce[_0xa3bd('0x2d')]=_[_0xa3bd('0x2e')](_0x242049[_0xa3bd('0x2d')]);_0x9a47ce[_0xa3bd('0x2f')]=_[_0xa3bd('0x30')](_0x9a47ce[_0xa3bd('0x2c')],_0x9a47ce[_0xa3bd('0x2d')]);_0x1f892f['attributes']=_[_0xa3bd('0x30')](_0x9a47ce[_0xa3bd('0x2c')],qs[_0xa3bd('0x31')](_0x242049[_0xa3bd('0x2d')]['fields']));_0x1f892f[_0xa3bd('0x32')]=_0x1f892f[_0xa3bd('0x32')][_0xa3bd('0x33')]?_0x1f892f['attributes']:_0x9a47ce[_0xa3bd('0x2c')];if(!_0x242049[_0xa3bd('0x2d')]['hasOwnProperty'](_0xa3bd('0x34'))){_0x1f892f[_0xa3bd('0x1d')]=qs['limit'](_0x242049[_0xa3bd('0x2d')]['limit']);_0x1f892f[_0xa3bd('0x1c')]=qs[_0xa3bd('0x1c')](_0x242049[_0xa3bd('0x2d')][_0xa3bd('0x1c')]);}_0x1f892f[_0xa3bd('0x35')]=qs['sort'](_0x242049[_0xa3bd('0x2d')][_0xa3bd('0x36')]);_0x1f892f[_0xa3bd('0x37')]=qs['filters'](_['pick'](_0x242049['query'],_0x9a47ce[_0xa3bd('0x2f')]),_0x5be59a);if(_0x242049[_0xa3bd('0x2d')][_0xa3bd('0x38')]){_0x1f892f[_0xa3bd('0x37')]=_[_0xa3bd('0x39')](_0x1f892f[_0xa3bd('0x37')],{'$or':_['map'](_0x5be59a,function(_0x1867b5){if(_0x1867b5['type']!=='VIRTUAL'){var _0x43e945={};_0x43e945[_0x1867b5['name']]={'$like':'%'+_0x242049[_0xa3bd('0x2d')][_0xa3bd('0x38')]+'%'};return _0x43e945;}})});}_0x1f892f=_['merge']({},_0x1f892f,_0x242049['options']);var _0x1cdfc8={'where':_0x1f892f[_0xa3bd('0x37')]};return db[_0xa3bd('0x27')][_0xa3bd('0x1b')](_0x1cdfc8)[_0xa3bd('0x20')](function(_0x458f40){_0x289b96['count']=_0x458f40;if(_0x242049[_0xa3bd('0x2d')][_0xa3bd('0x3a')]){_0x1f892f['include']=[{'all':!![]}];}return db[_0xa3bd('0x27')][_0xa3bd('0x3b')](_0x1f892f);})[_0xa3bd('0x20')](function(_0x4ab88f){_0x289b96['rows']=_0x4ab88f;return _0x289b96;})['then'](respondWithFilteredResult(_0x38cf2a,_0x1f892f))[_0xa3bd('0x3c')](handleError(_0x38cf2a,null));};exports[_0xa3bd('0x3d')]=function(_0x57b0d6,_0x17566d){var _0x35b1dc={'raw':!![],'where':{'id':_0x57b0d6[_0xa3bd('0x3e')]['id']}},_0x2a6b3a={};_0x2a6b3a['model']=_[_0xa3bd('0x2e')](db[_0xa3bd('0x27')][_0xa3bd('0x28')]);_0x2a6b3a[_0xa3bd('0x2d')]=_['keys'](_0x57b0d6[_0xa3bd('0x2d')]);_0x2a6b3a[_0xa3bd('0x2f')]=_[_0xa3bd('0x30')](_0x2a6b3a[_0xa3bd('0x2c')],_0x2a6b3a[_0xa3bd('0x2d')]);_0x35b1dc['attributes']=_['intersection'](_0x2a6b3a[_0xa3bd('0x2c')],qs[_0xa3bd('0x31')](_0x57b0d6['query'][_0xa3bd('0x31')]));_0x35b1dc[_0xa3bd('0x32')]=_0x35b1dc['attributes'][_0xa3bd('0x33')]?_0x35b1dc['attributes']:_0x2a6b3a[_0xa3bd('0x2c')];if(_0x57b0d6['query'][_0xa3bd('0x3a')]){_0x35b1dc[_0xa3bd('0x3f')]=[{'all':!![]}];}_0x35b1dc=_[_0xa3bd('0x39')]({},_0x35b1dc,_0x57b0d6[_0xa3bd('0x40')]);return db[_0xa3bd('0x27')]['find'](_0x35b1dc)[_0xa3bd('0x20')](handleEntityNotFound(_0x17566d,null))[_0xa3bd('0x20')](respondWithResult(_0x17566d,null))[_0xa3bd('0x3c')](handleError(_0x17566d,null));};exports['create']=function(_0x17a130,_0x3fea0c){return db[_0xa3bd('0x27')]['create'](_0x17a130[_0xa3bd('0x41')],{})[_0xa3bd('0x20')](function(_0x41636d){var _0x1f6846=_0x17a130['user'][_0xa3bd('0x21')]({'plain':!![]});if(!_0x1f6846)throw new Error(_0xa3bd('0x42'));if(_0x1f6846[_0xa3bd('0x43')]===_0xa3bd('0x44')){var _0x2b9337=_0x41636d['get']({'plain':!![]});var _0x13604d=_0xa3bd('0x45');return db['UserProfileSection']['find']({'where':{'name':_0x13604d,'userProfileId':_0x1f6846[_0xa3bd('0x46')]},'raw':!![]})['then'](function(_0x34e8a7){if(_0x34e8a7&&_0x34e8a7[_0xa3bd('0x47')]===0x0){return db['UserProfileResource'][_0xa3bd('0x48')]({'name':_0x2b9337['name'],'resourceId':_0x2b9337['id'],'type':_0x34e8a7[_0xa3bd('0x24')],'sectionId':_0x34e8a7['id']},{})[_0xa3bd('0x20')](function(){return _0x41636d;});}else{return _0x41636d;}})[_0xa3bd('0x3c')](function(_0x1ae0e8){logger[_0xa3bd('0x23')](_0xa3bd('0x49'),_0x1ae0e8);throw _0x1ae0e8;});}return _0x41636d;})[_0xa3bd('0x20')](respondWithResult(_0x3fea0c,0xc9))[_0xa3bd('0x3c')](handleError(_0x3fea0c,null));};exports[_0xa3bd('0x4a')]=function(_0x3b5613,_0xea9135){if(_0x3b5613[_0xa3bd('0x41')]['id']){delete _0x3b5613['body']['id'];}return db[_0xa3bd('0x27')][_0xa3bd('0x4b')]({'where':{'id':_0x3b5613[_0xa3bd('0x3e')]['id']}})[_0xa3bd('0x20')](handleEntityNotFound(_0xea9135,null))[_0xa3bd('0x20')](saveUpdates(_0x3b5613['body'],null))[_0xa3bd('0x20')](respondWithResult(_0xea9135,null))[_0xa3bd('0x3c')](handleError(_0xea9135,null));};exports[_0xa3bd('0x1f')]=function(_0x47cb54,_0x54a918){return db[_0xa3bd('0x27')][_0xa3bd('0x4b')]({'where':{'id':_0x47cb54[_0xa3bd('0x3e')]['id']}})['then'](handleEntityNotFound(_0x54a918,null))[_0xa3bd('0x20')](removeEntity(_0x54a918,null))[_0xa3bd('0x3c')](handleError(_0x54a918,null));};exports['getMessages']=function(_0x241bfb,_0x590b84,_0x8c1899){return db[_0xa3bd('0x27')]['findOne']({'where':{'id':_0x241bfb[_0xa3bd('0x3e')]['id']}})['then'](handleEntityNotFound(_0x590b84,null))['then'](function(_0xf2f0a7){var _0xc28f4;var _0x1f0990={},_0x5ed974={};_0x5ed974['model']=_[_0xa3bd('0x2e')](db[_0xa3bd('0x4c')][_0xa3bd('0x28')]);_0x5ed974['query']=_[_0xa3bd('0x2e')](_0x241bfb[_0xa3bd('0x2d')]);_0x5ed974[_0xa3bd('0x2f')]=_[_0xa3bd('0x30')](_0x5ed974['model'],_0x5ed974[_0xa3bd('0x2d')]);_0x1f0990['attributes']=_[_0xa3bd('0x30')](_0x5ed974[_0xa3bd('0x2c')],qs['fields'](_0x241bfb[_0xa3bd('0x2d')][_0xa3bd('0x31')]));_0x1f0990[_0xa3bd('0x32')]=_0x1f0990[_0xa3bd('0x32')]['length']?_0x1f0990[_0xa3bd('0x32')]:_0x5ed974[_0xa3bd('0x2c')];if(!_0x241bfb['query'][_0xa3bd('0x4d')]('nolimit')){_0x1f0990['limit']=qs[_0xa3bd('0x1d')](_0x241bfb['query'][_0xa3bd('0x1d')]);_0x1f0990[_0xa3bd('0x1c')]=qs['offset'](_0x241bfb[_0xa3bd('0x2d')][_0xa3bd('0x1c')]);}_0x1f0990[_0xa3bd('0x35')]=qs[_0xa3bd('0x36')](_0x241bfb['query'][_0xa3bd('0x36')]);_0x1f0990['where']=qs[_0xa3bd('0x2f')](_[_0xa3bd('0x4e')](_0x241bfb[_0xa3bd('0x2d')],_0x5ed974['filters']));if(_0x241bfb[_0xa3bd('0x2d')]['filter']){_0x1f0990[_0xa3bd('0x37')]=_[_0xa3bd('0x39')](_0x1f0990[_0xa3bd('0x37')],{'$or':_[_0xa3bd('0x4f')](_0x1f0990[_0xa3bd('0x32')],function(_0x3d2086){var _0x216416={};_0x216416[_0x3d2086]={'$like':'%'+_0x241bfb[_0xa3bd('0x2d')][_0xa3bd('0x38')]+'%'};return _0x216416;})});}_0x1f0990[_0xa3bd('0x37')]=_[_0xa3bd('0x39')](_0x1f0990[_0xa3bd('0x37')],{'mailboxuser':_0xf2f0a7['mailbox']});_0x1f0990=_['merge']({},_0x1f0990,_0x241bfb[_0xa3bd('0x40')]);return db[_0xa3bd('0x4c')][_0xa3bd('0x50')](_0x1f0990)[_0xa3bd('0x20')](respondWithFilteredResult(_0x590b84,_0x1f0990));})[_0xa3bd('0x3c')](handleError(_0x590b84,null));};