Built motion from commit 9d7072cc.|2.5.39
[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 _0x669c=['../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','set','json','apply','reject','save','update','then','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','query','keys','filters','model','intersection','fields','attributes','nolimit','sort','pick','where','filter','merge','options','includeAll','include','findAll','rows','length','catch','create','body','find','params','destroy','download','recording','msg_id','Sequelize','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x1c1e7c,_0x580733){var _0x9795d3=function(_0x127776){while(--_0x127776){_0x1c1e7c['push'](_0x1c1e7c['shift']());}};_0x9795d3(++_0x580733);}(_0x669c,0x187));var _0xc669=function(_0x137773,_0x23e2ec){_0x137773=_0x137773-0x0;var _0x168cf6=_0x669c[_0x137773];return _0x168cf6;};'use strict';var emlformat=require(_0xc669('0x0'));var rimraf=require(_0xc669('0x1'));var zipdir=require(_0xc669('0x2'));var jsonpatch=require(_0xc669('0x3'));var rp=require('request-promise');var moment=require(_0xc669('0x4'));var BPromise=require(_0xc669('0x5'));var Mustache=require(_0xc669('0x6'));var util=require(_0xc669('0x7'));var path=require(_0xc669('0x8'));var sox=require(_0xc669('0x9'));var csv=require(_0xc669('0xa'));var ejs=require(_0xc669('0xb'));var fs=require('fs');var fs_extra=require(_0xc669('0xc'));var _=require(_0xc669('0xd'));var squel=require(_0xc669('0xe'));var crypto=require('crypto');var jsforce=require(_0xc669('0xf'));var deskjs=require(_0xc669('0x10'));var toCsv=require(_0xc669('0xa'));var querystring=require(_0xc669('0x11'));var Papa=require(_0xc669('0x12'));var Redis=require(_0xc669('0x13'));var authService=require(_0xc669('0x14'));var qs=require(_0xc669('0x15'));var as=require(_0xc669('0x16'));var hardwareService=require(_0xc669('0x17'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xc669('0x18'))['db'];function respondWithStatusCode(_0x2239c3,_0xeacb82){_0xeacb82=_0xeacb82||0xcc;return function(_0x26c764){if(_0x26c764){return _0x2239c3[_0xc669('0x19')](_0xeacb82);}return _0x2239c3['status'](_0xeacb82)[_0xc669('0x1a')]();};}function respondWithResult(_0x360698,_0x33ad1f){_0x33ad1f=_0x33ad1f||0xc8;return function(_0x4771c0){if(_0x4771c0){return _0x360698[_0xc669('0x1b')](_0x33ad1f)['json'](_0x4771c0);}};}function respondWithFilteredResult(_0x1b1caa,_0x18762d){return function(_0x227a11){if(_0x227a11){var _0x3c07e3=typeof _0x18762d[_0xc669('0x1c')]===_0xc669('0x1d')&&typeof _0x18762d[_0xc669('0x1e')]===_0xc669('0x1d');var _0x8badd=_0x227a11[_0xc669('0x1f')];var _0x3670ae=_0x3c07e3?0x0:_0x18762d[_0xc669('0x1c')];var _0x11a732=_0x3c07e3?_0x227a11[_0xc669('0x1f')]:_0x18762d[_0xc669('0x1c')]+_0x18762d[_0xc669('0x1e')];var _0x4f1599;if(_0x11a732>=_0x8badd){_0x11a732=_0x8badd;_0x4f1599=0xc8;}else{_0x4f1599=0xce;}_0x1b1caa[_0xc669('0x1b')](_0x4f1599);return _0x1b1caa[_0xc669('0x20')]('Content-Range',_0x3670ae+'-'+_0x11a732+'/'+_0x8badd)[_0xc669('0x21')](_0x227a11);}return null;};}function patchUpdates(_0x516e97){return function(_0x49b1be){try{jsonpatch[_0xc669('0x22')](_0x49b1be,_0x516e97,!![]);}catch(_0x700ba){return BPromise[_0xc669('0x23')](_0x700ba);}return _0x49b1be[_0xc669('0x24')]();};}function saveUpdates(_0x5292ec,_0x38fc97){return function(_0x14ceb9){if(_0x14ceb9){return _0x14ceb9[_0xc669('0x25')](_0x5292ec)[_0xc669('0x26')](function(_0x332b91){return _0x332b91;});}return null;};}function removeEntity(_0x3db228,_0x13e8cc){return function(_0x2b019a){if(_0x2b019a){return _0x2b019a['destroy']()[_0xc669('0x26')](function(){_0x3db228['status'](0xcc)[_0xc669('0x1a')]();});}};}function handleEntityNotFound(_0x39f63a,_0x4d5978){return function(_0x48ca99){if(!_0x48ca99){_0x39f63a[_0xc669('0x19')](0x194);}return _0x48ca99;};}function handleError(_0x2ba985,_0x5b2b6e){_0x5b2b6e=_0x5b2b6e||0x1f4;return function(_0x5abe56){logger[_0xc669('0x27')](_0x5abe56[_0xc669('0x28')]);if(_0x5abe56[_0xc669('0x29')]){delete _0x5abe56[_0xc669('0x29')];}_0x2ba985[_0xc669('0x1b')](_0x5b2b6e)[_0xc669('0x2a')](_0x5abe56);};}exports[_0xc669('0x2b')]=function(_0x4f4177,_0x203b24){var _0x3ff21a={},_0x27b9eb={},_0x2610e0={'count':0x0,'rows':[]};var _0x474a58=_[_0xc669('0x2c')](db[_0xc669('0x2d')][_0xc669('0x2e')],function(_0x2423a9){return{'name':_0x2423a9[_0xc669('0x2f')],'type':_0x2423a9[_0xc669('0x30')]['key']};});_0x27b9eb['model']=_['differenceBy'](_[_0xc669('0x2c')](_0x474a58,_0xc669('0x29')),[_0xc669('0x29')]);_0x27b9eb[_0xc669('0x31')]=_[_0xc669('0x32')](_0x4f4177['query']);_0x27b9eb[_0xc669('0x33')]=_['intersection'](_0x27b9eb[_0xc669('0x34')],_0x27b9eb['query']);_0x3ff21a['attributes']=_[_0xc669('0x35')](_0x27b9eb[_0xc669('0x34')],qs[_0xc669('0x36')](_0x4f4177[_0xc669('0x31')][_0xc669('0x36')]));_0x3ff21a[_0xc669('0x37')]=_0x3ff21a[_0xc669('0x37')]['length']?_0x3ff21a[_0xc669('0x37')]:_0x27b9eb[_0xc669('0x34')];if(!_0x4f4177[_0xc669('0x31')]['hasOwnProperty'](_0xc669('0x38'))){_0x3ff21a[_0xc669('0x1e')]=qs[_0xc669('0x1e')](_0x4f4177[_0xc669('0x31')]['limit']);_0x3ff21a[_0xc669('0x1c')]=qs[_0xc669('0x1c')](_0x4f4177['query']['offset']);}_0x3ff21a['order']=qs[_0xc669('0x39')](_0x4f4177[_0xc669('0x31')][_0xc669('0x39')]);_0x3ff21a['where']=qs['filters'](_[_0xc669('0x3a')](_0x4f4177[_0xc669('0x31')],_0x27b9eb[_0xc669('0x33')]),_0x474a58);if(_0x4f4177['query']['filter']){_0x3ff21a[_0xc669('0x3b')]=_['merge'](_0x3ff21a['where'],{'$or':_[_0xc669('0x2c')](_0x474a58,function(_0x500664){if(_0x500664['type']!=='VIRTUAL'){var _0x20bdbb={};_0x20bdbb[_0x500664[_0xc669('0x29')]]={'$like':'%'+_0x4f4177[_0xc669('0x31')][_0xc669('0x3c')]+'%'};return _0x20bdbb;}})});}_0x3ff21a=_[_0xc669('0x3d')]({},_0x3ff21a,_0x4f4177[_0xc669('0x3e')]);var _0x5a455e={'where':_0x3ff21a[_0xc669('0x3b')]};return db[_0xc669('0x2d')][_0xc669('0x1f')](_0x5a455e)[_0xc669('0x26')](function(_0x4ae19b){_0x2610e0[_0xc669('0x1f')]=_0x4ae19b;if(_0x4f4177['query'][_0xc669('0x3f')]){_0x3ff21a[_0xc669('0x40')]=[{'all':!![]}];}return db[_0xc669('0x2d')][_0xc669('0x41')](_0x3ff21a);})[_0xc669('0x26')](function(_0x3ec8de){_0x2610e0[_0xc669('0x42')]=_0x3ec8de;return _0x2610e0;})[_0xc669('0x26')](respondWithFilteredResult(_0x203b24,_0x3ff21a))['catch'](handleError(_0x203b24,null));};exports['show']=function(_0x4fa80c,_0x5b5077){var _0x19c9c6={'raw':!![],'where':{'id':_0x4fa80c['params']['id']}},_0x50f31d={};_0x50f31d['model']=_[_0xc669('0x32')](db[_0xc669('0x2d')][_0xc669('0x2e')]);_0x50f31d[_0xc669('0x31')]=_[_0xc669('0x32')](_0x4fa80c[_0xc669('0x31')]);_0x50f31d[_0xc669('0x33')]=_[_0xc669('0x35')](_0x50f31d[_0xc669('0x34')],_0x50f31d[_0xc669('0x31')]);_0x19c9c6[_0xc669('0x37')]=_[_0xc669('0x35')](_0x50f31d['model'],qs[_0xc669('0x36')](_0x4fa80c['query'][_0xc669('0x36')]));_0x19c9c6['attributes']=_0x19c9c6[_0xc669('0x37')][_0xc669('0x43')]?_0x19c9c6[_0xc669('0x37')]:_0x50f31d[_0xc669('0x34')];if(_0x4fa80c['query']['includeAll']){_0x19c9c6[_0xc669('0x40')]=[{'all':!![]}];}_0x19c9c6=_[_0xc669('0x3d')]({},_0x19c9c6,_0x4fa80c[_0xc669('0x3e')]);return db[_0xc669('0x2d')]['find'](_0x19c9c6)['then'](handleEntityNotFound(_0x5b5077,null))[_0xc669('0x26')](respondWithResult(_0x5b5077,null))[_0xc669('0x44')](handleError(_0x5b5077,null));};exports['create']=function(_0x42c206,_0x1adf53){return db[_0xc669('0x2d')][_0xc669('0x45')](_0x42c206[_0xc669('0x46')],{})[_0xc669('0x26')](respondWithResult(_0x1adf53,0xc9))[_0xc669('0x44')](handleError(_0x1adf53,null));};exports[_0xc669('0x25')]=function(_0x1154f6,_0x348799){if(_0x1154f6[_0xc669('0x46')]['id']){delete _0x1154f6[_0xc669('0x46')]['id'];}return db[_0xc669('0x2d')][_0xc669('0x47')]({'where':{'id':_0x1154f6[_0xc669('0x48')]['id']}})[_0xc669('0x26')](handleEntityNotFound(_0x348799,null))[_0xc669('0x26')](saveUpdates(_0x1154f6['body'],null))[_0xc669('0x26')](respondWithResult(_0x348799,null))[_0xc669('0x44')](handleError(_0x348799,null));};exports[_0xc669('0x49')]=function(_0x304527,_0xfc4237){return db[_0xc669('0x2d')][_0xc669('0x47')]({'where':{'id':_0x304527[_0xc669('0x48')]['id']}})[_0xc669('0x26')](handleEntityNotFound(_0xfc4237,null))[_0xc669('0x26')](removeEntity(_0xfc4237,null))[_0xc669('0x44')](handleError(_0xfc4237,null));};exports[_0xc669('0x4a')]=function(_0x16b03f,_0x10b669,_0x1be17e){return db[_0xc669('0x2d')]['find']({'where':{'id':_0x16b03f[_0xc669('0x48')]['id']},'attributes':['id',_0xc669('0x4b'),_0xc669('0x4c')]})[_0xc669('0x26')](handleEntityNotFound(_0x10b669,null))[_0xc669('0x26')](function(_0x4c23bc){if(_0x4c23bc){if(!_0x4c23bc[_0xc669('0x4b')]){throw new db[(_0xc669('0x4d'))]['ValidationError']('VoiceMailMessage\x20not\x20found');}var _0x26db34={'Content-Type':_0xc669('0x4e'),'Content-Disposition':_0xc669('0x4f')};if(_0x4c23bc[_0xc669('0x4c')]){_0x26db34[_0xc669('0x50')]=_0xc669('0x51')+_0x4c23bc[_0xc669('0x4c')]+_0xc669('0x52');}_0x10b669[_0xc669('0x20')](_0x26db34);return _0x10b669[_0xc669('0x2a')](new Buffer(_0x4c23bc['recording']));}})['catch'](handleError(_0x10b669,null));};