23449d10d58a566f01a6ea02d0f7816c8ec70e85
[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 _0x8786=['fields','length','hasOwnProperty','nolimit','order','sort','where','merge','map','filter','options','includeAll','findAll','catch','show','params','include','find','create','update','body','destroy','download','recording','msg_id','Sequelize','ValidationError','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','set','apply','reject','save','then','stack','name','send','VoiceMailMessage','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','intersection','attributes'];(function(_0x45b5df,_0x526a1d){var _0x5b6542=function(_0x49a1fa){while(--_0x49a1fa){_0x45b5df['push'](_0x45b5df['shift']());}};_0x5b6542(++_0x526a1d);}(_0x8786,0xcc));var _0x6878=function(_0x1d1779,_0x284147){_0x1d1779=_0x1d1779-0x0;var _0x2377e9=_0x8786[_0x1d1779];return _0x2377e9;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6878('0x0'));var zipdir=require(_0x6878('0x1'));var jsonpatch=require(_0x6878('0x2'));var rp=require(_0x6878('0x3'));var moment=require(_0x6878('0x4'));var BPromise=require(_0x6878('0x5'));var Mustache=require(_0x6878('0x6'));var util=require('util');var path=require(_0x6878('0x7'));var sox=require(_0x6878('0x8'));var csv=require(_0x6878('0x9'));var ejs=require(_0x6878('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6878('0xb'));var squel=require(_0x6878('0xc'));var crypto=require(_0x6878('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x6878('0xe'));var toCsv=require(_0x6878('0x9'));var querystring=require(_0x6878('0xf'));var Papa=require(_0x6878('0x10'));var Redis=require(_0x6878('0x11'));var authService=require(_0x6878('0x12'));var qs=require(_0x6878('0x13'));var as=require(_0x6878('0x14'));var hardwareService=require(_0x6878('0x15'));var logger=require(_0x6878('0x16'))(_0x6878('0x17'));var utils=require('../../config/utils');var config=require(_0x6878('0x18'));var licenseUtil=require(_0x6878('0x19'));var db=require(_0x6878('0x1a'))['db'];function respondWithStatusCode(_0x4f3217,_0x4c0d64){_0x4c0d64=_0x4c0d64||0xcc;return function(_0x38c006){if(_0x38c006){return _0x4f3217[_0x6878('0x1b')](_0x4c0d64);}return _0x4f3217['status'](_0x4c0d64)[_0x6878('0x1c')]();};}function respondWithResult(_0x1be2dc,_0x8a1ae9){_0x8a1ae9=_0x8a1ae9||0xc8;return function(_0x30952b){if(_0x30952b){return _0x1be2dc[_0x6878('0x1d')](_0x8a1ae9)['json'](_0x30952b);}};}function respondWithFilteredResult(_0x171fb5,_0x16ecfe){return function(_0x10e59f){if(_0x10e59f){var _0x2550c0=typeof _0x16ecfe[_0x6878('0x1e')]==='undefined'&&typeof _0x16ecfe['limit']===_0x6878('0x1f');var _0x400cbf=_0x10e59f['count'];var _0xba004f=_0x2550c0?0x0:_0x16ecfe[_0x6878('0x1e')];var _0x428a3f=_0x2550c0?_0x10e59f[_0x6878('0x20')]:_0x16ecfe[_0x6878('0x1e')]+_0x16ecfe[_0x6878('0x21')];var _0x16e233;if(_0x428a3f>=_0x400cbf){_0x428a3f=_0x400cbf;_0x16e233=0xc8;}else{_0x16e233=0xce;}_0x171fb5[_0x6878('0x1d')](_0x16e233);return _0x171fb5[_0x6878('0x22')]('Content-Range',_0xba004f+'-'+_0x428a3f+'/'+_0x400cbf)['json'](_0x10e59f);}return null;};}function patchUpdates(_0x223e32){return function(_0x248ec2){try{jsonpatch[_0x6878('0x23')](_0x248ec2,_0x223e32,!![]);}catch(_0x4aa441){return BPromise[_0x6878('0x24')](_0x4aa441);}return _0x248ec2[_0x6878('0x25')]();};}function saveUpdates(_0x316f2a,_0x5049e9){return function(_0x389112){if(_0x389112){return _0x389112['update'](_0x316f2a)[_0x6878('0x26')](function(_0x31b0ff){return _0x31b0ff;});}return null;};}function removeEntity(_0x2570ef,_0x50eda4){return function(_0x4801b4){if(_0x4801b4){return _0x4801b4['destroy']()[_0x6878('0x26')](function(){_0x2570ef[_0x6878('0x1d')](0xcc)[_0x6878('0x1c')]();});}};}function handleEntityNotFound(_0x43ccaa,_0xa6786d){return function(_0x1df646){if(!_0x1df646){_0x43ccaa[_0x6878('0x1b')](0x194);}return _0x1df646;};}function handleError(_0x1d305f,_0x15b570){_0x15b570=_0x15b570||0x1f4;return function(_0x293a19){logger['error'](_0x293a19[_0x6878('0x27')]);if(_0x293a19[_0x6878('0x28')]){delete _0x293a19[_0x6878('0x28')];}_0x1d305f[_0x6878('0x1d')](_0x15b570)[_0x6878('0x29')](_0x293a19);};}exports['index']=function(_0x8692ca,_0x3369f0){var _0x238707={},_0x1b2f47={},_0x5d4779={'count':0x0,'rows':[]};var _0x2c6734=_['map'](db[_0x6878('0x2a')][_0x6878('0x2b')],function(_0x1bc1fc){return{'name':_0x1bc1fc[_0x6878('0x2c')],'type':_0x1bc1fc[_0x6878('0x2d')][_0x6878('0x2e')]};});_0x1b2f47[_0x6878('0x2f')]=_[_0x6878('0x30')](_['map'](_0x2c6734,'name'),[_0x6878('0x28')]);_0x1b2f47[_0x6878('0x31')]=_[_0x6878('0x32')](_0x8692ca[_0x6878('0x31')]);_0x1b2f47[_0x6878('0x33')]=_[_0x6878('0x34')](_0x1b2f47[_0x6878('0x2f')],_0x1b2f47[_0x6878('0x31')]);_0x238707[_0x6878('0x35')]=_['intersection'](_0x1b2f47[_0x6878('0x2f')],qs['fields'](_0x8692ca['query'][_0x6878('0x36')]));_0x238707[_0x6878('0x35')]=_0x238707[_0x6878('0x35')][_0x6878('0x37')]?_0x238707[_0x6878('0x35')]:_0x1b2f47['model'];if(!_0x8692ca[_0x6878('0x31')][_0x6878('0x38')](_0x6878('0x39'))){_0x238707['limit']=qs['limit'](_0x8692ca[_0x6878('0x31')][_0x6878('0x21')]);_0x238707[_0x6878('0x1e')]=qs[_0x6878('0x1e')](_0x8692ca[_0x6878('0x31')][_0x6878('0x1e')]);}_0x238707[_0x6878('0x3a')]=qs['sort'](_0x8692ca[_0x6878('0x31')][_0x6878('0x3b')]);_0x238707[_0x6878('0x3c')]=qs[_0x6878('0x33')](_['pick'](_0x8692ca['query'],_0x1b2f47[_0x6878('0x33')]),_0x2c6734);if(_0x8692ca[_0x6878('0x31')]['filter']){_0x238707[_0x6878('0x3c')]=_[_0x6878('0x3d')](_0x238707[_0x6878('0x3c')],{'$or':_[_0x6878('0x3e')](_0x2c6734,function(_0x61350e){if(_0x61350e[_0x6878('0x2d')]!=='VIRTUAL'){var _0x13de64={};_0x13de64[_0x61350e[_0x6878('0x28')]]={'$like':'%'+_0x8692ca[_0x6878('0x31')][_0x6878('0x3f')]+'%'};return _0x13de64;}})});}_0x238707=_[_0x6878('0x3d')]({},_0x238707,_0x8692ca[_0x6878('0x40')]);var _0x122008={'where':_0x238707[_0x6878('0x3c')]};return db[_0x6878('0x2a')][_0x6878('0x20')](_0x122008)[_0x6878('0x26')](function(_0x3c5cfb){_0x5d4779[_0x6878('0x20')]=_0x3c5cfb;if(_0x8692ca['query'][_0x6878('0x41')]){_0x238707['include']=[{'all':!![]}];}return db['VoiceMailMessage'][_0x6878('0x42')](_0x238707);})[_0x6878('0x26')](function(_0x5bb55f){_0x5d4779['rows']=_0x5bb55f;return _0x5d4779;})[_0x6878('0x26')](respondWithFilteredResult(_0x3369f0,_0x238707))[_0x6878('0x43')](handleError(_0x3369f0,null));};exports[_0x6878('0x44')]=function(_0x5d236f,_0x41d2c6){var _0x4ff319={'raw':!![],'where':{'id':_0x5d236f[_0x6878('0x45')]['id']}},_0xe717c7={};_0xe717c7[_0x6878('0x2f')]=_[_0x6878('0x32')](db[_0x6878('0x2a')]['rawAttributes']);_0xe717c7[_0x6878('0x31')]=_[_0x6878('0x32')](_0x5d236f['query']);_0xe717c7[_0x6878('0x33')]=_[_0x6878('0x34')](_0xe717c7[_0x6878('0x2f')],_0xe717c7[_0x6878('0x31')]);_0x4ff319[_0x6878('0x35')]=_[_0x6878('0x34')](_0xe717c7[_0x6878('0x2f')],qs[_0x6878('0x36')](_0x5d236f['query'][_0x6878('0x36')]));_0x4ff319[_0x6878('0x35')]=_0x4ff319[_0x6878('0x35')][_0x6878('0x37')]?_0x4ff319[_0x6878('0x35')]:_0xe717c7['model'];if(_0x5d236f[_0x6878('0x31')][_0x6878('0x41')]){_0x4ff319[_0x6878('0x46')]=[{'all':!![]}];}_0x4ff319=_['merge']({},_0x4ff319,_0x5d236f[_0x6878('0x40')]);return db['VoiceMailMessage'][_0x6878('0x47')](_0x4ff319)['then'](handleEntityNotFound(_0x41d2c6,null))[_0x6878('0x26')](respondWithResult(_0x41d2c6,null))['catch'](handleError(_0x41d2c6,null));};exports[_0x6878('0x48')]=function(_0x2d72f7,_0x159038){return db['VoiceMailMessage'][_0x6878('0x48')](_0x2d72f7['body'],{})[_0x6878('0x26')](respondWithResult(_0x159038,0xc9))[_0x6878('0x43')](handleError(_0x159038,null));};exports[_0x6878('0x49')]=function(_0x20f54e,_0x5533b7){if(_0x20f54e[_0x6878('0x4a')]['id']){delete _0x20f54e[_0x6878('0x4a')]['id'];}return db[_0x6878('0x2a')][_0x6878('0x47')]({'where':{'id':_0x20f54e[_0x6878('0x45')]['id']}})[_0x6878('0x26')](handleEntityNotFound(_0x5533b7,null))['then'](saveUpdates(_0x20f54e[_0x6878('0x4a')],null))[_0x6878('0x26')](respondWithResult(_0x5533b7,null))[_0x6878('0x43')](handleError(_0x5533b7,null));};exports[_0x6878('0x4b')]=function(_0x113455,_0x262882){return db['VoiceMailMessage'][_0x6878('0x47')]({'where':{'id':_0x113455[_0x6878('0x45')]['id']}})['then'](handleEntityNotFound(_0x262882,null))[_0x6878('0x26')](removeEntity(_0x262882,null))[_0x6878('0x43')](handleError(_0x262882,null));};exports[_0x6878('0x4c')]=function(_0x1c15f9,_0x24ef7e,_0x1edebf){return db[_0x6878('0x2a')]['find']({'where':{'id':_0x1c15f9[_0x6878('0x45')]['id']},'attributes':['id',_0x6878('0x4d'),_0x6878('0x4e')]})[_0x6878('0x26')](handleEntityNotFound(_0x24ef7e,null))[_0x6878('0x26')](function(_0x2931b9){if(_0x2931b9){if(!_0x2931b9['recording']){throw new db[(_0x6878('0x4f'))][(_0x6878('0x50'))]('VoiceMailMessage\x20not\x20found');}var _0x326757={'Content-Type':_0x6878('0x51'),'Content-Disposition':_0x6878('0x52')};if(_0x2931b9[_0x6878('0x4e')]){_0x326757[_0x6878('0x53')]=_0x6878('0x54')+_0x2931b9[_0x6878('0x4e')]+_0x6878('0x55');}_0x24ef7e['set'](_0x326757);return _0x24ef7e[_0x6878('0x29')](new Buffer(_0x2931b9['recording']));}})['catch'](handleError(_0x24ef7e,null));};