2bedf73a6d6dc3c79c23740bc1859cc3a50580f5
[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 _0xe274=['findAll','show','params','rawAttributes','catch','create','body','find','download','msg_id','recording','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment;\x20filename=\x22','.wav\x22','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','fs-extra','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','save','update','then','destroy','error','name','send','index','map','VoiceMailMessage','type','model','differenceBy','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','options','where','includeAll','include'];(function(_0x4759d3,_0x45463f){var _0xe313a0=function(_0x2da085){while(--_0x2da085){_0x4759d3['push'](_0x4759d3['shift']());}};_0xe313a0(++_0x45463f);}(_0xe274,0xb1));var _0x4e27=function(_0x58faae,_0x567990){_0x58faae=_0x58faae-0x0;var _0x51f45c=_0xe274[_0x58faae];return _0x51f45c;};'use strict';var emlformat=require(_0x4e27('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x4e27('0x1'));var jsonpatch=require(_0x4e27('0x2'));var rp=require(_0x4e27('0x3'));var moment=require('moment');var BPromise=require(_0x4e27('0x4'));var Mustache=require(_0x4e27('0x5'));var util=require(_0x4e27('0x6'));var path=require('path');var sox=require(_0x4e27('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4e27('0x8'));var _=require('lodash');var squel=require(_0x4e27('0x9'));var crypto=require(_0x4e27('0xa'));var jsforce=require(_0x4e27('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x4e27('0xc'));var querystring=require(_0x4e27('0xd'));var Papa=require('papaparse');var Redis=require(_0x4e27('0xe'));var authService=require(_0x4e27('0xf'));var qs=require(_0x4e27('0x10'));var as=require(_0x4e27('0x11'));var hardwareService=require(_0x4e27('0x12'));var logger=require(_0x4e27('0x13'))('api');var utils=require(_0x4e27('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x4e27('0x15'));var db=require(_0x4e27('0x16'))['db'];function respondWithStatusCode(_0x185a0d,_0x47f987){_0x47f987=_0x47f987||0xcc;return function(_0x48883c){if(_0x48883c){return _0x185a0d[_0x4e27('0x17')](_0x47f987);}return _0x185a0d[_0x4e27('0x18')](_0x47f987)[_0x4e27('0x19')]();};}function respondWithResult(_0x3707b7,_0x65573a){_0x65573a=_0x65573a||0xc8;return function(_0x41c809){if(_0x41c809){return _0x3707b7[_0x4e27('0x18')](_0x65573a)[_0x4e27('0x1a')](_0x41c809);}};}function respondWithFilteredResult(_0x27a4fd,_0x4efda0){return function(_0x41ee95){if(_0x41ee95){var _0x1c8aec=typeof _0x4efda0[_0x4e27('0x1b')]==='undefined'&&typeof _0x4efda0[_0x4e27('0x1c')]===_0x4e27('0x1d');var _0x3b1cde=_0x41ee95[_0x4e27('0x1e')];var _0x166b01=_0x1c8aec?0x0:_0x4efda0[_0x4e27('0x1b')];var _0x37828f=_0x1c8aec?_0x41ee95['count']:_0x4efda0[_0x4e27('0x1b')]+_0x4efda0[_0x4e27('0x1c')];var _0x13247c;if(_0x37828f>=_0x3b1cde){_0x37828f=_0x3b1cde;_0x13247c=0xc8;}else{_0x13247c=0xce;}_0x27a4fd['status'](_0x13247c);return _0x27a4fd[_0x4e27('0x1f')](_0x4e27('0x20'),_0x166b01+'-'+_0x37828f+'/'+_0x3b1cde)[_0x4e27('0x1a')](_0x41ee95);}return null;};}function patchUpdates(_0x1adf38){return function(_0x19b8f9){try{jsonpatch['apply'](_0x19b8f9,_0x1adf38,!![]);}catch(_0x13dbdb){return BPromise['reject'](_0x13dbdb);}return _0x19b8f9[_0x4e27('0x21')]();};}function saveUpdates(_0x45cde3,_0x46ea94){return function(_0x758c32){if(_0x758c32){return _0x758c32[_0x4e27('0x22')](_0x45cde3)[_0x4e27('0x23')](function(_0x49c18f){return _0x49c18f;});}return null;};}function removeEntity(_0x187a10,_0x433833){return function(_0x5b5aa0){if(_0x5b5aa0){return _0x5b5aa0[_0x4e27('0x24')]()[_0x4e27('0x23')](function(){_0x187a10[_0x4e27('0x18')](0xcc)[_0x4e27('0x19')]();});}};}function handleEntityNotFound(_0x28db2e,_0x3be255){return function(_0x485515){if(!_0x485515){_0x28db2e[_0x4e27('0x17')](0x194);}return _0x485515;};}function handleError(_0x149c06,_0x3f127e){_0x3f127e=_0x3f127e||0x1f4;return function(_0x4da28d){logger[_0x4e27('0x25')](_0x4da28d['stack']);if(_0x4da28d[_0x4e27('0x26')]){delete _0x4da28d['name'];}_0x149c06[_0x4e27('0x18')](_0x3f127e)[_0x4e27('0x27')](_0x4da28d);};}exports[_0x4e27('0x28')]=function(_0x228631,_0x4d733e){var _0x2d4bb5={},_0xbedc5f={},_0x20ad22={'count':0x0,'rows':[]};var _0x3c5811=_[_0x4e27('0x29')](db[_0x4e27('0x2a')]['rawAttributes'],function(_0x3c2806){return{'name':_0x3c2806['fieldName'],'type':_0x3c2806[_0x4e27('0x2b')]['key']};});_0xbedc5f[_0x4e27('0x2c')]=_[_0x4e27('0x2d')](_['map'](_0x3c5811,'name'),[_0x4e27('0x26')]);_0xbedc5f[_0x4e27('0x2e')]=_[_0x4e27('0x2f')](_0x228631[_0x4e27('0x2e')]);_0xbedc5f['filters']=_[_0x4e27('0x30')](_0xbedc5f[_0x4e27('0x2c')],_0xbedc5f[_0x4e27('0x2e')]);_0x2d4bb5[_0x4e27('0x31')]=_[_0x4e27('0x30')](_0xbedc5f['model'],qs[_0x4e27('0x32')](_0x228631[_0x4e27('0x2e')]['fields']));_0x2d4bb5['attributes']=_0x2d4bb5['attributes']['length']?_0x2d4bb5['attributes']:_0xbedc5f[_0x4e27('0x2c')];if(!_0x228631[_0x4e27('0x2e')][_0x4e27('0x33')](_0x4e27('0x34'))){_0x2d4bb5[_0x4e27('0x1c')]=qs['limit'](_0x228631[_0x4e27('0x2e')][_0x4e27('0x1c')]);_0x2d4bb5['offset']=qs[_0x4e27('0x1b')](_0x228631[_0x4e27('0x2e')][_0x4e27('0x1b')]);}_0x2d4bb5[_0x4e27('0x35')]=qs[_0x4e27('0x36')](_0x228631['query'][_0x4e27('0x36')]);_0x2d4bb5['where']=qs[_0x4e27('0x37')](_[_0x4e27('0x38')](_0x228631['query'],_0xbedc5f['filters']),_0x3c5811);if(_0x228631[_0x4e27('0x2e')][_0x4e27('0x39')]){_0x2d4bb5['where']=_['merge'](_0x2d4bb5['where'],{'$or':_[_0x4e27('0x29')](_0x3c5811,function(_0x5a08c7){if(_0x5a08c7[_0x4e27('0x2b')]!=='VIRTUAL'){var _0x5ad44b={};_0x5ad44b[_0x5a08c7[_0x4e27('0x26')]]={'$like':'%'+_0x228631[_0x4e27('0x2e')][_0x4e27('0x39')]+'%'};return _0x5ad44b;}})});}_0x2d4bb5=_[_0x4e27('0x3a')]({},_0x2d4bb5,_0x228631[_0x4e27('0x3b')]);var _0x4683e5={'where':_0x2d4bb5[_0x4e27('0x3c')]};return db['VoiceMailMessage']['count'](_0x4683e5)[_0x4e27('0x23')](function(_0x4f8b83){_0x20ad22[_0x4e27('0x1e')]=_0x4f8b83;if(_0x228631[_0x4e27('0x2e')][_0x4e27('0x3d')]){_0x2d4bb5[_0x4e27('0x3e')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0x4e27('0x3f')](_0x2d4bb5);})[_0x4e27('0x23')](function(_0x3e359e){_0x20ad22['rows']=_0x3e359e;return _0x20ad22;})['then'](respondWithFilteredResult(_0x4d733e,_0x2d4bb5))['catch'](handleError(_0x4d733e,null));};exports[_0x4e27('0x40')]=function(_0x6cfc2c,_0x24c78f){var _0x231430={'raw':!![],'where':{'id':_0x6cfc2c[_0x4e27('0x41')]['id']}},_0x5b7caa={};_0x5b7caa[_0x4e27('0x2c')]=_[_0x4e27('0x2f')](db[_0x4e27('0x2a')][_0x4e27('0x42')]);_0x5b7caa[_0x4e27('0x2e')]=_['keys'](_0x6cfc2c[_0x4e27('0x2e')]);_0x5b7caa['filters']=_['intersection'](_0x5b7caa[_0x4e27('0x2c')],_0x5b7caa[_0x4e27('0x2e')]);_0x231430['attributes']=_['intersection'](_0x5b7caa['model'],qs[_0x4e27('0x32')](_0x6cfc2c[_0x4e27('0x2e')][_0x4e27('0x32')]));_0x231430[_0x4e27('0x31')]=_0x231430[_0x4e27('0x31')]['length']?_0x231430[_0x4e27('0x31')]:_0x5b7caa[_0x4e27('0x2c')];if(_0x6cfc2c[_0x4e27('0x2e')][_0x4e27('0x3d')]){_0x231430[_0x4e27('0x3e')]=[{'all':!![]}];}_0x231430=_[_0x4e27('0x3a')]({},_0x231430,_0x6cfc2c[_0x4e27('0x3b')]);return db[_0x4e27('0x2a')]['find'](_0x231430)[_0x4e27('0x23')](handleEntityNotFound(_0x24c78f,null))[_0x4e27('0x23')](respondWithResult(_0x24c78f,null))[_0x4e27('0x43')](handleError(_0x24c78f,null));};exports[_0x4e27('0x44')]=function(_0x1de4f6,_0x55e3b3){return db[_0x4e27('0x2a')]['create'](_0x1de4f6[_0x4e27('0x45')],{})[_0x4e27('0x23')](respondWithResult(_0x55e3b3,0xc9))['catch'](handleError(_0x55e3b3,null));};exports[_0x4e27('0x22')]=function(_0x1d0e3c,_0x1475f5){if(_0x1d0e3c['body']['id']){delete _0x1d0e3c[_0x4e27('0x45')]['id'];}return db[_0x4e27('0x2a')][_0x4e27('0x46')]({'where':{'id':_0x1d0e3c[_0x4e27('0x41')]['id']}})['then'](handleEntityNotFound(_0x1475f5,null))[_0x4e27('0x23')](saveUpdates(_0x1d0e3c['body'],null))[_0x4e27('0x23')](respondWithResult(_0x1475f5,null))['catch'](handleError(_0x1475f5,null));};exports[_0x4e27('0x24')]=function(_0x5a77fb,_0x7f2aeb){return db['VoiceMailMessage'][_0x4e27('0x46')]({'where':{'id':_0x5a77fb['params']['id']}})[_0x4e27('0x23')](handleEntityNotFound(_0x7f2aeb,null))[_0x4e27('0x23')](removeEntity(_0x7f2aeb,null))['catch'](handleError(_0x7f2aeb,null));};exports[_0x4e27('0x47')]=function(_0x3480c4,_0x544886,_0x3d778d){return db[_0x4e27('0x2a')][_0x4e27('0x46')]({'where':{'id':_0x3480c4[_0x4e27('0x41')]['id']},'attributes':['id','recording',_0x4e27('0x48')]})['then'](handleEntityNotFound(_0x544886,null))[_0x4e27('0x23')](function(_0x17029e){if(_0x17029e){if(!_0x17029e[_0x4e27('0x49')]){throw new db[(_0x4e27('0x4a'))][(_0x4e27('0x4b'))](_0x4e27('0x4c'));}var _0x85c112={'Content-Type':_0x4e27('0x4d'),'Content-Disposition':'attachment'};if(_0x17029e[_0x4e27('0x48')]){_0x85c112['Content-Disposition']=_0x4e27('0x4e')+_0x17029e[_0x4e27('0x48')]+_0x4e27('0x4f');}_0x544886[_0x4e27('0x1f')](_0x85c112);return _0x544886[_0x4e27('0x27')](new Buffer(_0x17029e[_0x4e27('0x49')]));}})[_0x4e27('0x43')](handleError(_0x544886,null));};