90bb69edba600db99ec83d8446072ede0e9d337b
[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 _0x6f8e=['then','name','send','index','map','VoiceMailMessage','type','key','differenceBy','query','keys','filters','intersection','model','fields','length','attributes','hasOwnProperty','nolimit','sort','where','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','download','recording','msg_id','Sequelize','ValidationError','audio/wav','attachment','Content-Disposition','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update'];(function(_0x2201cd,_0x379875){var _0x30335b=function(_0x4c9d12){while(--_0x4c9d12){_0x2201cd['push'](_0x2201cd['shift']());}};_0x30335b(++_0x379875);}(_0x6f8e,0x125));var _0xe6f8=function(_0x3947c9,_0x4d6c97){_0x3947c9=_0x3947c9-0x0;var _0x2e7871=_0x6f8e[_0x3947c9];return _0x2e7871;};'use strict';var emlformat=require(_0xe6f8('0x0'));var rimraf=require(_0xe6f8('0x1'));var zipdir=require(_0xe6f8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe6f8('0x3'));var moment=require(_0xe6f8('0x4'));var BPromise=require(_0xe6f8('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe6f8('0x6'));var sox=require(_0xe6f8('0x7'));var csv=require('to-csv');var ejs=require(_0xe6f8('0x8'));var fs=require('fs');var fs_extra=require(_0xe6f8('0x9'));var _=require(_0xe6f8('0xa'));var squel=require(_0xe6f8('0xb'));var crypto=require(_0xe6f8('0xc'));var jsforce=require(_0xe6f8('0xd'));var deskjs=require(_0xe6f8('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe6f8('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xe6f8('0x10'));var qs=require(_0xe6f8('0x11'));var as=require(_0xe6f8('0x12'));var hardwareService=require(_0xe6f8('0x13'));var logger=require(_0xe6f8('0x14'))(_0xe6f8('0x15'));var utils=require('../../config/utils');var config=require(_0xe6f8('0x16'));var licenseUtil=require(_0xe6f8('0x17'));var db=require(_0xe6f8('0x18'))['db'];function respondWithStatusCode(_0x3196d8,_0x1e087f){_0x1e087f=_0x1e087f||0xcc;return function(_0x41f24e){if(_0x41f24e){return _0x3196d8[_0xe6f8('0x19')](_0x1e087f);}return _0x3196d8[_0xe6f8('0x1a')](_0x1e087f)[_0xe6f8('0x1b')]();};}function respondWithResult(_0x598189,_0x5c3da9){_0x5c3da9=_0x5c3da9||0xc8;return function(_0x392edf){if(_0x392edf){return _0x598189[_0xe6f8('0x1a')](_0x5c3da9)[_0xe6f8('0x1c')](_0x392edf);}};}function respondWithFilteredResult(_0x2136de,_0x40bf53){return function(_0x5d1d1a){if(_0x5d1d1a){var _0x4bdd61=typeof _0x40bf53[_0xe6f8('0x1d')]===_0xe6f8('0x1e')&&typeof _0x40bf53[_0xe6f8('0x1f')]===_0xe6f8('0x1e');var _0x1e0a34=_0x5d1d1a[_0xe6f8('0x20')];var _0x529bbd=_0x4bdd61?0x0:_0x40bf53['offset'];var _0x3fc199=_0x4bdd61?_0x5d1d1a[_0xe6f8('0x20')]:_0x40bf53['offset']+_0x40bf53[_0xe6f8('0x1f')];var _0x22fbee;if(_0x3fc199>=_0x1e0a34){_0x3fc199=_0x1e0a34;_0x22fbee=0xc8;}else{_0x22fbee=0xce;}_0x2136de[_0xe6f8('0x1a')](_0x22fbee);return _0x2136de[_0xe6f8('0x21')](_0xe6f8('0x22'),_0x529bbd+'-'+_0x3fc199+'/'+_0x1e0a34)[_0xe6f8('0x1c')](_0x5d1d1a);}return null;};}function patchUpdates(_0x441317){return function(_0x9be23){try{jsonpatch[_0xe6f8('0x23')](_0x9be23,_0x441317,!![]);}catch(_0x54d19a){return BPromise[_0xe6f8('0x24')](_0x54d19a);}return _0x9be23[_0xe6f8('0x25')]();};}function saveUpdates(_0x1234cd,_0x25a1b5){return function(_0x28a65c){if(_0x28a65c){return _0x28a65c[_0xe6f8('0x26')](_0x1234cd)[_0xe6f8('0x27')](function(_0x2b54f5){return _0x2b54f5;});}return null;};}function removeEntity(_0x146638,_0x45953a){return function(_0x1a190c){if(_0x1a190c){return _0x1a190c['destroy']()['then'](function(){_0x146638[_0xe6f8('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48cdea,_0x5cfb64){return function(_0x2ad629){if(!_0x2ad629){_0x48cdea[_0xe6f8('0x19')](0x194);}return _0x2ad629;};}function handleError(_0x1b051d,_0x5d6d0d){_0x5d6d0d=_0x5d6d0d||0x1f4;return function(_0x376f56){logger['error'](_0x376f56['stack']);if(_0x376f56[_0xe6f8('0x28')]){delete _0x376f56[_0xe6f8('0x28')];}_0x1b051d[_0xe6f8('0x1a')](_0x5d6d0d)[_0xe6f8('0x29')](_0x376f56);};}exports[_0xe6f8('0x2a')]=function(_0x13b5ed,_0x40f402){var _0x22e27c={},_0x5761df={},_0x464c2e={'count':0x0,'rows':[]};var _0x2f87e9=_[_0xe6f8('0x2b')](db[_0xe6f8('0x2c')]['rawAttributes'],function(_0x43eccb){return{'name':_0x43eccb['fieldName'],'type':_0x43eccb[_0xe6f8('0x2d')][_0xe6f8('0x2e')]};});_0x5761df['model']=_[_0xe6f8('0x2f')](_['map'](_0x2f87e9,_0xe6f8('0x28')),[_0xe6f8('0x28')]);_0x5761df[_0xe6f8('0x30')]=_[_0xe6f8('0x31')](_0x13b5ed[_0xe6f8('0x30')]);_0x5761df[_0xe6f8('0x32')]=_[_0xe6f8('0x33')](_0x5761df[_0xe6f8('0x34')],_0x5761df[_0xe6f8('0x30')]);_0x22e27c['attributes']=_[_0xe6f8('0x33')](_0x5761df[_0xe6f8('0x34')],qs['fields'](_0x13b5ed[_0xe6f8('0x30')][_0xe6f8('0x35')]));_0x22e27c['attributes']=_0x22e27c['attributes'][_0xe6f8('0x36')]?_0x22e27c[_0xe6f8('0x37')]:_0x5761df[_0xe6f8('0x34')];if(!_0x13b5ed['query'][_0xe6f8('0x38')](_0xe6f8('0x39'))){_0x22e27c[_0xe6f8('0x1f')]=qs[_0xe6f8('0x1f')](_0x13b5ed[_0xe6f8('0x30')][_0xe6f8('0x1f')]);_0x22e27c[_0xe6f8('0x1d')]=qs[_0xe6f8('0x1d')](_0x13b5ed['query']['offset']);}_0x22e27c['order']=qs[_0xe6f8('0x3a')](_0x13b5ed['query'][_0xe6f8('0x3a')]);_0x22e27c[_0xe6f8('0x3b')]=qs[_0xe6f8('0x32')](_['pick'](_0x13b5ed[_0xe6f8('0x30')],_0x5761df[_0xe6f8('0x32')]),_0x2f87e9);if(_0x13b5ed['query']['filter']){_0x22e27c[_0xe6f8('0x3b')]=_['merge'](_0x22e27c['where'],{'$or':_['map'](_0x2f87e9,function(_0x44965f){if(_0x44965f[_0xe6f8('0x2d')]!==_0xe6f8('0x3c')){var _0x3552e3={};_0x3552e3[_0x44965f['name']]={'$like':'%'+_0x13b5ed[_0xe6f8('0x30')][_0xe6f8('0x3d')]+'%'};return _0x3552e3;}})});}_0x22e27c=_[_0xe6f8('0x3e')]({},_0x22e27c,_0x13b5ed[_0xe6f8('0x3f')]);var _0x38e484={'where':_0x22e27c[_0xe6f8('0x3b')]};return db[_0xe6f8('0x2c')][_0xe6f8('0x20')](_0x38e484)[_0xe6f8('0x27')](function(_0x308df3){_0x464c2e[_0xe6f8('0x20')]=_0x308df3;if(_0x13b5ed['query'][_0xe6f8('0x40')]){_0x22e27c[_0xe6f8('0x41')]=[{'all':!![]}];}return db[_0xe6f8('0x2c')][_0xe6f8('0x42')](_0x22e27c);})['then'](function(_0xa83699){_0x464c2e[_0xe6f8('0x43')]=_0xa83699;return _0x464c2e;})['then'](respondWithFilteredResult(_0x40f402,_0x22e27c))[_0xe6f8('0x44')](handleError(_0x40f402,null));};exports[_0xe6f8('0x45')]=function(_0x560932,_0x1f6b1a){var _0x2273d2={'raw':!![],'where':{'id':_0x560932[_0xe6f8('0x46')]['id']}},_0x478335={};_0x478335[_0xe6f8('0x34')]=_[_0xe6f8('0x31')](db['VoiceMailMessage']['rawAttributes']);_0x478335[_0xe6f8('0x30')]=_[_0xe6f8('0x31')](_0x560932[_0xe6f8('0x30')]);_0x478335[_0xe6f8('0x32')]=_[_0xe6f8('0x33')](_0x478335[_0xe6f8('0x34')],_0x478335[_0xe6f8('0x30')]);_0x2273d2[_0xe6f8('0x37')]=_[_0xe6f8('0x33')](_0x478335[_0xe6f8('0x34')],qs[_0xe6f8('0x35')](_0x560932[_0xe6f8('0x30')][_0xe6f8('0x35')]));_0x2273d2[_0xe6f8('0x37')]=_0x2273d2[_0xe6f8('0x37')][_0xe6f8('0x36')]?_0x2273d2['attributes']:_0x478335[_0xe6f8('0x34')];if(_0x560932['query'][_0xe6f8('0x40')]){_0x2273d2['include']=[{'all':!![]}];}_0x2273d2=_[_0xe6f8('0x3e')]({},_0x2273d2,_0x560932['options']);return db[_0xe6f8('0x2c')][_0xe6f8('0x47')](_0x2273d2)[_0xe6f8('0x27')](handleEntityNotFound(_0x1f6b1a,null))['then'](respondWithResult(_0x1f6b1a,null))[_0xe6f8('0x44')](handleError(_0x1f6b1a,null));};exports['create']=function(_0x47440b,_0xf6d628){return db[_0xe6f8('0x2c')][_0xe6f8('0x48')](_0x47440b['body'],{})[_0xe6f8('0x27')](respondWithResult(_0xf6d628,0xc9))[_0xe6f8('0x44')](handleError(_0xf6d628,null));};exports[_0xe6f8('0x26')]=function(_0x2e560a,_0xbe7642){if(_0x2e560a[_0xe6f8('0x49')]['id']){delete _0x2e560a[_0xe6f8('0x49')]['id'];}return db['VoiceMailMessage']['find']({'where':{'id':_0x2e560a['params']['id']}})['then'](handleEntityNotFound(_0xbe7642,null))[_0xe6f8('0x27')](saveUpdates(_0x2e560a[_0xe6f8('0x49')],null))[_0xe6f8('0x27')](respondWithResult(_0xbe7642,null))['catch'](handleError(_0xbe7642,null));};exports[_0xe6f8('0x4a')]=function(_0x25f990,_0x346cc7){return db[_0xe6f8('0x2c')][_0xe6f8('0x47')]({'where':{'id':_0x25f990['params']['id']}})[_0xe6f8('0x27')](handleEntityNotFound(_0x346cc7,null))[_0xe6f8('0x27')](removeEntity(_0x346cc7,null))[_0xe6f8('0x44')](handleError(_0x346cc7,null));};exports[_0xe6f8('0x4b')]=function(_0x3d02d9,_0x325f59,_0x46a2f5){return db['VoiceMailMessage'][_0xe6f8('0x47')]({'where':{'id':_0x3d02d9[_0xe6f8('0x46')]['id']},'attributes':['id',_0xe6f8('0x4c'),_0xe6f8('0x4d')]})[_0xe6f8('0x27')](handleEntityNotFound(_0x325f59,null))['then'](function(_0x11457e){if(_0x11457e){if(!_0x11457e[_0xe6f8('0x4c')]){throw new db[(_0xe6f8('0x4e'))][(_0xe6f8('0x4f'))]('VoiceMailMessage\x20not\x20found');}var _0x41cc53={'Content-Type':_0xe6f8('0x50'),'Content-Disposition':_0xe6f8('0x51')};if(_0x11457e[_0xe6f8('0x4d')]){_0x41cc53[_0xe6f8('0x52')]='attachment;\x20filename=\x22'+_0x11457e['msg_id']+'.wav\x22';}_0x325f59[_0xe6f8('0x21')](_0x41cc53);return _0x325f59[_0xe6f8('0x29')](new Buffer(_0x11457e[_0xe6f8('0x4c')]));}})[_0xe6f8('0x44')](handleError(_0x325f59,null));};