09ebad0250b28aaf3c782f983ad17b4e42e1e2bf
[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 _0x1eb6=['recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','Content-Disposition','attachment;\x20filename=\x22','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','reject','save','update','then','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','intersection','attributes','fields','length','limit','sort','where','merge','filter','options','includeAll','include','findAll','catch','show','find','create','body','params','destroy','download'];(function(_0x3b085,_0x250543){var _0x476a57=function(_0x480941){while(--_0x480941){_0x3b085['push'](_0x3b085['shift']());}};_0x476a57(++_0x250543);}(_0x1eb6,0x1ee));var _0x61eb=function(_0x3b485f,_0x2d44ff){_0x3b485f=_0x3b485f-0x0;var _0x277d2c=_0x1eb6[_0x3b485f];return _0x277d2c;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x61eb('0x0'));var rimraf=require(_0x61eb('0x1'));var zipdir=require(_0x61eb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x61eb('0x3'));var BPromise=require(_0x61eb('0x4'));var Mustache=require(_0x61eb('0x5'));var util=require(_0x61eb('0x6'));var path=require(_0x61eb('0x7'));var sox=require(_0x61eb('0x8'));var csv=require(_0x61eb('0x9'));var ejs=require(_0x61eb('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x61eb('0xb'));var jsforce=require(_0x61eb('0xc'));var deskjs=require(_0x61eb('0xd'));var toCsv=require(_0x61eb('0x9'));var querystring=require(_0x61eb('0xe'));var Papa=require(_0x61eb('0xf'));var Redis=require(_0x61eb('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x61eb('0x11'));var as=require(_0x61eb('0x12'));var hardwareService=require(_0x61eb('0x13'));var logger=require(_0x61eb('0x14'))('api');var utils=require(_0x61eb('0x15'));var config=require(_0x61eb('0x16'));var licenseUtil=require(_0x61eb('0x17'));var db=require(_0x61eb('0x18'))['db'];function respondWithStatusCode(_0x59e6de,_0x4300bd){_0x4300bd=_0x4300bd||0xcc;return function(_0xa1cae){if(_0xa1cae){return _0x59e6de[_0x61eb('0x19')](_0x4300bd);}return _0x59e6de[_0x61eb('0x1a')](_0x4300bd)[_0x61eb('0x1b')]();};}function respondWithResult(_0x2faef7,_0x35c033){_0x35c033=_0x35c033||0xc8;return function(_0x51a5d7){if(_0x51a5d7){return _0x2faef7[_0x61eb('0x1a')](_0x35c033)[_0x61eb('0x1c')](_0x51a5d7);}};}function respondWithFilteredResult(_0x299ffb,_0x479d7d){return function(_0x48f37a){if(_0x48f37a){var _0x53cb17=_0x48f37a[_0x61eb('0x1d')],_0x3a46e6=_0x479d7d['offset'],_0x4912b0=_0x479d7d[_0x61eb('0x1e')]+_0x479d7d['limit'],_0x21ae32;if(_0x4912b0>=_0x53cb17){_0x4912b0=_0x53cb17;_0x21ae32=0xc8;}else{_0x21ae32=0xce;}_0x299ffb[_0x61eb('0x1a')](_0x21ae32);return _0x299ffb[_0x61eb('0x1f')]('Content-Range',_0x3a46e6+'-'+_0x4912b0+'/'+_0x53cb17)[_0x61eb('0x1c')](_0x48f37a);}return null;};}function patchUpdates(_0xbed28c){return function(_0x50ce26){try{jsonpatch['apply'](_0x50ce26,_0xbed28c,!![]);}catch(_0x3fe729){return BPromise[_0x61eb('0x20')](_0x3fe729);}return _0x50ce26[_0x61eb('0x21')]();};}function saveUpdates(_0x78c825,_0x56f789){return function(_0xd51513){if(_0xd51513){return _0xd51513[_0x61eb('0x22')](_0x78c825)[_0x61eb('0x23')](function(_0x2a1b3f){return _0x2a1b3f;});}return null;};}function removeEntity(_0x423c29,_0x45cc2c){return function(_0x47a642){if(_0x47a642){return _0x47a642['destroy']()[_0x61eb('0x23')](function(){_0x423c29[_0x61eb('0x1a')](0xcc)[_0x61eb('0x1b')]();});}};}function handleEntityNotFound(_0x1b8d44,_0x2424cb){return function(_0x63031c){if(!_0x63031c){_0x1b8d44[_0x61eb('0x19')](0x194);}return _0x63031c;};}function handleError(_0x3351a9,_0x143175){_0x143175=_0x143175||0x1f4;return function(_0x3d353e){logger[_0x61eb('0x24')](_0x3d353e[_0x61eb('0x25')]);if(_0x3d353e[_0x61eb('0x26')]){delete _0x3d353e['name'];}_0x3351a9[_0x61eb('0x1a')](_0x143175)[_0x61eb('0x27')](_0x3d353e);};}exports[_0x61eb('0x28')]=function(_0x4b4e5c,_0x25254c){var _0xabde9b={},_0x44922b={},_0x352f7c={'count':0x0,'rows':[]};var _0x4d9f87=_[_0x61eb('0x29')](db[_0x61eb('0x2a')][_0x61eb('0x2b')],function(_0xfa227){return{'name':_0xfa227[_0x61eb('0x2c')],'type':_0xfa227[_0x61eb('0x2d')][_0x61eb('0x2e')]};});_0x44922b[_0x61eb('0x2f')]=_[_0x61eb('0x30')](_[_0x61eb('0x29')](_0x4d9f87,_0x61eb('0x26')),[_0x61eb('0x26')]);_0x44922b[_0x61eb('0x31')]=_[_0x61eb('0x32')](_0x4b4e5c[_0x61eb('0x31')]);_0x44922b[_0x61eb('0x33')]=_[_0x61eb('0x34')](_0x44922b[_0x61eb('0x2f')],_0x44922b[_0x61eb('0x31')]);_0xabde9b[_0x61eb('0x35')]=_[_0x61eb('0x34')](_0x44922b[_0x61eb('0x2f')],qs[_0x61eb('0x36')](_0x4b4e5c[_0x61eb('0x31')][_0x61eb('0x36')]));_0xabde9b['attributes']=_0xabde9b[_0x61eb('0x35')][_0x61eb('0x37')]?_0xabde9b[_0x61eb('0x35')]:_0x44922b['model'];if(!_0x4b4e5c[_0x61eb('0x31')]['hasOwnProperty']('nolimit')){_0xabde9b['limit']=qs[_0x61eb('0x38')](_0x4b4e5c['query'][_0x61eb('0x38')]);_0xabde9b['offset']=qs[_0x61eb('0x1e')](_0x4b4e5c[_0x61eb('0x31')][_0x61eb('0x1e')]);}_0xabde9b['order']=qs[_0x61eb('0x39')](_0x4b4e5c[_0x61eb('0x31')][_0x61eb('0x39')]);_0xabde9b[_0x61eb('0x3a')]=qs[_0x61eb('0x33')](_['pick'](_0x4b4e5c[_0x61eb('0x31')],_0x44922b[_0x61eb('0x33')]),_0x4d9f87);if(_0x4b4e5c['query']['filter']){_0xabde9b[_0x61eb('0x3a')]=_[_0x61eb('0x3b')](_0xabde9b[_0x61eb('0x3a')],{'$or':_[_0x61eb('0x29')](_0x4d9f87,function(_0x2dac2d){if(_0x2dac2d[_0x61eb('0x2d')]!=='VIRTUAL'){var _0x5547f6={};_0x5547f6[_0x2dac2d['name']]={'$like':'%'+_0x4b4e5c[_0x61eb('0x31')][_0x61eb('0x3c')]+'%'};return _0x5547f6;}})});}_0xabde9b=_['merge']({},_0xabde9b,_0x4b4e5c[_0x61eb('0x3d')]);var _0x19383b={'where':_0xabde9b['where']};return db[_0x61eb('0x2a')][_0x61eb('0x1d')](_0x19383b)['then'](function(_0x1281b4){_0x352f7c[_0x61eb('0x1d')]=_0x1281b4;if(_0x4b4e5c['query'][_0x61eb('0x3e')]){_0xabde9b[_0x61eb('0x3f')]=[{'all':!![]}];}return db[_0x61eb('0x2a')][_0x61eb('0x40')](_0xabde9b);})[_0x61eb('0x23')](function(_0x22535e){_0x352f7c['rows']=_0x22535e;return _0x352f7c;})[_0x61eb('0x23')](respondWithFilteredResult(_0x25254c,_0xabde9b))[_0x61eb('0x41')](handleError(_0x25254c,null));};exports[_0x61eb('0x42')]=function(_0x36fdb0,_0x11364f){var _0x28bb4d={'raw':!![],'where':{'id':_0x36fdb0['params']['id']}},_0x4fb5c0={};_0x4fb5c0['model']=_[_0x61eb('0x32')](db[_0x61eb('0x2a')][_0x61eb('0x2b')]);_0x4fb5c0[_0x61eb('0x31')]=_['keys'](_0x36fdb0[_0x61eb('0x31')]);_0x4fb5c0[_0x61eb('0x33')]=_[_0x61eb('0x34')](_0x4fb5c0[_0x61eb('0x2f')],_0x4fb5c0['query']);_0x28bb4d[_0x61eb('0x35')]=_['intersection'](_0x4fb5c0[_0x61eb('0x2f')],qs[_0x61eb('0x36')](_0x36fdb0['query'][_0x61eb('0x36')]));_0x28bb4d[_0x61eb('0x35')]=_0x28bb4d[_0x61eb('0x35')][_0x61eb('0x37')]?_0x28bb4d[_0x61eb('0x35')]:_0x4fb5c0['model'];if(_0x36fdb0[_0x61eb('0x31')][_0x61eb('0x3e')]){_0x28bb4d['include']=[{'all':!![]}];}_0x28bb4d=_[_0x61eb('0x3b')]({},_0x28bb4d,_0x36fdb0[_0x61eb('0x3d')]);return db[_0x61eb('0x2a')][_0x61eb('0x43')](_0x28bb4d)[_0x61eb('0x23')](handleEntityNotFound(_0x11364f,null))[_0x61eb('0x23')](respondWithResult(_0x11364f,null))[_0x61eb('0x41')](handleError(_0x11364f,null));};exports[_0x61eb('0x44')]=function(_0x74387,_0x1be170){return db['VoiceMailMessage'][_0x61eb('0x44')](_0x74387[_0x61eb('0x45')],{})[_0x61eb('0x23')](respondWithResult(_0x1be170,0xc9))['catch'](handleError(_0x1be170,null));};exports[_0x61eb('0x22')]=function(_0x42ad1d,_0x2ce961){if(_0x42ad1d[_0x61eb('0x45')]['id']){delete _0x42ad1d['body']['id'];}return db[_0x61eb('0x2a')][_0x61eb('0x43')]({'where':{'id':_0x42ad1d[_0x61eb('0x46')]['id']}})['then'](handleEntityNotFound(_0x2ce961,null))['then'](saveUpdates(_0x42ad1d[_0x61eb('0x45')],null))['then'](respondWithResult(_0x2ce961,null))[_0x61eb('0x41')](handleError(_0x2ce961,null));};exports[_0x61eb('0x47')]=function(_0x16a2d2,_0x535d82){return db['VoiceMailMessage'][_0x61eb('0x43')]({'where':{'id':_0x16a2d2[_0x61eb('0x46')]['id']}})[_0x61eb('0x23')](handleEntityNotFound(_0x535d82,null))['then'](removeEntity(_0x535d82,null))[_0x61eb('0x41')](handleError(_0x535d82,null));};exports[_0x61eb('0x48')]=function(_0x48395d,_0x42a064,_0x7cc676){return db[_0x61eb('0x2a')][_0x61eb('0x43')]({'where':{'id':_0x48395d[_0x61eb('0x46')]['id']},'attributes':['id',_0x61eb('0x49'),_0x61eb('0x4a')]})[_0x61eb('0x23')](handleEntityNotFound(_0x42a064,null))[_0x61eb('0x23')](function(_0x35036e){if(_0x35036e){if(!_0x35036e[_0x61eb('0x49')]){throw new db[(_0x61eb('0x4b'))][(_0x61eb('0x4c'))](_0x61eb('0x4d'));}var _0x376b94={'Content-Type':_0x61eb('0x4e'),'Content-Disposition':'attachment'};if(_0x35036e[_0x61eb('0x4a')]){_0x376b94[_0x61eb('0x4f')]=_0x61eb('0x50')+_0x35036e[_0x61eb('0x4a')]+'.wav\x22';}_0x42a064[_0x61eb('0x1f')](_0x376b94);return _0x42a064[_0x61eb('0x27')](new Buffer(_0x35036e[_0x61eb('0x49')]));}})[_0x61eb('0x41')](handleError(_0x42a064,null));};