6c171e964193599afa558dabaf2708e0fbe6ad28
[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 _0xc5f3=['../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','apply','reject','save','destroy','then','error','stack','name','send','rawAttributes','type','key','model','differenceBy','map','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','VoiceMailMessage','includeAll','include','params','options','find','catch','create','body','download','recording','Sequelize','ValidationError','audio/wav','attachment','msg_id','Content-Disposition','set','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x2633ed,_0x25b89e){var _0x3aa2be=function(_0x12b885){while(--_0x12b885){_0x2633ed['push'](_0x2633ed['shift']());}};_0x3aa2be(++_0x25b89e);}(_0xc5f3,0x8d));var _0x3c5f=function(_0x4f6262,_0x57c45e){_0x4f6262=_0x4f6262-0x0;var _0x539458=_0xc5f3[_0x4f6262];return _0x539458;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3c5f('0x0'));var zipdir=require(_0x3c5f('0x1'));var jsonpatch=require(_0x3c5f('0x2'));var rp=require(_0x3c5f('0x3'));var moment=require(_0x3c5f('0x4'));var BPromise=require(_0x3c5f('0x5'));var Mustache=require('mustache');var util=require(_0x3c5f('0x6'));var path=require(_0x3c5f('0x7'));var sox=require(_0x3c5f('0x8'));var csv=require(_0x3c5f('0x9'));var ejs=require(_0x3c5f('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x3c5f('0xb'));var crypto=require('crypto');var jsforce=require(_0x3c5f('0xc'));var deskjs=require(_0x3c5f('0xd'));var toCsv=require(_0x3c5f('0x9'));var querystring=require(_0x3c5f('0xe'));var Papa=require(_0x3c5f('0xf'));var Redis=require(_0x3c5f('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x3c5f('0x11'));var as=require(_0x3c5f('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3c5f('0x13'))('api');var utils=require(_0x3c5f('0x14'));var config=require(_0x3c5f('0x15'));var licenseUtil=require(_0x3c5f('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x412349,_0x52557a){_0x52557a=_0x52557a||0xcc;return function(_0x26de1a){if(_0x26de1a){return _0x412349[_0x3c5f('0x17')](_0x52557a);}return _0x412349['status'](_0x52557a)[_0x3c5f('0x18')]();};}function respondWithResult(_0x1f3242,_0x49a547){_0x49a547=_0x49a547||0xc8;return function(_0x23abbd){if(_0x23abbd){return _0x1f3242[_0x3c5f('0x19')](_0x49a547)[_0x3c5f('0x1a')](_0x23abbd);}};}function respondWithFilteredResult(_0x5e5120,_0x45b74e){return function(_0x4aca40){if(_0x4aca40){var _0xf1b4f0=typeof _0x45b74e[_0x3c5f('0x1b')]===_0x3c5f('0x1c')&&typeof _0x45b74e[_0x3c5f('0x1d')]===_0x3c5f('0x1c');var _0x3593a4=_0x4aca40[_0x3c5f('0x1e')];var _0x5680e0=_0xf1b4f0?0x0:_0x45b74e['offset'];var _0x34d833=_0xf1b4f0?_0x4aca40[_0x3c5f('0x1e')]:_0x45b74e['offset']+_0x45b74e[_0x3c5f('0x1d')];var _0x387762;if(_0x34d833>=_0x3593a4){_0x34d833=_0x3593a4;_0x387762=0xc8;}else{_0x387762=0xce;}_0x5e5120[_0x3c5f('0x19')](_0x387762);return _0x5e5120['set'](_0x3c5f('0x1f'),_0x5680e0+'-'+_0x34d833+'/'+_0x3593a4)['json'](_0x4aca40);}return null;};}function patchUpdates(_0x9ce125){return function(_0x529f2e){try{jsonpatch[_0x3c5f('0x20')](_0x529f2e,_0x9ce125,!![]);}catch(_0x122a36){return BPromise[_0x3c5f('0x21')](_0x122a36);}return _0x529f2e[_0x3c5f('0x22')]();};}function saveUpdates(_0x1c8904,_0x3e9ef1){return function(_0x338918){if(_0x338918){return _0x338918['update'](_0x1c8904)['then'](function(_0x3c000f){return _0x3c000f;});}return null;};}function removeEntity(_0x7c6d49,_0x1a55af){return function(_0x217c6f){if(_0x217c6f){return _0x217c6f[_0x3c5f('0x23')]()[_0x3c5f('0x24')](function(){_0x7c6d49[_0x3c5f('0x19')](0xcc)[_0x3c5f('0x18')]();});}};}function handleEntityNotFound(_0x26a8e3,_0x3399d6){return function(_0x3bde4f){if(!_0x3bde4f){_0x26a8e3['sendStatus'](0x194);}return _0x3bde4f;};}function handleError(_0x1fe23e,_0x33bd34){_0x33bd34=_0x33bd34||0x1f4;return function(_0x3651bc){logger[_0x3c5f('0x25')](_0x3651bc[_0x3c5f('0x26')]);if(_0x3651bc['name']){delete _0x3651bc[_0x3c5f('0x27')];}_0x1fe23e['status'](_0x33bd34)[_0x3c5f('0x28')](_0x3651bc);};}exports['index']=function(_0x102afc,_0x52aeb5){var _0x5ad110={},_0x80a120={},_0x5c83cd={'count':0x0,'rows':[]};var _0x33eee6=_['map'](db['VoiceMailMessage'][_0x3c5f('0x29')],function(_0x23ee99){return{'name':_0x23ee99['fieldName'],'type':_0x23ee99[_0x3c5f('0x2a')][_0x3c5f('0x2b')]};});_0x80a120[_0x3c5f('0x2c')]=_[_0x3c5f('0x2d')](_[_0x3c5f('0x2e')](_0x33eee6,_0x3c5f('0x27')),[_0x3c5f('0x27')]);_0x80a120[_0x3c5f('0x2f')]=_[_0x3c5f('0x30')](_0x102afc[_0x3c5f('0x2f')]);_0x80a120[_0x3c5f('0x31')]=_['intersection'](_0x80a120[_0x3c5f('0x2c')],_0x80a120['query']);_0x5ad110[_0x3c5f('0x32')]=_[_0x3c5f('0x33')](_0x80a120['model'],qs[_0x3c5f('0x34')](_0x102afc[_0x3c5f('0x2f')][_0x3c5f('0x34')]));_0x5ad110[_0x3c5f('0x32')]=_0x5ad110[_0x3c5f('0x32')][_0x3c5f('0x35')]?_0x5ad110[_0x3c5f('0x32')]:_0x80a120[_0x3c5f('0x2c')];if(!_0x102afc['query']['hasOwnProperty'](_0x3c5f('0x36'))){_0x5ad110['limit']=qs['limit'](_0x102afc['query'][_0x3c5f('0x1d')]);_0x5ad110[_0x3c5f('0x1b')]=qs[_0x3c5f('0x1b')](_0x102afc[_0x3c5f('0x2f')][_0x3c5f('0x1b')]);}_0x5ad110[_0x3c5f('0x37')]=qs['sort'](_0x102afc['query'][_0x3c5f('0x38')]);_0x5ad110[_0x3c5f('0x39')]=qs[_0x3c5f('0x31')](_[_0x3c5f('0x3a')](_0x102afc[_0x3c5f('0x2f')],_0x80a120['filters']),_0x33eee6);if(_0x102afc[_0x3c5f('0x2f')][_0x3c5f('0x3b')]){_0x5ad110['where']=_['merge'](_0x5ad110[_0x3c5f('0x39')],{'$or':_[_0x3c5f('0x2e')](_0x33eee6,function(_0x77dd4b){if(_0x77dd4b['type']!==_0x3c5f('0x3c')){var _0x52ddc8={};_0x52ddc8[_0x77dd4b['name']]={'$like':'%'+_0x102afc['query'][_0x3c5f('0x3b')]+'%'};return _0x52ddc8;}})});}_0x5ad110=_[_0x3c5f('0x3d')]({},_0x5ad110,_0x102afc['options']);var _0x4d6103={'where':_0x5ad110[_0x3c5f('0x39')]};return db[_0x3c5f('0x3e')][_0x3c5f('0x1e')](_0x4d6103)[_0x3c5f('0x24')](function(_0x6cbffa){_0x5c83cd[_0x3c5f('0x1e')]=_0x6cbffa;if(_0x102afc['query'][_0x3c5f('0x3f')]){_0x5ad110[_0x3c5f('0x40')]=[{'all':!![]}];}return db['VoiceMailMessage']['findAll'](_0x5ad110);})[_0x3c5f('0x24')](function(_0x708657){_0x5c83cd['rows']=_0x708657;return _0x5c83cd;})[_0x3c5f('0x24')](respondWithFilteredResult(_0x52aeb5,_0x5ad110))['catch'](handleError(_0x52aeb5,null));};exports['show']=function(_0x4e686b,_0x4e248f){var _0x5165ab={'raw':!![],'where':{'id':_0x4e686b[_0x3c5f('0x41')]['id']}},_0x361e79={};_0x361e79[_0x3c5f('0x2c')]=_[_0x3c5f('0x30')](db['VoiceMailMessage'][_0x3c5f('0x29')]);_0x361e79[_0x3c5f('0x2f')]=_['keys'](_0x4e686b[_0x3c5f('0x2f')]);_0x361e79[_0x3c5f('0x31')]=_['intersection'](_0x361e79['model'],_0x361e79[_0x3c5f('0x2f')]);_0x5165ab[_0x3c5f('0x32')]=_[_0x3c5f('0x33')](_0x361e79[_0x3c5f('0x2c')],qs[_0x3c5f('0x34')](_0x4e686b[_0x3c5f('0x2f')]['fields']));_0x5165ab[_0x3c5f('0x32')]=_0x5165ab[_0x3c5f('0x32')][_0x3c5f('0x35')]?_0x5165ab[_0x3c5f('0x32')]:_0x361e79['model'];if(_0x4e686b[_0x3c5f('0x2f')]['includeAll']){_0x5165ab[_0x3c5f('0x40')]=[{'all':!![]}];}_0x5165ab=_[_0x3c5f('0x3d')]({},_0x5165ab,_0x4e686b[_0x3c5f('0x42')]);return db[_0x3c5f('0x3e')][_0x3c5f('0x43')](_0x5165ab)[_0x3c5f('0x24')](handleEntityNotFound(_0x4e248f,null))['then'](respondWithResult(_0x4e248f,null))[_0x3c5f('0x44')](handleError(_0x4e248f,null));};exports[_0x3c5f('0x45')]=function(_0x4b716d,_0x1f58ad){return db[_0x3c5f('0x3e')][_0x3c5f('0x45')](_0x4b716d[_0x3c5f('0x46')],{})[_0x3c5f('0x24')](respondWithResult(_0x1f58ad,0xc9))['catch'](handleError(_0x1f58ad,null));};exports['update']=function(_0x37fc6a,_0x4f0ecc){if(_0x37fc6a[_0x3c5f('0x46')]['id']){delete _0x37fc6a[_0x3c5f('0x46')]['id'];}return db[_0x3c5f('0x3e')][_0x3c5f('0x43')]({'where':{'id':_0x37fc6a[_0x3c5f('0x41')]['id']}})[_0x3c5f('0x24')](handleEntityNotFound(_0x4f0ecc,null))[_0x3c5f('0x24')](saveUpdates(_0x37fc6a[_0x3c5f('0x46')],null))[_0x3c5f('0x24')](respondWithResult(_0x4f0ecc,null))[_0x3c5f('0x44')](handleError(_0x4f0ecc,null));};exports[_0x3c5f('0x23')]=function(_0x10712d,_0x48ca64){return db['VoiceMailMessage'][_0x3c5f('0x43')]({'where':{'id':_0x10712d[_0x3c5f('0x41')]['id']}})['then'](handleEntityNotFound(_0x48ca64,null))[_0x3c5f('0x24')](removeEntity(_0x48ca64,null))['catch'](handleError(_0x48ca64,null));};exports[_0x3c5f('0x47')]=function(_0x159a13,_0x495634,_0x482932){return db[_0x3c5f('0x3e')][_0x3c5f('0x43')]({'where':{'id':_0x159a13[_0x3c5f('0x41')]['id']},'attributes':['id',_0x3c5f('0x48'),'msg_id']})[_0x3c5f('0x24')](handleEntityNotFound(_0x495634,null))[_0x3c5f('0x24')](function(_0x4a5818){if(_0x4a5818){if(!_0x4a5818[_0x3c5f('0x48')]){throw new db[(_0x3c5f('0x49'))][(_0x3c5f('0x4a'))]('VoiceMailMessage\x20not\x20found');}var _0x268e12={'Content-Type':_0x3c5f('0x4b'),'Content-Disposition':_0x3c5f('0x4c')};if(_0x4a5818[_0x3c5f('0x4d')]){_0x268e12[_0x3c5f('0x4e')]='attachment;\x20filename=\x22'+_0x4a5818['msg_id']+'.wav\x22';}_0x495634[_0x3c5f('0x4f')](_0x268e12);return _0x495634[_0x3c5f('0x28')](new Buffer(_0x4a5818['recording']));}})[_0x3c5f('0x44')](handleError(_0x495634,null));};