20e00124bb8b63a084acfd300b66d1061e4b42df
[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 _0xddc7=['findAll','rows','catch','show','params','rawAttributes','length','create','body','update','find','download','recording','ValidationError','attachment','msg_id','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','set','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','apply','reject','save','then','error','stack','name','send','index','map','VoiceMailMessage','type','key','model','keys','filters','intersection','query','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include'];(function(_0x5949b8,_0x5f2aaa){var _0x14977a=function(_0x2177ec){while(--_0x2177ec){_0x5949b8['push'](_0x5949b8['shift']());}};_0x14977a(++_0x5f2aaa);}(_0xddc7,0x107));var _0x7ddc=function(_0x11dc4d,_0x45f353){_0x11dc4d=_0x11dc4d-0x0;var _0x125d12=_0xddc7[_0x11dc4d];return _0x125d12;};'use strict';var emlformat=require(_0x7ddc('0x0'));var rimraf=require(_0x7ddc('0x1'));var zipdir=require(_0x7ddc('0x2'));var jsonpatch=require(_0x7ddc('0x3'));var rp=require(_0x7ddc('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x7ddc('0x5'));var util=require(_0x7ddc('0x6'));var path=require(_0x7ddc('0x7'));var sox=require(_0x7ddc('0x8'));var csv=require(_0x7ddc('0x9'));var ejs=require(_0x7ddc('0xa'));var fs=require('fs');var fs_extra=require(_0x7ddc('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x7ddc('0xc'));var jsforce=require(_0x7ddc('0xd'));var deskjs=require(_0x7ddc('0xe'));var toCsv=require(_0x7ddc('0x9'));var querystring=require(_0x7ddc('0xf'));var Papa=require('papaparse');var Redis=require(_0x7ddc('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x7ddc('0x11'));var as=require(_0x7ddc('0x12'));var hardwareService=require(_0x7ddc('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x7ddc('0x14'));var config=require(_0x7ddc('0x15'));var licenseUtil=require(_0x7ddc('0x16'));var db=require(_0x7ddc('0x17'))['db'];function respondWithStatusCode(_0x3292be,_0x282ad7){_0x282ad7=_0x282ad7||0xcc;return function(_0x3f9b63){if(_0x3f9b63){return _0x3292be[_0x7ddc('0x18')](_0x282ad7);}return _0x3292be[_0x7ddc('0x19')](_0x282ad7)[_0x7ddc('0x1a')]();};}function respondWithResult(_0x17f5a1,_0x50ce9a){_0x50ce9a=_0x50ce9a||0xc8;return function(_0x3d3f1f){if(_0x3d3f1f){return _0x17f5a1[_0x7ddc('0x19')](_0x50ce9a)['json'](_0x3d3f1f);}};}function respondWithFilteredResult(_0x44c631,_0x4feff9){return function(_0x2f2db0){if(_0x2f2db0){var _0x33a286=typeof _0x4feff9[_0x7ddc('0x1b')]===_0x7ddc('0x1c')&&typeof _0x4feff9['limit']==='undefined';var _0x5d85b8=_0x2f2db0[_0x7ddc('0x1d')];var _0x301630=_0x33a286?0x0:_0x4feff9['offset'];var _0x584676=_0x33a286?_0x2f2db0[_0x7ddc('0x1d')]:_0x4feff9[_0x7ddc('0x1b')]+_0x4feff9[_0x7ddc('0x1e')];var _0x462510;if(_0x584676>=_0x5d85b8){_0x584676=_0x5d85b8;_0x462510=0xc8;}else{_0x462510=0xce;}_0x44c631[_0x7ddc('0x19')](_0x462510);return _0x44c631['set']('Content-Range',_0x301630+'-'+_0x584676+'/'+_0x5d85b8)['json'](_0x2f2db0);}return null;};}function patchUpdates(_0x2d1b1e){return function(_0x4822f1){try{jsonpatch[_0x7ddc('0x1f')](_0x4822f1,_0x2d1b1e,!![]);}catch(_0x51d7c5){return BPromise[_0x7ddc('0x20')](_0x51d7c5);}return _0x4822f1[_0x7ddc('0x21')]();};}function saveUpdates(_0x3f6ba2,_0x3dffc8){return function(_0x48f8a3){if(_0x48f8a3){return _0x48f8a3['update'](_0x3f6ba2)[_0x7ddc('0x22')](function(_0x55795a){return _0x55795a;});}return null;};}function removeEntity(_0x2eb98e,_0x25d4d5){return function(_0x111125){if(_0x111125){return _0x111125['destroy']()['then'](function(){_0x2eb98e[_0x7ddc('0x19')](0xcc)[_0x7ddc('0x1a')]();});}};}function handleEntityNotFound(_0x4ead0d,_0xdd5412){return function(_0x32c6b0){if(!_0x32c6b0){_0x4ead0d[_0x7ddc('0x18')](0x194);}return _0x32c6b0;};}function handleError(_0x5bd948,_0x1f5e51){_0x1f5e51=_0x1f5e51||0x1f4;return function(_0x11f49d){logger[_0x7ddc('0x23')](_0x11f49d[_0x7ddc('0x24')]);if(_0x11f49d[_0x7ddc('0x25')]){delete _0x11f49d[_0x7ddc('0x25')];}_0x5bd948[_0x7ddc('0x19')](_0x1f5e51)[_0x7ddc('0x26')](_0x11f49d);};}exports[_0x7ddc('0x27')]=function(_0x42e8ab,_0x17a315){var _0x50c2dd={},_0x1551f5={},_0x5a164a={'count':0x0,'rows':[]};var _0x4bef78=_[_0x7ddc('0x28')](db[_0x7ddc('0x29')]['rawAttributes'],function(_0x1b7492){return{'name':_0x1b7492['fieldName'],'type':_0x1b7492[_0x7ddc('0x2a')][_0x7ddc('0x2b')]};});_0x1551f5[_0x7ddc('0x2c')]=_['differenceBy'](_[_0x7ddc('0x28')](_0x4bef78,_0x7ddc('0x25')),[_0x7ddc('0x25')]);_0x1551f5['query']=_[_0x7ddc('0x2d')](_0x42e8ab['query']);_0x1551f5[_0x7ddc('0x2e')]=_[_0x7ddc('0x2f')](_0x1551f5[_0x7ddc('0x2c')],_0x1551f5[_0x7ddc('0x30')]);_0x50c2dd[_0x7ddc('0x31')]=_[_0x7ddc('0x2f')](_0x1551f5[_0x7ddc('0x2c')],qs[_0x7ddc('0x32')](_0x42e8ab[_0x7ddc('0x30')][_0x7ddc('0x32')]));_0x50c2dd[_0x7ddc('0x31')]=_0x50c2dd[_0x7ddc('0x31')]['length']?_0x50c2dd[_0x7ddc('0x31')]:_0x1551f5[_0x7ddc('0x2c')];if(!_0x42e8ab[_0x7ddc('0x30')][_0x7ddc('0x33')]('nolimit')){_0x50c2dd[_0x7ddc('0x1e')]=qs['limit'](_0x42e8ab[_0x7ddc('0x30')][_0x7ddc('0x1e')]);_0x50c2dd[_0x7ddc('0x1b')]=qs[_0x7ddc('0x1b')](_0x42e8ab[_0x7ddc('0x30')][_0x7ddc('0x1b')]);}_0x50c2dd[_0x7ddc('0x34')]=qs[_0x7ddc('0x35')](_0x42e8ab['query'][_0x7ddc('0x35')]);_0x50c2dd[_0x7ddc('0x36')]=qs[_0x7ddc('0x2e')](_[_0x7ddc('0x37')](_0x42e8ab[_0x7ddc('0x30')],_0x1551f5[_0x7ddc('0x2e')]),_0x4bef78);if(_0x42e8ab[_0x7ddc('0x30')]['filter']){_0x50c2dd[_0x7ddc('0x36')]=_[_0x7ddc('0x38')](_0x50c2dd[_0x7ddc('0x36')],{'$or':_[_0x7ddc('0x28')](_0x4bef78,function(_0x2f3163){if(_0x2f3163['type']!==_0x7ddc('0x39')){var _0x331b47={};_0x331b47[_0x2f3163[_0x7ddc('0x25')]]={'$like':'%'+_0x42e8ab[_0x7ddc('0x30')]['filter']+'%'};return _0x331b47;}})});}_0x50c2dd=_['merge']({},_0x50c2dd,_0x42e8ab[_0x7ddc('0x3a')]);var _0x512593={'where':_0x50c2dd['where']};return db[_0x7ddc('0x29')][_0x7ddc('0x1d')](_0x512593)[_0x7ddc('0x22')](function(_0x112760){_0x5a164a[_0x7ddc('0x1d')]=_0x112760;if(_0x42e8ab[_0x7ddc('0x30')][_0x7ddc('0x3b')]){_0x50c2dd[_0x7ddc('0x3c')]=[{'all':!![]}];}return db[_0x7ddc('0x29')][_0x7ddc('0x3d')](_0x50c2dd);})['then'](function(_0x8735b1){_0x5a164a[_0x7ddc('0x3e')]=_0x8735b1;return _0x5a164a;})[_0x7ddc('0x22')](respondWithFilteredResult(_0x17a315,_0x50c2dd))[_0x7ddc('0x3f')](handleError(_0x17a315,null));};exports[_0x7ddc('0x40')]=function(_0x10a946,_0x2b66f1){var _0x36519f={'raw':!![],'where':{'id':_0x10a946[_0x7ddc('0x41')]['id']}},_0xe5b56c={};_0xe5b56c['model']=_['keys'](db[_0x7ddc('0x29')][_0x7ddc('0x42')]);_0xe5b56c['query']=_[_0x7ddc('0x2d')](_0x10a946[_0x7ddc('0x30')]);_0xe5b56c[_0x7ddc('0x2e')]=_[_0x7ddc('0x2f')](_0xe5b56c[_0x7ddc('0x2c')],_0xe5b56c[_0x7ddc('0x30')]);_0x36519f[_0x7ddc('0x31')]=_[_0x7ddc('0x2f')](_0xe5b56c[_0x7ddc('0x2c')],qs[_0x7ddc('0x32')](_0x10a946[_0x7ddc('0x30')][_0x7ddc('0x32')]));_0x36519f[_0x7ddc('0x31')]=_0x36519f['attributes'][_0x7ddc('0x43')]?_0x36519f['attributes']:_0xe5b56c[_0x7ddc('0x2c')];if(_0x10a946[_0x7ddc('0x30')][_0x7ddc('0x3b')]){_0x36519f[_0x7ddc('0x3c')]=[{'all':!![]}];}_0x36519f=_[_0x7ddc('0x38')]({},_0x36519f,_0x10a946[_0x7ddc('0x3a')]);return db['VoiceMailMessage']['find'](_0x36519f)[_0x7ddc('0x22')](handleEntityNotFound(_0x2b66f1,null))['then'](respondWithResult(_0x2b66f1,null))[_0x7ddc('0x3f')](handleError(_0x2b66f1,null));};exports[_0x7ddc('0x44')]=function(_0x25af86,_0x3fa727){return db[_0x7ddc('0x29')][_0x7ddc('0x44')](_0x25af86[_0x7ddc('0x45')],{})['then'](respondWithResult(_0x3fa727,0xc9))['catch'](handleError(_0x3fa727,null));};exports[_0x7ddc('0x46')]=function(_0x4e339a,_0x1ade0e){if(_0x4e339a['body']['id']){delete _0x4e339a[_0x7ddc('0x45')]['id'];}return db[_0x7ddc('0x29')]['find']({'where':{'id':_0x4e339a[_0x7ddc('0x41')]['id']}})['then'](handleEntityNotFound(_0x1ade0e,null))[_0x7ddc('0x22')](saveUpdates(_0x4e339a['body'],null))['then'](respondWithResult(_0x1ade0e,null))[_0x7ddc('0x3f')](handleError(_0x1ade0e,null));};exports['destroy']=function(_0x16fb54,_0x1a1071){return db[_0x7ddc('0x29')][_0x7ddc('0x47')]({'where':{'id':_0x16fb54[_0x7ddc('0x41')]['id']}})[_0x7ddc('0x22')](handleEntityNotFound(_0x1a1071,null))['then'](removeEntity(_0x1a1071,null))[_0x7ddc('0x3f')](handleError(_0x1a1071,null));};exports[_0x7ddc('0x48')]=function(_0x25cfaf,_0x521f5e,_0x24c557){return db[_0x7ddc('0x29')][_0x7ddc('0x47')]({'where':{'id':_0x25cfaf['params']['id']},'attributes':['id',_0x7ddc('0x49'),'msg_id']})[_0x7ddc('0x22')](handleEntityNotFound(_0x521f5e,null))[_0x7ddc('0x22')](function(_0x21c596){if(_0x21c596){if(!_0x21c596[_0x7ddc('0x49')]){throw new db['Sequelize'][(_0x7ddc('0x4a'))]('VoiceMailMessage\x20not\x20found');}var _0x3883a4={'Content-Type':'audio/wav','Content-Disposition':_0x7ddc('0x4b')};if(_0x21c596[_0x7ddc('0x4c')]){_0x3883a4[_0x7ddc('0x4d')]=_0x7ddc('0x4e')+_0x21c596[_0x7ddc('0x4c')]+_0x7ddc('0x4f');}_0x521f5e[_0x7ddc('0x50')](_0x3883a4);return _0x521f5e[_0x7ddc('0x26')](new Buffer(_0x21c596[_0x7ddc('0x49')]));}})[_0x7ddc('0x3f')](handleError(_0x521f5e,null));};