15e65a0ca271d1ffb70fe7eaf531f8c07301d2bf
[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 _0x7ad8=['keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','catch','show','params','find','create','body','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','attachment;\x20filename=\x22','set','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','sendStatus','status','json','limit','count','offset','apply','reject','save','update','then','end','error','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','key','differenceBy','query'];(function(_0x2112d4,_0x3c863c){var _0x434972=function(_0x477020){while(--_0x477020){_0x2112d4['push'](_0x2112d4['shift']());}};_0x434972(++_0x3c863c);}(_0x7ad8,0x1ab));var _0x87ad=function(_0x57643b,_0x1706fe){_0x57643b=_0x57643b-0x0;var _0x53a35b=_0x7ad8[_0x57643b];return _0x53a35b;};'use strict';var emlformat=require(_0x87ad('0x0'));var rimraf=require(_0x87ad('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x87ad('0x2'));var rp=require(_0x87ad('0x3'));var moment=require(_0x87ad('0x4'));var BPromise=require(_0x87ad('0x5'));var Mustache=require(_0x87ad('0x6'));var util=require('util');var path=require(_0x87ad('0x7'));var sox=require(_0x87ad('0x8'));var csv=require(_0x87ad('0x9'));var ejs=require(_0x87ad('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x87ad('0xb'));var crypto=require(_0x87ad('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x87ad('0xd'));var toCsv=require(_0x87ad('0x9'));var querystring=require(_0x87ad('0xe'));var Papa=require(_0x87ad('0xf'));var Redis=require(_0x87ad('0x10'));var authService=require(_0x87ad('0x11'));var qs=require(_0x87ad('0x12'));var as=require(_0x87ad('0x13'));var hardwareService=require(_0x87ad('0x14'));var logger=require('../../config/logger')(_0x87ad('0x15'));var utils=require('../../config/utils');var config=require(_0x87ad('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2ebf66,_0x2d171a){_0x2d171a=_0x2d171a||0xcc;return function(_0x39a576){if(_0x39a576){return _0x2ebf66[_0x87ad('0x17')](_0x2d171a);}return _0x2ebf66[_0x87ad('0x18')](_0x2d171a)['end']();};}function respondWithResult(_0x3cc26b,_0x350884){_0x350884=_0x350884||0xc8;return function(_0x517694){if(_0x517694){return _0x3cc26b['status'](_0x350884)[_0x87ad('0x19')](_0x517694);}};}function respondWithFilteredResult(_0x312dfa,_0x11dd16){return function(_0x18233b){if(_0x18233b){var _0x37bd76=typeof _0x11dd16['offset']==='undefined'&&typeof _0x11dd16[_0x87ad('0x1a')]==='undefined';var _0xf36dde=_0x18233b[_0x87ad('0x1b')];var _0xb8bb17=_0x37bd76?0x0:_0x11dd16['offset'];var _0x2a5afc=_0x37bd76?_0x18233b[_0x87ad('0x1b')]:_0x11dd16[_0x87ad('0x1c')]+_0x11dd16[_0x87ad('0x1a')];var _0x5a23c8;if(_0x2a5afc>=_0xf36dde){_0x2a5afc=_0xf36dde;_0x5a23c8=0xc8;}else{_0x5a23c8=0xce;}_0x312dfa[_0x87ad('0x18')](_0x5a23c8);return _0x312dfa['set']('Content-Range',_0xb8bb17+'-'+_0x2a5afc+'/'+_0xf36dde)['json'](_0x18233b);}return null;};}function patchUpdates(_0x1f4cc8){return function(_0x3d9cc7){try{jsonpatch[_0x87ad('0x1d')](_0x3d9cc7,_0x1f4cc8,!![]);}catch(_0xd97e30){return BPromise[_0x87ad('0x1e')](_0xd97e30);}return _0x3d9cc7[_0x87ad('0x1f')]();};}function saveUpdates(_0x3590ed,_0x5ee928){return function(_0x1c9fcd){if(_0x1c9fcd){return _0x1c9fcd[_0x87ad('0x20')](_0x3590ed)[_0x87ad('0x21')](function(_0x3c5f4d){return _0x3c5f4d;});}return null;};}function removeEntity(_0x5dbb65,_0x1d2ed7){return function(_0x3736dc){if(_0x3736dc){return _0x3736dc['destroy']()['then'](function(){_0x5dbb65['status'](0xcc)[_0x87ad('0x22')]();});}};}function handleEntityNotFound(_0x30ff4b,_0x1b9907){return function(_0x24b4ef){if(!_0x24b4ef){_0x30ff4b[_0x87ad('0x17')](0x194);}return _0x24b4ef;};}function handleError(_0x4837bf,_0x2c7a49){_0x2c7a49=_0x2c7a49||0x1f4;return function(_0x36aa72){logger[_0x87ad('0x23')](_0x36aa72['stack']);if(_0x36aa72['name']){delete _0x36aa72[_0x87ad('0x24')];}_0x4837bf[_0x87ad('0x18')](_0x2c7a49)[_0x87ad('0x25')](_0x36aa72);};}exports[_0x87ad('0x26')]=function(_0x4110ff,_0x8d7c89){var _0x317b1e={},_0x31e1d2={},_0x1eb2c3={'count':0x0,'rows':[]};var _0x55e26e=_[_0x87ad('0x27')](db[_0x87ad('0x28')][_0x87ad('0x29')],function(_0x4527e4){return{'name':_0x4527e4[_0x87ad('0x2a')],'type':_0x4527e4[_0x87ad('0x2b')][_0x87ad('0x2c')]};});_0x31e1d2['model']=_[_0x87ad('0x2d')](_[_0x87ad('0x27')](_0x55e26e,_0x87ad('0x24')),[_0x87ad('0x24')]);_0x31e1d2[_0x87ad('0x2e')]=_[_0x87ad('0x2f')](_0x4110ff[_0x87ad('0x2e')]);_0x31e1d2[_0x87ad('0x30')]=_[_0x87ad('0x31')](_0x31e1d2[_0x87ad('0x32')],_0x31e1d2[_0x87ad('0x2e')]);_0x317b1e[_0x87ad('0x33')]=_[_0x87ad('0x31')](_0x31e1d2[_0x87ad('0x32')],qs[_0x87ad('0x34')](_0x4110ff[_0x87ad('0x2e')][_0x87ad('0x34')]));_0x317b1e[_0x87ad('0x33')]=_0x317b1e['attributes'][_0x87ad('0x35')]?_0x317b1e[_0x87ad('0x33')]:_0x31e1d2[_0x87ad('0x32')];if(!_0x4110ff[_0x87ad('0x2e')][_0x87ad('0x36')](_0x87ad('0x37'))){_0x317b1e[_0x87ad('0x1a')]=qs[_0x87ad('0x1a')](_0x4110ff[_0x87ad('0x2e')]['limit']);_0x317b1e['offset']=qs[_0x87ad('0x1c')](_0x4110ff['query'][_0x87ad('0x1c')]);}_0x317b1e[_0x87ad('0x38')]=qs[_0x87ad('0x39')](_0x4110ff[_0x87ad('0x2e')][_0x87ad('0x39')]);_0x317b1e[_0x87ad('0x3a')]=qs[_0x87ad('0x30')](_['pick'](_0x4110ff[_0x87ad('0x2e')],_0x31e1d2[_0x87ad('0x30')]),_0x55e26e);if(_0x4110ff[_0x87ad('0x2e')][_0x87ad('0x3b')]){_0x317b1e[_0x87ad('0x3a')]=_[_0x87ad('0x3c')](_0x317b1e['where'],{'$or':_[_0x87ad('0x27')](_0x55e26e,function(_0x49eaac){if(_0x49eaac[_0x87ad('0x2b')]!=='VIRTUAL'){var _0x1d1487={};_0x1d1487[_0x49eaac[_0x87ad('0x24')]]={'$like':'%'+_0x4110ff[_0x87ad('0x2e')]['filter']+'%'};return _0x1d1487;}})});}_0x317b1e=_[_0x87ad('0x3c')]({},_0x317b1e,_0x4110ff[_0x87ad('0x3d')]);var _0x15309b={'where':_0x317b1e[_0x87ad('0x3a')]};return db[_0x87ad('0x28')][_0x87ad('0x1b')](_0x15309b)['then'](function(_0x8ab2b8){_0x1eb2c3[_0x87ad('0x1b')]=_0x8ab2b8;if(_0x4110ff['query'][_0x87ad('0x3e')]){_0x317b1e[_0x87ad('0x3f')]=[{'all':!![]}];}return db['VoiceMailMessage']['findAll'](_0x317b1e);})['then'](function(_0x184b94){_0x1eb2c3['rows']=_0x184b94;return _0x1eb2c3;})[_0x87ad('0x21')](respondWithFilteredResult(_0x8d7c89,_0x317b1e))[_0x87ad('0x40')](handleError(_0x8d7c89,null));};exports[_0x87ad('0x41')]=function(_0x429c9b,_0x472e5b){var _0x3839b4={'raw':!![],'where':{'id':_0x429c9b[_0x87ad('0x42')]['id']}},_0x3753e8={};_0x3753e8[_0x87ad('0x32')]=_[_0x87ad('0x2f')](db['VoiceMailMessage'][_0x87ad('0x29')]);_0x3753e8[_0x87ad('0x2e')]=_['keys'](_0x429c9b[_0x87ad('0x2e')]);_0x3753e8[_0x87ad('0x30')]=_[_0x87ad('0x31')](_0x3753e8[_0x87ad('0x32')],_0x3753e8[_0x87ad('0x2e')]);_0x3839b4[_0x87ad('0x33')]=_['intersection'](_0x3753e8[_0x87ad('0x32')],qs[_0x87ad('0x34')](_0x429c9b[_0x87ad('0x2e')][_0x87ad('0x34')]));_0x3839b4['attributes']=_0x3839b4[_0x87ad('0x33')][_0x87ad('0x35')]?_0x3839b4[_0x87ad('0x33')]:_0x3753e8[_0x87ad('0x32')];if(_0x429c9b[_0x87ad('0x2e')]['includeAll']){_0x3839b4[_0x87ad('0x3f')]=[{'all':!![]}];}_0x3839b4=_['merge']({},_0x3839b4,_0x429c9b['options']);return db[_0x87ad('0x28')][_0x87ad('0x43')](_0x3839b4)['then'](handleEntityNotFound(_0x472e5b,null))[_0x87ad('0x21')](respondWithResult(_0x472e5b,null))['catch'](handleError(_0x472e5b,null));};exports['create']=function(_0x58a93c,_0xd83a84){return db[_0x87ad('0x28')][_0x87ad('0x44')](_0x58a93c[_0x87ad('0x45')],{})[_0x87ad('0x21')](respondWithResult(_0xd83a84,0xc9))['catch'](handleError(_0xd83a84,null));};exports['update']=function(_0x3e1a3f,_0x53a69c){if(_0x3e1a3f[_0x87ad('0x45')]['id']){delete _0x3e1a3f[_0x87ad('0x45')]['id'];}return db[_0x87ad('0x28')][_0x87ad('0x43')]({'where':{'id':_0x3e1a3f[_0x87ad('0x42')]['id']}})[_0x87ad('0x21')](handleEntityNotFound(_0x53a69c,null))['then'](saveUpdates(_0x3e1a3f['body'],null))[_0x87ad('0x21')](respondWithResult(_0x53a69c,null))[_0x87ad('0x40')](handleError(_0x53a69c,null));};exports['destroy']=function(_0x582c8b,_0x46b9a5){return db[_0x87ad('0x28')][_0x87ad('0x43')]({'where':{'id':_0x582c8b[_0x87ad('0x42')]['id']}})[_0x87ad('0x21')](handleEntityNotFound(_0x46b9a5,null))[_0x87ad('0x21')](removeEntity(_0x46b9a5,null))[_0x87ad('0x40')](handleError(_0x46b9a5,null));};exports['download']=function(_0x2d55a1,_0x4f0bbb,_0x4711bb){return db[_0x87ad('0x28')][_0x87ad('0x43')]({'where':{'id':_0x2d55a1[_0x87ad('0x42')]['id']},'attributes':['id',_0x87ad('0x46'),_0x87ad('0x47')]})['then'](handleEntityNotFound(_0x4f0bbb,null))['then'](function(_0x370734){if(_0x370734){if(!_0x370734[_0x87ad('0x46')]){throw new db[(_0x87ad('0x48'))][(_0x87ad('0x49'))](_0x87ad('0x4a'));}var _0xd852b3={'Content-Type':_0x87ad('0x4b'),'Content-Disposition':_0x87ad('0x4c')};if(_0x370734['msg_id']){_0xd852b3['Content-Disposition']=_0x87ad('0x4d')+_0x370734[_0x87ad('0x47')]+'.wav\x22';}_0x4f0bbb[_0x87ad('0x4e')](_0xd852b3);return _0x4f0bbb[_0x87ad('0x25')](new Buffer(_0x370734['recording']));}})[_0x87ad('0x40')](handleError(_0x4f0bbb,null));};