Built motion from commit c738b9ac.|2.6.25
[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 _0xc358=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','set','Content-Range','apply','save','update','then','destroy','stack','name','index','map','VoiceMailMessage','rawAttributes','type','key','model','query','fields','attributes','length','hasOwnProperty','order','sort','pick','filters','filter','where','merge','VIRTUAL','includeAll','rows','catch','show','params','keys','intersection','include','options','find','create','body','download','msg_id','ValidationError','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','send','recording','eml-format','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring'];(function(_0x10014d,_0xbbf813){var _0x36f353=function(_0x42430b){while(--_0x42430b){_0x10014d['push'](_0x10014d['shift']());}};_0x36f353(++_0xbbf813);}(_0xc358,0x141));var _0x8c35=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xc358[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x8c35('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8c35('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x8c35('0x2'));var BPromise=require(_0x8c35('0x3'));var Mustache=require(_0x8c35('0x4'));var util=require(_0x8c35('0x5'));var path=require(_0x8c35('0x6'));var sox=require(_0x8c35('0x7'));var csv=require(_0x8c35('0x8'));var ejs=require(_0x8c35('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x8c35('0xa'));var squel=require(_0x8c35('0xb'));var crypto=require('crypto');var jsforce=require(_0x8c35('0xc'));var deskjs=require(_0x8c35('0xd'));var toCsv=require('to-csv');var querystring=require(_0x8c35('0xe'));var Papa=require(_0x8c35('0xf'));var Redis=require(_0x8c35('0x10'));var authService=require(_0x8c35('0x11'));var qs=require(_0x8c35('0x12'));var as=require(_0x8c35('0x13'));var hardwareService=require(_0x8c35('0x14'));var logger=require(_0x8c35('0x15'))(_0x8c35('0x16'));var utils=require('../../config/utils');var config=require(_0x8c35('0x17'));var licenseUtil=require(_0x8c35('0x18'));var db=require(_0x8c35('0x19'))['db'];function respondWithStatusCode(_0x431ae2,_0x4456a1){_0x4456a1=_0x4456a1||0xcc;return function(_0x95378e){if(_0x95378e){return _0x431ae2[_0x8c35('0x1a')](_0x4456a1);}return _0x431ae2[_0x8c35('0x1b')](_0x4456a1)[_0x8c35('0x1c')]();};}function respondWithResult(_0x11685f,_0x300d55){_0x300d55=_0x300d55||0xc8;return function(_0xe914f7){if(_0xe914f7){return _0x11685f[_0x8c35('0x1b')](_0x300d55)['json'](_0xe914f7);}};}function respondWithFilteredResult(_0x2287f6,_0x5cd853){return function(_0x30e094){if(_0x30e094){var _0x1de5dc=typeof _0x5cd853['offset']===_0x8c35('0x1d')&&typeof _0x5cd853[_0x8c35('0x1e')]===_0x8c35('0x1d');var _0x554c85=_0x30e094[_0x8c35('0x1f')];var _0x28f531=_0x1de5dc?0x0:_0x5cd853[_0x8c35('0x20')];var _0x51f013=_0x1de5dc?_0x30e094[_0x8c35('0x1f')]:_0x5cd853[_0x8c35('0x20')]+_0x5cd853[_0x8c35('0x1e')];var _0x30dd97;if(_0x51f013>=_0x554c85){_0x51f013=_0x554c85;_0x30dd97=0xc8;}else{_0x30dd97=0xce;}_0x2287f6[_0x8c35('0x1b')](_0x30dd97);return _0x2287f6[_0x8c35('0x21')](_0x8c35('0x22'),_0x28f531+'-'+_0x51f013+'/'+_0x554c85)['json'](_0x30e094);}return null;};}function patchUpdates(_0x571f6b){return function(_0x2eed2c){try{jsonpatch[_0x8c35('0x23')](_0x2eed2c,_0x571f6b,!![]);}catch(_0x4ca69e){return BPromise['reject'](_0x4ca69e);}return _0x2eed2c[_0x8c35('0x24')]();};}function saveUpdates(_0x5097bb,_0x3c660e){return function(_0x44c55b){if(_0x44c55b){return _0x44c55b[_0x8c35('0x25')](_0x5097bb)[_0x8c35('0x26')](function(_0x31c639){return _0x31c639;});}return null;};}function removeEntity(_0x37c56e,_0x2a734e){return function(_0x215ed9){if(_0x215ed9){return _0x215ed9[_0x8c35('0x27')]()[_0x8c35('0x26')](function(){_0x37c56e[_0x8c35('0x1b')](0xcc)[_0x8c35('0x1c')]();});}};}function handleEntityNotFound(_0x184542,_0x1a6bdd){return function(_0x51394f){if(!_0x51394f){_0x184542[_0x8c35('0x1a')](0x194);}return _0x51394f;};}function handleError(_0x538725,_0x22efe9){_0x22efe9=_0x22efe9||0x1f4;return function(_0x14aaef){logger['error'](_0x14aaef[_0x8c35('0x28')]);if(_0x14aaef[_0x8c35('0x29')]){delete _0x14aaef[_0x8c35('0x29')];}_0x538725[_0x8c35('0x1b')](_0x22efe9)['send'](_0x14aaef);};}exports[_0x8c35('0x2a')]=function(_0x526e79,_0x1f8132){var _0x71ef26={},_0x2d227c={},_0x556f7d={'count':0x0,'rows':[]};var _0x538a5e=_[_0x8c35('0x2b')](db[_0x8c35('0x2c')][_0x8c35('0x2d')],function(_0x100bc0){return{'name':_0x100bc0['fieldName'],'type':_0x100bc0[_0x8c35('0x2e')][_0x8c35('0x2f')]};});_0x2d227c[_0x8c35('0x30')]=_['differenceBy'](_[_0x8c35('0x2b')](_0x538a5e,'name'),['name']);_0x2d227c[_0x8c35('0x31')]=_['keys'](_0x526e79['query']);_0x2d227c['filters']=_['intersection'](_0x2d227c[_0x8c35('0x30')],_0x2d227c[_0x8c35('0x31')]);_0x71ef26['attributes']=_['intersection'](_0x2d227c[_0x8c35('0x30')],qs['fields'](_0x526e79[_0x8c35('0x31')][_0x8c35('0x32')]));_0x71ef26[_0x8c35('0x33')]=_0x71ef26[_0x8c35('0x33')][_0x8c35('0x34')]?_0x71ef26[_0x8c35('0x33')]:_0x2d227c['model'];if(!_0x526e79[_0x8c35('0x31')][_0x8c35('0x35')]('nolimit')){_0x71ef26['limit']=qs[_0x8c35('0x1e')](_0x526e79[_0x8c35('0x31')][_0x8c35('0x1e')]);_0x71ef26[_0x8c35('0x20')]=qs['offset'](_0x526e79[_0x8c35('0x31')][_0x8c35('0x20')]);}_0x71ef26[_0x8c35('0x36')]=qs[_0x8c35('0x37')](_0x526e79[_0x8c35('0x31')][_0x8c35('0x37')]);_0x71ef26['where']=qs['filters'](_[_0x8c35('0x38')](_0x526e79[_0x8c35('0x31')],_0x2d227c[_0x8c35('0x39')]),_0x538a5e);if(_0x526e79[_0x8c35('0x31')][_0x8c35('0x3a')]){_0x71ef26[_0x8c35('0x3b')]=_[_0x8c35('0x3c')](_0x71ef26['where'],{'$or':_['map'](_0x538a5e,function(_0xbe8314){if(_0xbe8314['type']!==_0x8c35('0x3d')){var _0x271f02={};_0x271f02[_0xbe8314['name']]={'$like':'%'+_0x526e79[_0x8c35('0x31')][_0x8c35('0x3a')]+'%'};return _0x271f02;}})});}_0x71ef26=_[_0x8c35('0x3c')]({},_0x71ef26,_0x526e79['options']);var _0x59949b={'where':_0x71ef26[_0x8c35('0x3b')]};return db[_0x8c35('0x2c')][_0x8c35('0x1f')](_0x59949b)[_0x8c35('0x26')](function(_0x40f960){_0x556f7d[_0x8c35('0x1f')]=_0x40f960;if(_0x526e79[_0x8c35('0x31')][_0x8c35('0x3e')]){_0x71ef26['include']=[{'all':!![]}];}return db[_0x8c35('0x2c')]['findAll'](_0x71ef26);})[_0x8c35('0x26')](function(_0x2d43fe){_0x556f7d[_0x8c35('0x3f')]=_0x2d43fe;return _0x556f7d;})['then'](respondWithFilteredResult(_0x1f8132,_0x71ef26))[_0x8c35('0x40')](handleError(_0x1f8132,null));};exports[_0x8c35('0x41')]=function(_0x4c4ce4,_0x8d3ff){var _0x34fabe={'raw':!![],'where':{'id':_0x4c4ce4[_0x8c35('0x42')]['id']}},_0x44e8af={};_0x44e8af[_0x8c35('0x30')]=_[_0x8c35('0x43')](db[_0x8c35('0x2c')]['rawAttributes']);_0x44e8af[_0x8c35('0x31')]=_[_0x8c35('0x43')](_0x4c4ce4[_0x8c35('0x31')]);_0x44e8af[_0x8c35('0x39')]=_[_0x8c35('0x44')](_0x44e8af['model'],_0x44e8af[_0x8c35('0x31')]);_0x34fabe[_0x8c35('0x33')]=_[_0x8c35('0x44')](_0x44e8af[_0x8c35('0x30')],qs[_0x8c35('0x32')](_0x4c4ce4['query'][_0x8c35('0x32')]));_0x34fabe['attributes']=_0x34fabe[_0x8c35('0x33')][_0x8c35('0x34')]?_0x34fabe[_0x8c35('0x33')]:_0x44e8af[_0x8c35('0x30')];if(_0x4c4ce4[_0x8c35('0x31')][_0x8c35('0x3e')]){_0x34fabe[_0x8c35('0x45')]=[{'all':!![]}];}_0x34fabe=_[_0x8c35('0x3c')]({},_0x34fabe,_0x4c4ce4[_0x8c35('0x46')]);return db[_0x8c35('0x2c')][_0x8c35('0x47')](_0x34fabe)[_0x8c35('0x26')](handleEntityNotFound(_0x8d3ff,null))['then'](respondWithResult(_0x8d3ff,null))['catch'](handleError(_0x8d3ff,null));};exports['create']=function(_0x2d7aa4,_0x3fa26e){return db[_0x8c35('0x2c')][_0x8c35('0x48')](_0x2d7aa4[_0x8c35('0x49')],{})[_0x8c35('0x26')](respondWithResult(_0x3fa26e,0xc9))['catch'](handleError(_0x3fa26e,null));};exports[_0x8c35('0x25')]=function(_0x4e76d7,_0xc58ea3){if(_0x4e76d7[_0x8c35('0x49')]['id']){delete _0x4e76d7[_0x8c35('0x49')]['id'];}return db[_0x8c35('0x2c')][_0x8c35('0x47')]({'where':{'id':_0x4e76d7[_0x8c35('0x42')]['id']}})['then'](handleEntityNotFound(_0xc58ea3,null))[_0x8c35('0x26')](saveUpdates(_0x4e76d7[_0x8c35('0x49')],null))['then'](respondWithResult(_0xc58ea3,null))[_0x8c35('0x40')](handleError(_0xc58ea3,null));};exports['destroy']=function(_0x1158a1,_0x15eac7){return db[_0x8c35('0x2c')][_0x8c35('0x47')]({'where':{'id':_0x1158a1['params']['id']}})['then'](handleEntityNotFound(_0x15eac7,null))[_0x8c35('0x26')](removeEntity(_0x15eac7,null))['catch'](handleError(_0x15eac7,null));};exports[_0x8c35('0x4a')]=function(_0x20e6c4,_0x159258,_0x433d8c){return db[_0x8c35('0x2c')][_0x8c35('0x47')]({'where':{'id':_0x20e6c4[_0x8c35('0x42')]['id']},'attributes':['id','recording',_0x8c35('0x4b')]})[_0x8c35('0x26')](handleEntityNotFound(_0x159258,null))[_0x8c35('0x26')](function(_0x2e85a4){if(_0x2e85a4){if(!_0x2e85a4['recording']){throw new db['Sequelize'][(_0x8c35('0x4c'))]('VoiceMailMessage\x20not\x20found');}var _0x42f33c={'Content-Type':_0x8c35('0x4d'),'Content-Disposition':_0x8c35('0x4e')};if(_0x2e85a4[_0x8c35('0x4b')]){_0x42f33c[_0x8c35('0x4f')]=_0x8c35('0x50')+_0x2e85a4['msg_id']+_0x8c35('0x51');}_0x159258['set'](_0x42f33c);return _0x159258[_0x8c35('0x52')](new Buffer(_0x2e85a4[_0x8c35('0x53')]));}})['catch'](handleError(_0x159258,null));};