Built motion from commit 092f8824.|2.5.49
[motion2.git] / server / api / voiceMailMessage / voiceMailMessage.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 _0x4a39=['params','length','body','find','download','recording','msg_id','ValidationError','audio/wav','attachment','attachment;\x20filename=\x22','.wav\x22','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','differenceBy','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch'];(function(_0x5271e4,_0x4a0981){var _0x2622d3=function(_0x10050b){while(--_0x10050b){_0x5271e4['push'](_0x5271e4['shift']());}};_0x2622d3(++_0x4a0981);}(_0x4a39,0xb2));var _0x94a3=function(_0x1b3fc5,_0x1a6af4){_0x1b3fc5=_0x1b3fc5-0x0;var _0x1e3646=_0x4a39[_0x1b3fc5];return _0x1e3646;};'use strict';var emlformat=require(_0x94a3('0x0'));var rimraf=require(_0x94a3('0x1'));var zipdir=require(_0x94a3('0x2'));var jsonpatch=require(_0x94a3('0x3'));var rp=require(_0x94a3('0x4'));var moment=require(_0x94a3('0x5'));var BPromise=require(_0x94a3('0x6'));var Mustache=require(_0x94a3('0x7'));var util=require(_0x94a3('0x8'));var path=require(_0x94a3('0x9'));var sox=require(_0x94a3('0xa'));var csv=require(_0x94a3('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x94a3('0xc'));var _=require(_0x94a3('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x94a3('0xe'));var deskjs=require(_0x94a3('0xf'));var toCsv=require(_0x94a3('0xb'));var querystring=require(_0x94a3('0x10'));var Papa=require(_0x94a3('0x11'));var Redis=require(_0x94a3('0x12'));var authService=require(_0x94a3('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x94a3('0x14'));var utils=require('../../config/utils');var config=require(_0x94a3('0x15'));var licenseUtil=require(_0x94a3('0x16'));var db=require(_0x94a3('0x17'))['db'];function respondWithStatusCode(_0x4671c1,_0x4e05bf){_0x4e05bf=_0x4e05bf||0xcc;return function(_0x4538c7){if(_0x4538c7){return _0x4671c1[_0x94a3('0x18')](_0x4e05bf);}return _0x4671c1[_0x94a3('0x19')](_0x4e05bf)[_0x94a3('0x1a')]();};}function respondWithResult(_0x10855f,_0x4385f0){_0x4385f0=_0x4385f0||0xc8;return function(_0x51ff88){if(_0x51ff88){return _0x10855f[_0x94a3('0x19')](_0x4385f0)[_0x94a3('0x1b')](_0x51ff88);}};}function respondWithFilteredResult(_0x2fbe65,_0x572274){return function(_0x34634a){if(_0x34634a){var _0x5e103e=typeof _0x572274[_0x94a3('0x1c')]===_0x94a3('0x1d')&&typeof _0x572274[_0x94a3('0x1e')]===_0x94a3('0x1d');var _0x419a29=_0x34634a['count'];var _0x5bf15e=_0x5e103e?0x0:_0x572274[_0x94a3('0x1c')];var _0x26364e=_0x5e103e?_0x34634a[_0x94a3('0x1f')]:_0x572274[_0x94a3('0x1c')]+_0x572274['limit'];var _0x693220;if(_0x26364e>=_0x419a29){_0x26364e=_0x419a29;_0x693220=0xc8;}else{_0x693220=0xce;}_0x2fbe65[_0x94a3('0x19')](_0x693220);return _0x2fbe65[_0x94a3('0x20')](_0x94a3('0x21'),_0x5bf15e+'-'+_0x26364e+'/'+_0x419a29)[_0x94a3('0x1b')](_0x34634a);}return null;};}function patchUpdates(_0xa8529e){return function(_0xffe2dd){try{jsonpatch['apply'](_0xffe2dd,_0xa8529e,!![]);}catch(_0x16f673){return BPromise[_0x94a3('0x22')](_0x16f673);}return _0xffe2dd[_0x94a3('0x23')]();};}function saveUpdates(_0x108102,_0x3453e6){return function(_0x5e05cc){if(_0x5e05cc){return _0x5e05cc[_0x94a3('0x24')](_0x108102)[_0x94a3('0x25')](function(_0xba36f7){return _0xba36f7;});}return null;};}function removeEntity(_0x469749,_0x50abdd){return function(_0x5bbca0){if(_0x5bbca0){return _0x5bbca0[_0x94a3('0x26')]()[_0x94a3('0x25')](function(){_0x469749[_0x94a3('0x19')](0xcc)[_0x94a3('0x1a')]();});}};}function handleEntityNotFound(_0x211498,_0x5ab160){return function(_0x5d76dc){if(!_0x5d76dc){_0x211498[_0x94a3('0x18')](0x194);}return _0x5d76dc;};}function handleError(_0x1b18e0,_0x57a715){_0x57a715=_0x57a715||0x1f4;return function(_0x170521){logger[_0x94a3('0x27')](_0x170521[_0x94a3('0x28')]);if(_0x170521['name']){delete _0x170521[_0x94a3('0x29')];}_0x1b18e0[_0x94a3('0x19')](_0x57a715)[_0x94a3('0x2a')](_0x170521);};}exports[_0x94a3('0x2b')]=function(_0xab2640,_0x552b4b){var _0x2ecd18={},_0x231cd3={},_0x24f61e={'count':0x0,'rows':[]};var _0x44f1ba=_[_0x94a3('0x2c')](db[_0x94a3('0x2d')][_0x94a3('0x2e')],function(_0x5c9109){return{'name':_0x5c9109[_0x94a3('0x2f')],'type':_0x5c9109[_0x94a3('0x30')]['key']};});_0x231cd3['model']=_[_0x94a3('0x31')](_[_0x94a3('0x2c')](_0x44f1ba,_0x94a3('0x29')),[_0x94a3('0x29')]);_0x231cd3[_0x94a3('0x32')]=_[_0x94a3('0x33')](_0xab2640['query']);_0x231cd3[_0x94a3('0x34')]=_['intersection'](_0x231cd3[_0x94a3('0x35')],_0x231cd3[_0x94a3('0x32')]);_0x2ecd18[_0x94a3('0x36')]=_[_0x94a3('0x37')](_0x231cd3[_0x94a3('0x35')],qs[_0x94a3('0x38')](_0xab2640['query'][_0x94a3('0x38')]));_0x2ecd18[_0x94a3('0x36')]=_0x2ecd18['attributes']['length']?_0x2ecd18[_0x94a3('0x36')]:_0x231cd3['model'];if(!_0xab2640['query'][_0x94a3('0x39')](_0x94a3('0x3a'))){_0x2ecd18[_0x94a3('0x1e')]=qs[_0x94a3('0x1e')](_0xab2640[_0x94a3('0x32')]['limit']);_0x2ecd18[_0x94a3('0x1c')]=qs['offset'](_0xab2640[_0x94a3('0x32')]['offset']);}_0x2ecd18[_0x94a3('0x3b')]=qs[_0x94a3('0x3c')](_0xab2640[_0x94a3('0x32')]['sort']);_0x2ecd18[_0x94a3('0x3d')]=qs['filters'](_[_0x94a3('0x3e')](_0xab2640['query'],_0x231cd3[_0x94a3('0x34')]),_0x44f1ba);if(_0xab2640[_0x94a3('0x32')]['filter']){_0x2ecd18[_0x94a3('0x3d')]=_[_0x94a3('0x3f')](_0x2ecd18[_0x94a3('0x3d')],{'$or':_[_0x94a3('0x2c')](_0x44f1ba,function(_0x231775){if(_0x231775[_0x94a3('0x30')]!==_0x94a3('0x40')){var _0x5916c5={};_0x5916c5[_0x231775[_0x94a3('0x29')]]={'$like':'%'+_0xab2640[_0x94a3('0x32')]['filter']+'%'};return _0x5916c5;}})});}_0x2ecd18=_['merge']({},_0x2ecd18,_0xab2640[_0x94a3('0x41')]);var _0x36656d={'where':_0x2ecd18['where']};return db['VoiceMailMessage']['count'](_0x36656d)[_0x94a3('0x25')](function(_0x299ca4){_0x24f61e['count']=_0x299ca4;if(_0xab2640[_0x94a3('0x32')][_0x94a3('0x42')]){_0x2ecd18[_0x94a3('0x43')]=[{'all':!![]}];}return db[_0x94a3('0x2d')][_0x94a3('0x44')](_0x2ecd18);})[_0x94a3('0x25')](function(_0x7530ce){_0x24f61e[_0x94a3('0x45')]=_0x7530ce;return _0x24f61e;})[_0x94a3('0x25')](respondWithFilteredResult(_0x552b4b,_0x2ecd18))[_0x94a3('0x46')](handleError(_0x552b4b,null));};exports['show']=function(_0xf75869,_0x5241cf){var _0x4d245a={'raw':!![],'where':{'id':_0xf75869[_0x94a3('0x47')]['id']}},_0x58d016={};_0x58d016[_0x94a3('0x35')]=_[_0x94a3('0x33')](db[_0x94a3('0x2d')][_0x94a3('0x2e')]);_0x58d016[_0x94a3('0x32')]=_[_0x94a3('0x33')](_0xf75869[_0x94a3('0x32')]);_0x58d016['filters']=_[_0x94a3('0x37')](_0x58d016[_0x94a3('0x35')],_0x58d016[_0x94a3('0x32')]);_0x4d245a[_0x94a3('0x36')]=_[_0x94a3('0x37')](_0x58d016['model'],qs[_0x94a3('0x38')](_0xf75869[_0x94a3('0x32')][_0x94a3('0x38')]));_0x4d245a['attributes']=_0x4d245a[_0x94a3('0x36')][_0x94a3('0x48')]?_0x4d245a[_0x94a3('0x36')]:_0x58d016[_0x94a3('0x35')];if(_0xf75869[_0x94a3('0x32')][_0x94a3('0x42')]){_0x4d245a[_0x94a3('0x43')]=[{'all':!![]}];}_0x4d245a=_['merge']({},_0x4d245a,_0xf75869['options']);return db['VoiceMailMessage']['find'](_0x4d245a)[_0x94a3('0x25')](handleEntityNotFound(_0x5241cf,null))[_0x94a3('0x25')](respondWithResult(_0x5241cf,null))[_0x94a3('0x46')](handleError(_0x5241cf,null));};exports['create']=function(_0x2f647b,_0x138fef){return db[_0x94a3('0x2d')]['create'](_0x2f647b[_0x94a3('0x49')],{})[_0x94a3('0x25')](respondWithResult(_0x138fef,0xc9))['catch'](handleError(_0x138fef,null));};exports[_0x94a3('0x24')]=function(_0x48e561,_0x1a16bb){if(_0x48e561[_0x94a3('0x49')]['id']){delete _0x48e561[_0x94a3('0x49')]['id'];}return db[_0x94a3('0x2d')][_0x94a3('0x4a')]({'where':{'id':_0x48e561[_0x94a3('0x47')]['id']}})['then'](handleEntityNotFound(_0x1a16bb,null))[_0x94a3('0x25')](saveUpdates(_0x48e561['body'],null))[_0x94a3('0x25')](respondWithResult(_0x1a16bb,null))[_0x94a3('0x46')](handleError(_0x1a16bb,null));};exports[_0x94a3('0x26')]=function(_0x2e1e35,_0x12415d){return db[_0x94a3('0x2d')][_0x94a3('0x4a')]({'where':{'id':_0x2e1e35[_0x94a3('0x47')]['id']}})[_0x94a3('0x25')](handleEntityNotFound(_0x12415d,null))['then'](removeEntity(_0x12415d,null))[_0x94a3('0x46')](handleError(_0x12415d,null));};exports[_0x94a3('0x4b')]=function(_0x534994,_0x490a33,_0xd98db5){return db['VoiceMailMessage'][_0x94a3('0x4a')]({'where':{'id':_0x534994[_0x94a3('0x47')]['id']},'attributes':['id',_0x94a3('0x4c'),_0x94a3('0x4d')]})['then'](handleEntityNotFound(_0x490a33,null))[_0x94a3('0x25')](function(_0xdb28d5){if(_0xdb28d5){if(!_0xdb28d5[_0x94a3('0x4c')]){throw new db['Sequelize'][(_0x94a3('0x4e'))]('VoiceMailMessage\x20not\x20found');}var _0x572327={'Content-Type':_0x94a3('0x4f'),'Content-Disposition':_0x94a3('0x50')};if(_0xdb28d5['msg_id']){_0x572327['Content-Disposition']=_0x94a3('0x51')+_0xdb28d5[_0x94a3('0x4d')]+_0x94a3('0x52');}_0x490a33['set'](_0x572327);return _0x490a33[_0x94a3('0x2a')](new Buffer(_0xdb28d5[_0x94a3('0x4c')]));}})[_0x94a3('0x46')](handleError(_0x490a33,null));};