Built motion from commit (unavailable).|2.5.29
[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 _0x32bc=['api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','get','Voicemails','UserProfileResource','destroy','error','stack','name','send','map','VoiceMail','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','nolimit','order','sort','where','pick','filter','type','merge','options','includeAll','include','catch','params','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMessages','findOne','VoiceMailMessage','hasOwnProperty','findAndCountAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x32bc,0xf7));var _0xc32b=function(_0x53d2a3,_0x5b1993){_0x53d2a3=_0x53d2a3-0x0;var _0x19ea98=_0x32bc[_0x53d2a3];return _0x19ea98;};'use strict';var emlformat=require(_0xc32b('0x0'));var rimraf=require(_0xc32b('0x1'));var zipdir=require(_0xc32b('0x2'));var jsonpatch=require(_0xc32b('0x3'));var rp=require(_0xc32b('0x4'));var moment=require(_0xc32b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc32b('0x6'));var util=require(_0xc32b('0x7'));var path=require(_0xc32b('0x8'));var sox=require(_0xc32b('0x9'));var csv=require(_0xc32b('0xa'));var ejs=require(_0xc32b('0xb'));var fs=require('fs');var fs_extra=require(_0xc32b('0xc'));var _=require(_0xc32b('0xd'));var squel=require('squel');var crypto=require(_0xc32b('0xe'));var jsforce=require(_0xc32b('0xf'));var deskjs=require(_0xc32b('0x10'));var toCsv=require(_0xc32b('0xa'));var querystring=require(_0xc32b('0x11'));var Papa=require(_0xc32b('0x12'));var Redis=require(_0xc32b('0x13'));var authService=require(_0xc32b('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xc32b('0x15'));var hardwareService=require(_0xc32b('0x16'));var logger=require('../../config/logger')(_0xc32b('0x17'));var utils=require(_0xc32b('0x18'));var config=require(_0xc32b('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xc32b('0x1a'))['db'];function respondWithStatusCode(_0x3ad41c,_0x1959b9){_0x1959b9=_0x1959b9||0xcc;return function(_0x5d9e68){if(_0x5d9e68){return _0x3ad41c[_0xc32b('0x1b')](_0x1959b9);}return _0x3ad41c[_0xc32b('0x1c')](_0x1959b9)[_0xc32b('0x1d')]();};}function respondWithResult(_0x3e7c04,_0x1b6a4c){_0x1b6a4c=_0x1b6a4c||0xc8;return function(_0x1e283c){if(_0x1e283c){return _0x3e7c04[_0xc32b('0x1c')](_0x1b6a4c)[_0xc32b('0x1e')](_0x1e283c);}};}function respondWithFilteredResult(_0x22dcb2,_0x174f00){return function(_0x5330ef){if(_0x5330ef){var _0x5e0104=typeof _0x174f00['offset']===_0xc32b('0x1f')&&typeof _0x174f00[_0xc32b('0x20')]==='undefined';var _0x339b5b=_0x5330ef[_0xc32b('0x21')];var _0x25e0bc=_0x5e0104?0x0:_0x174f00[_0xc32b('0x22')];var _0x6199f1=_0x5e0104?_0x5330ef['count']:_0x174f00[_0xc32b('0x22')]+_0x174f00['limit'];var _0x5356cf;if(_0x6199f1>=_0x339b5b){_0x6199f1=_0x339b5b;_0x5356cf=0xc8;}else{_0x5356cf=0xce;}_0x22dcb2[_0xc32b('0x1c')](_0x5356cf);return _0x22dcb2[_0xc32b('0x23')](_0xc32b('0x24'),_0x25e0bc+'-'+_0x6199f1+'/'+_0x339b5b)[_0xc32b('0x1e')](_0x5330ef);}return null;};}function patchUpdates(_0x5168a6){return function(_0x56631a){try{jsonpatch[_0xc32b('0x25')](_0x56631a,_0x5168a6,!![]);}catch(_0x3b41ed){return BPromise[_0xc32b('0x26')](_0x3b41ed);}return _0x56631a[_0xc32b('0x27')]();};}function saveUpdates(_0x46e1ff,_0x25b57f){return function(_0x14c315){if(_0x14c315){return _0x14c315[_0xc32b('0x28')](_0x46e1ff)[_0xc32b('0x29')](function(_0x3bcac8){return _0x3bcac8;});}return null;};}function removeEntity(_0x5930d1,_0x3a4226){return function(_0x406d73){if(_0x406d73){return _0x406d73['destroy']()[_0xc32b('0x29')](function(){var _0x15fe89=_0x406d73[_0xc32b('0x2a')]({'plain':!![]});var _0x31912f=_0xc32b('0x2b');return db[_0xc32b('0x2c')][_0xc32b('0x2d')]({'where':{'type':_0x31912f,'resourceId':_0x15fe89['id']}})[_0xc32b('0x29')](function(){return _0x406d73;});})[_0xc32b('0x29')](function(){_0x5930d1[_0xc32b('0x1c')](0xcc)[_0xc32b('0x1d')]();});}};}function handleEntityNotFound(_0x46bcb3,_0x4817c0){return function(_0x2711a7){if(!_0x2711a7){_0x46bcb3[_0xc32b('0x1b')](0x194);}return _0x2711a7;};}function handleError(_0x5ebb92,_0x5a6cbe){_0x5a6cbe=_0x5a6cbe||0x1f4;return function(_0x41c470){logger[_0xc32b('0x2e')](_0x41c470[_0xc32b('0x2f')]);if(_0x41c470[_0xc32b('0x30')]){delete _0x41c470[_0xc32b('0x30')];}_0x5ebb92[_0xc32b('0x1c')](_0x5a6cbe)[_0xc32b('0x31')](_0x41c470);};}exports['index']=function(_0x42e61e,_0x376f55){var _0x571dc4={},_0x2778b8={},_0x10e90d={'count':0x0,'rows':[]};var _0x57f4ef=_[_0xc32b('0x32')](db[_0xc32b('0x33')][_0xc32b('0x34')],function(_0x33b8c6){return{'name':_0x33b8c6[_0xc32b('0x35')],'type':_0x33b8c6['type'][_0xc32b('0x36')]};});_0x2778b8[_0xc32b('0x37')]=_[_0xc32b('0x32')](_0x57f4ef,_0xc32b('0x30'));_0x2778b8[_0xc32b('0x38')]=_[_0xc32b('0x39')](_0x42e61e[_0xc32b('0x38')]);_0x2778b8[_0xc32b('0x3a')]=_['intersection'](_0x2778b8[_0xc32b('0x37')],_0x2778b8[_0xc32b('0x38')]);_0x571dc4[_0xc32b('0x3b')]=_[_0xc32b('0x3c')](_0x2778b8[_0xc32b('0x37')],qs[_0xc32b('0x3d')](_0x42e61e[_0xc32b('0x38')]['fields']));_0x571dc4[_0xc32b('0x3b')]=_0x571dc4[_0xc32b('0x3b')]['length']?_0x571dc4[_0xc32b('0x3b')]:_0x2778b8[_0xc32b('0x37')];if(!_0x42e61e[_0xc32b('0x38')]['hasOwnProperty'](_0xc32b('0x3e'))){_0x571dc4[_0xc32b('0x20')]=qs[_0xc32b('0x20')](_0x42e61e[_0xc32b('0x38')][_0xc32b('0x20')]);_0x571dc4[_0xc32b('0x22')]=qs[_0xc32b('0x22')](_0x42e61e[_0xc32b('0x38')][_0xc32b('0x22')]);}_0x571dc4[_0xc32b('0x3f')]=qs[_0xc32b('0x40')](_0x42e61e[_0xc32b('0x38')]['sort']);_0x571dc4[_0xc32b('0x41')]=qs[_0xc32b('0x3a')](_[_0xc32b('0x42')](_0x42e61e[_0xc32b('0x38')],_0x2778b8[_0xc32b('0x3a')]),_0x57f4ef);if(_0x42e61e['query'][_0xc32b('0x43')]){_0x571dc4['where']=_['merge'](_0x571dc4[_0xc32b('0x41')],{'$or':_[_0xc32b('0x32')](_0x57f4ef,function(_0x3bdb71){if(_0x3bdb71[_0xc32b('0x44')]!=='VIRTUAL'){var _0x2373cc={};_0x2373cc[_0x3bdb71[_0xc32b('0x30')]]={'$like':'%'+_0x42e61e[_0xc32b('0x38')]['filter']+'%'};return _0x2373cc;}})});}_0x571dc4=_[_0xc32b('0x45')]({},_0x571dc4,_0x42e61e[_0xc32b('0x46')]);var _0x17d230={'where':_0x571dc4[_0xc32b('0x41')]};return db[_0xc32b('0x33')][_0xc32b('0x21')](_0x17d230)[_0xc32b('0x29')](function(_0xffcb8d){_0x10e90d['count']=_0xffcb8d;if(_0x42e61e['query'][_0xc32b('0x47')]){_0x571dc4[_0xc32b('0x48')]=[{'all':!![]}];}return db['VoiceMail']['findAll'](_0x571dc4);})['then'](function(_0x37392e){_0x10e90d['rows']=_0x37392e;return _0x10e90d;})[_0xc32b('0x29')](respondWithFilteredResult(_0x376f55,_0x571dc4))[_0xc32b('0x49')](handleError(_0x376f55,null));};exports['show']=function(_0x4f83ef,_0xce6031){var _0x5caf1d={'raw':!![],'where':{'id':_0x4f83ef[_0xc32b('0x4a')]['id']}},_0x3080b1={};_0x3080b1[_0xc32b('0x37')]=_['keys'](db['VoiceMail'][_0xc32b('0x34')]);_0x3080b1[_0xc32b('0x38')]=_[_0xc32b('0x39')](_0x4f83ef['query']);_0x3080b1[_0xc32b('0x3a')]=_[_0xc32b('0x3c')](_0x3080b1[_0xc32b('0x37')],_0x3080b1[_0xc32b('0x38')]);_0x5caf1d['attributes']=_['intersection'](_0x3080b1[_0xc32b('0x37')],qs[_0xc32b('0x3d')](_0x4f83ef[_0xc32b('0x38')][_0xc32b('0x3d')]));_0x5caf1d['attributes']=_0x5caf1d[_0xc32b('0x3b')][_0xc32b('0x4b')]?_0x5caf1d['attributes']:_0x3080b1[_0xc32b('0x37')];if(_0x4f83ef[_0xc32b('0x38')]['includeAll']){_0x5caf1d[_0xc32b('0x48')]=[{'all':!![]}];}_0x5caf1d=_[_0xc32b('0x45')]({},_0x5caf1d,_0x4f83ef[_0xc32b('0x46')]);return db[_0xc32b('0x33')][_0xc32b('0x4c')](_0x5caf1d)['then'](handleEntityNotFound(_0xce6031,null))['then'](respondWithResult(_0xce6031,null))[_0xc32b('0x49')](handleError(_0xce6031,null));};exports[_0xc32b('0x4d')]=function(_0x35ca1b,_0x28170c){return db[_0xc32b('0x33')]['create'](_0x35ca1b[_0xc32b('0x4e')],{})[_0xc32b('0x29')](function(_0x33717c){var _0xb333a3=_0x35ca1b[_0xc32b('0x4f')][_0xc32b('0x2a')]({'plain':!![]});if(!_0xb333a3)throw new Error(_0xc32b('0x50'));if(_0xb333a3[_0xc32b('0x51')]==='user'){var _0x57015b=_0x33717c[_0xc32b('0x2a')]({'plain':!![]});var _0x2f5a29=_0xc32b('0x2b');return db[_0xc32b('0x52')]['find']({'where':{'name':_0x2f5a29,'userProfileId':_0xb333a3[_0xc32b('0x53')]},'raw':!![]})[_0xc32b('0x29')](function(_0x56421e){if(_0x56421e&&_0x56421e['autoAssociation']===0x0){return db[_0xc32b('0x2c')]['create']({'name':_0x57015b[_0xc32b('0x30')],'resourceId':_0x57015b['id'],'type':_0x56421e[_0xc32b('0x30')],'sectionId':_0x56421e['id']},{})[_0xc32b('0x29')](function(){return _0x33717c;});}else{return _0x33717c;}})[_0xc32b('0x49')](function(_0x5db671){logger['error'](_0xc32b('0x54'),_0x5db671);throw _0x5db671;});}return _0x33717c;})[_0xc32b('0x29')](respondWithResult(_0x28170c,0xc9))[_0xc32b('0x49')](handleError(_0x28170c,null));};exports[_0xc32b('0x28')]=function(_0x8d514d,_0x431dad){if(_0x8d514d['body']['id']){delete _0x8d514d[_0xc32b('0x4e')]['id'];}return db[_0xc32b('0x33')]['find']({'where':{'id':_0x8d514d[_0xc32b('0x4a')]['id']}})[_0xc32b('0x29')](handleEntityNotFound(_0x431dad,null))[_0xc32b('0x29')](saveUpdates(_0x8d514d['body'],null))[_0xc32b('0x29')](respondWithResult(_0x431dad,null))[_0xc32b('0x49')](handleError(_0x431dad,null));};exports[_0xc32b('0x2d')]=function(_0x57cab7,_0x2d52d8){return db[_0xc32b('0x33')][_0xc32b('0x4c')]({'where':{'id':_0x57cab7[_0xc32b('0x4a')]['id']}})[_0xc32b('0x29')](handleEntityNotFound(_0x2d52d8,null))[_0xc32b('0x29')](removeEntity(_0x2d52d8,null))['catch'](handleError(_0x2d52d8,null));};exports[_0xc32b('0x55')]=function(_0x14b422,_0x42590d,_0x2dcd8a){return db[_0xc32b('0x33')][_0xc32b('0x56')]({'where':{'id':_0x14b422[_0xc32b('0x4a')]['id']}})[_0xc32b('0x29')](handleEntityNotFound(_0x42590d,null))['then'](function(_0x4098ed){var _0x287298;var _0x1da3a4={},_0x33d824={};_0x33d824[_0xc32b('0x37')]=_['keys'](db[_0xc32b('0x57')][_0xc32b('0x34')]);_0x33d824[_0xc32b('0x38')]=_[_0xc32b('0x39')](_0x14b422[_0xc32b('0x38')]);_0x33d824['filters']=_[_0xc32b('0x3c')](_0x33d824[_0xc32b('0x37')],_0x33d824[_0xc32b('0x38')]);_0x1da3a4[_0xc32b('0x3b')]=_[_0xc32b('0x3c')](_0x33d824['model'],qs[_0xc32b('0x3d')](_0x14b422['query'][_0xc32b('0x3d')]));_0x1da3a4[_0xc32b('0x3b')]=_0x1da3a4['attributes'][_0xc32b('0x4b')]?_0x1da3a4[_0xc32b('0x3b')]:_0x33d824[_0xc32b('0x37')];if(!_0x14b422[_0xc32b('0x38')][_0xc32b('0x58')](_0xc32b('0x3e'))){_0x1da3a4['limit']=qs[_0xc32b('0x20')](_0x14b422[_0xc32b('0x38')][_0xc32b('0x20')]);_0x1da3a4['offset']=qs['offset'](_0x14b422[_0xc32b('0x38')][_0xc32b('0x22')]);}_0x1da3a4['order']=qs['sort'](_0x14b422[_0xc32b('0x38')]['sort']);_0x1da3a4[_0xc32b('0x41')]=qs[_0xc32b('0x3a')](_[_0xc32b('0x42')](_0x14b422[_0xc32b('0x38')],_0x33d824['filters']));if(_0x14b422[_0xc32b('0x38')]['filter']){_0x1da3a4[_0xc32b('0x41')]=_[_0xc32b('0x45')](_0x1da3a4[_0xc32b('0x41')],{'$or':_[_0xc32b('0x32')](_0x1da3a4['attributes'],function(_0x26d08b){var _0x7e945f={};_0x7e945f[_0x26d08b]={'$like':'%'+_0x14b422['query'][_0xc32b('0x43')]+'%'};return _0x7e945f;})});}_0x1da3a4[_0xc32b('0x41')]=_[_0xc32b('0x45')](_0x1da3a4[_0xc32b('0x41')],{'mailboxuser':_0x4098ed['mailbox']});_0x1da3a4=_[_0xc32b('0x45')]({},_0x1da3a4,_0x14b422[_0xc32b('0x46')]);return db[_0xc32b('0x57')][_0xc32b('0x59')](_0x1da3a4)[_0xc32b('0x29')](respondWithFilteredResult(_0x42590d,_0x1da3a4));})[_0xc32b('0x49')](handleError(_0x42590d,null));};