Built motion from commit (unavailable).|2.5.5
[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 _0xa768=['moment','bluebird','mustache','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','limit','set','apply','save','update','then','destroy','stack','name','send','index','VoiceMailMessage','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','merge','map','VIRTUAL','filter','includeAll','include','findAll','params','find','catch','create','body','recording','msg_id','Sequelize','ValidationError','Content-Disposition','.wav\x22','eml-format','fast-json-patch','request-promise'];(function(_0xa5c35f,_0x480e57){var _0x58b4f0=function(_0x176639){while(--_0x176639){_0xa5c35f['push'](_0xa5c35f['shift']());}};_0x58b4f0(++_0x480e57);}(_0xa768,0x93));var _0x8a76=function(_0x461ce9,_0x40b548){_0x461ce9=_0x461ce9-0x0;var _0x3d515f=_0xa768[_0x461ce9];return _0x3d515f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8a76('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x8a76('0x1'));var rp=require(_0x8a76('0x2'));var moment=require(_0x8a76('0x3'));var BPromise=require(_0x8a76('0x4'));var Mustache=require(_0x8a76('0x5'));var util=require('util');var path=require('path');var sox=require(_0x8a76('0x6'));var csv=require(_0x8a76('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x8a76('0x8'));var squel=require(_0x8a76('0x9'));var crypto=require(_0x8a76('0xa'));var jsforce=require(_0x8a76('0xb'));var deskjs=require(_0x8a76('0xc'));var toCsv=require('to-csv');var querystring=require(_0x8a76('0xd'));var Papa=require(_0x8a76('0xe'));var Redis=require(_0x8a76('0xf'));var authService=require(_0x8a76('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8a76('0x11'));var logger=require(_0x8a76('0x12'))(_0x8a76('0x13'));var utils=require(_0x8a76('0x14'));var config=require(_0x8a76('0x15'));var licenseUtil=require(_0x8a76('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4fa455,_0x3b9a1d){_0x3b9a1d=_0x3b9a1d||0xcc;return function(_0x2e0eec){if(_0x2e0eec){return _0x4fa455[_0x8a76('0x17')](_0x3b9a1d);}return _0x4fa455[_0x8a76('0x18')](_0x3b9a1d)['end']();};}function respondWithResult(_0x16a0c0,_0x311848){_0x311848=_0x311848||0xc8;return function(_0x10b8fb){if(_0x10b8fb){return _0x16a0c0[_0x8a76('0x18')](_0x311848)[_0x8a76('0x19')](_0x10b8fb);}};}function respondWithFilteredResult(_0x3233ff,_0x29364e){return function(_0x51502d){if(_0x51502d){var _0x2893db=_0x51502d[_0x8a76('0x1a')],_0x2b4ff1=_0x29364e[_0x8a76('0x1b')],_0x6fc992=_0x29364e[_0x8a76('0x1b')]+_0x29364e[_0x8a76('0x1c')],_0x3d01f7;if(_0x6fc992>=_0x2893db){_0x6fc992=_0x2893db;_0x3d01f7=0xc8;}else{_0x3d01f7=0xce;}_0x3233ff[_0x8a76('0x18')](_0x3d01f7);return _0x3233ff[_0x8a76('0x1d')]('Content-Range',_0x2b4ff1+'-'+_0x6fc992+'/'+_0x2893db)[_0x8a76('0x19')](_0x51502d);}return null;};}function patchUpdates(_0x43b105){return function(_0x5cecc9){try{jsonpatch[_0x8a76('0x1e')](_0x5cecc9,_0x43b105,!![]);}catch(_0x5a13cc){return BPromise['reject'](_0x5a13cc);}return _0x5cecc9[_0x8a76('0x1f')]();};}function saveUpdates(_0x27760f,_0x1bca54){return function(_0x54c3a2){if(_0x54c3a2){return _0x54c3a2[_0x8a76('0x20')](_0x27760f)[_0x8a76('0x21')](function(_0x1a8b0a){return _0x1a8b0a;});}return null;};}function removeEntity(_0x351ffc,_0x25b7fa){return function(_0xe2c4f3){if(_0xe2c4f3){return _0xe2c4f3[_0x8a76('0x22')]()[_0x8a76('0x21')](function(){_0x351ffc[_0x8a76('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4e5d23,_0x21ff23){return function(_0x523f3e){if(!_0x523f3e){_0x4e5d23['sendStatus'](0x194);}return _0x523f3e;};}function handleError(_0x4c3a56,_0x23aade){_0x23aade=_0x23aade||0x1f4;return function(_0x899ca){logger['error'](_0x899ca[_0x8a76('0x23')]);if(_0x899ca[_0x8a76('0x24')]){delete _0x899ca[_0x8a76('0x24')];}_0x4c3a56['status'](_0x23aade)[_0x8a76('0x25')](_0x899ca);};}exports[_0x8a76('0x26')]=function(_0x1b98e4,_0x534ddb){var _0x479e7c={},_0x4d6eb7={},_0x54c2f6={'count':0x0,'rows':[]};var _0x2c33c8=_['map'](db[_0x8a76('0x27')][_0x8a76('0x28')],function(_0xaa72f1){return{'name':_0xaa72f1[_0x8a76('0x29')],'type':_0xaa72f1[_0x8a76('0x2a')][_0x8a76('0x2b')]};});_0x4d6eb7[_0x8a76('0x2c')]=_['differenceBy'](_['map'](_0x2c33c8,_0x8a76('0x24')),[_0x8a76('0x24')]);_0x4d6eb7[_0x8a76('0x2d')]=_[_0x8a76('0x2e')](_0x1b98e4[_0x8a76('0x2d')]);_0x4d6eb7[_0x8a76('0x2f')]=_[_0x8a76('0x30')](_0x4d6eb7[_0x8a76('0x2c')],_0x4d6eb7[_0x8a76('0x2d')]);_0x479e7c[_0x8a76('0x31')]=_[_0x8a76('0x30')](_0x4d6eb7[_0x8a76('0x2c')],qs['fields'](_0x1b98e4['query'][_0x8a76('0x32')]));_0x479e7c['attributes']=_0x479e7c[_0x8a76('0x31')][_0x8a76('0x33')]?_0x479e7c[_0x8a76('0x31')]:_0x4d6eb7[_0x8a76('0x2c')];if(!_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x34')]('nolimit')){_0x479e7c['limit']=qs[_0x8a76('0x1c')](_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x1c')]);_0x479e7c[_0x8a76('0x1b')]=qs['offset'](_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x1b')]);}_0x479e7c[_0x8a76('0x35')]=qs[_0x8a76('0x36')](_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x36')]);_0x479e7c[_0x8a76('0x37')]=qs['filters'](_[_0x8a76('0x38')](_0x1b98e4[_0x8a76('0x2d')],_0x4d6eb7[_0x8a76('0x2f')]),_0x2c33c8);if(_0x1b98e4[_0x8a76('0x2d')]['filter']){_0x479e7c[_0x8a76('0x37')]=_[_0x8a76('0x39')](_0x479e7c['where'],{'$or':_[_0x8a76('0x3a')](_0x2c33c8,function(_0x4bb048){if(_0x4bb048['type']!==_0x8a76('0x3b')){var _0x2021b3={};_0x2021b3[_0x4bb048['name']]={'$like':'%'+_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x3c')]+'%'};return _0x2021b3;}})});}_0x479e7c=_[_0x8a76('0x39')]({},_0x479e7c,_0x1b98e4['options']);var _0x4a1a81={'where':_0x479e7c[_0x8a76('0x37')]};return db[_0x8a76('0x27')][_0x8a76('0x1a')](_0x4a1a81)[_0x8a76('0x21')](function(_0x11e9b6){_0x54c2f6[_0x8a76('0x1a')]=_0x11e9b6;if(_0x1b98e4[_0x8a76('0x2d')][_0x8a76('0x3d')]){_0x479e7c[_0x8a76('0x3e')]=[{'all':!![]}];}return db[_0x8a76('0x27')][_0x8a76('0x3f')](_0x479e7c);})[_0x8a76('0x21')](function(_0x22f121){_0x54c2f6['rows']=_0x22f121;return _0x54c2f6;})['then'](respondWithFilteredResult(_0x534ddb,_0x479e7c))['catch'](handleError(_0x534ddb,null));};exports['show']=function(_0x4bc9a7,_0x34b43c){var _0x10b8bf={'raw':!![],'where':{'id':_0x4bc9a7[_0x8a76('0x40')]['id']}},_0x13ec71={};_0x13ec71[_0x8a76('0x2c')]=_[_0x8a76('0x2e')](db[_0x8a76('0x27')][_0x8a76('0x28')]);_0x13ec71[_0x8a76('0x2d')]=_[_0x8a76('0x2e')](_0x4bc9a7[_0x8a76('0x2d')]);_0x13ec71['filters']=_[_0x8a76('0x30')](_0x13ec71[_0x8a76('0x2c')],_0x13ec71[_0x8a76('0x2d')]);_0x10b8bf[_0x8a76('0x31')]=_[_0x8a76('0x30')](_0x13ec71['model'],qs['fields'](_0x4bc9a7[_0x8a76('0x2d')][_0x8a76('0x32')]));_0x10b8bf[_0x8a76('0x31')]=_0x10b8bf[_0x8a76('0x31')][_0x8a76('0x33')]?_0x10b8bf[_0x8a76('0x31')]:_0x13ec71['model'];if(_0x4bc9a7[_0x8a76('0x2d')]['includeAll']){_0x10b8bf[_0x8a76('0x3e')]=[{'all':!![]}];}_0x10b8bf=_['merge']({},_0x10b8bf,_0x4bc9a7['options']);return db[_0x8a76('0x27')][_0x8a76('0x41')](_0x10b8bf)['then'](handleEntityNotFound(_0x34b43c,null))[_0x8a76('0x21')](respondWithResult(_0x34b43c,null))[_0x8a76('0x42')](handleError(_0x34b43c,null));};exports[_0x8a76('0x43')]=function(_0xbba01f,_0x1a0571){return db[_0x8a76('0x27')][_0x8a76('0x43')](_0xbba01f['body'],{})[_0x8a76('0x21')](respondWithResult(_0x1a0571,0xc9))[_0x8a76('0x42')](handleError(_0x1a0571,null));};exports[_0x8a76('0x20')]=function(_0x5f3daa,_0x4dc3aa){if(_0x5f3daa[_0x8a76('0x44')]['id']){delete _0x5f3daa[_0x8a76('0x44')]['id'];}return db[_0x8a76('0x27')]['find']({'where':{'id':_0x5f3daa[_0x8a76('0x40')]['id']}})[_0x8a76('0x21')](handleEntityNotFound(_0x4dc3aa,null))[_0x8a76('0x21')](saveUpdates(_0x5f3daa[_0x8a76('0x44')],null))[_0x8a76('0x21')](respondWithResult(_0x4dc3aa,null))[_0x8a76('0x42')](handleError(_0x4dc3aa,null));};exports[_0x8a76('0x22')]=function(_0x558f06,_0x55e33e){return db[_0x8a76('0x27')][_0x8a76('0x41')]({'where':{'id':_0x558f06[_0x8a76('0x40')]['id']}})[_0x8a76('0x21')](handleEntityNotFound(_0x55e33e,null))[_0x8a76('0x21')](removeEntity(_0x55e33e,null))[_0x8a76('0x42')](handleError(_0x55e33e,null));};exports['download']=function(_0x385d90,_0x1cc89b,_0x4cd23c){return db['VoiceMailMessage'][_0x8a76('0x41')]({'where':{'id':_0x385d90[_0x8a76('0x40')]['id']},'attributes':['id',_0x8a76('0x45'),_0x8a76('0x46')]})[_0x8a76('0x21')](handleEntityNotFound(_0x1cc89b,null))[_0x8a76('0x21')](function(_0x58865c){if(_0x58865c){if(!_0x58865c[_0x8a76('0x45')]){throw new db[(_0x8a76('0x47'))][(_0x8a76('0x48'))]('VoiceMailMessage\x20not\x20found');}var _0x1ff55f={'Content-Type':'audio/wav','Content-Disposition':'attachment'};if(_0x58865c['msg_id']){_0x1ff55f[_0x8a76('0x49')]='attachment;\x20filename=\x22'+_0x58865c[_0x8a76('0x46')]+_0x8a76('0x4a');}_0x1cc89b[_0x8a76('0x1d')](_0x1ff55f);return _0x1cc89b[_0x8a76('0x25')](new Buffer(_0x58865c[_0x8a76('0x45')]));}})[_0x8a76('0x42')](handleError(_0x1cc89b,null));};