Built motion from commit e0fa946e.|2.6.5
[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 _0xa9e2=['json','offset','undefined','count','limit','set','Content-Range','apply','update','destroy','then','stack','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','merge','includeAll','include','findAll','rows','catch','show','options','create','body','find','params','download','recording','msg_id','Sequelize','ValidationError','audio/wav','attachment','attachment;\x20filename=\x22','.wav\x22','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x3ee33c,_0x5d3cfa){var _0x375af2=function(_0x53c5b5){while(--_0x53c5b5){_0x3ee33c['push'](_0x3ee33c['shift']());}};_0x375af2(++_0x5d3cfa);}(_0xa9e2,0x1d8));var _0x2a9e=function(_0x29e7f4,_0x4e7f2e){_0x29e7f4=_0x29e7f4-0x0;var _0x1c6464=_0xa9e2[_0x29e7f4];return _0x1c6464;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2a9e('0x0'));var zipdir=require(_0x2a9e('0x1'));var jsonpatch=require(_0x2a9e('0x2'));var rp=require(_0x2a9e('0x3'));var moment=require(_0x2a9e('0x4'));var BPromise=require(_0x2a9e('0x5'));var Mustache=require('mustache');var util=require(_0x2a9e('0x6'));var path=require(_0x2a9e('0x7'));var sox=require('sox');var csv=require(_0x2a9e('0x8'));var ejs=require(_0x2a9e('0x9'));var fs=require('fs');var fs_extra=require(_0x2a9e('0xa'));var _=require('lodash');var squel=require(_0x2a9e('0xb'));var crypto=require(_0x2a9e('0xc'));var jsforce=require(_0x2a9e('0xd'));var deskjs=require(_0x2a9e('0xe'));var toCsv=require('to-csv');var querystring=require(_0x2a9e('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2a9e('0x10'));var as=require(_0x2a9e('0x11'));var hardwareService=require(_0x2a9e('0x12'));var logger=require(_0x2a9e('0x13'))('api');var utils=require(_0x2a9e('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x2a9e('0x15'));var db=require(_0x2a9e('0x16'))['db'];function respondWithStatusCode(_0x5cc142,_0x15cd1a){_0x15cd1a=_0x15cd1a||0xcc;return function(_0x387b98){if(_0x387b98){return _0x5cc142[_0x2a9e('0x17')](_0x15cd1a);}return _0x5cc142[_0x2a9e('0x18')](_0x15cd1a)[_0x2a9e('0x19')]();};}function respondWithResult(_0xc9ff9c,_0x5aaf4e){_0x5aaf4e=_0x5aaf4e||0xc8;return function(_0x317221){if(_0x317221){return _0xc9ff9c[_0x2a9e('0x18')](_0x5aaf4e)[_0x2a9e('0x1a')](_0x317221);}};}function respondWithFilteredResult(_0x55be5b,_0x4fff11){return function(_0x250f3c){if(_0x250f3c){var _0x169617=typeof _0x4fff11[_0x2a9e('0x1b')]===_0x2a9e('0x1c')&&typeof _0x4fff11['limit']==='undefined';var _0x502729=_0x250f3c[_0x2a9e('0x1d')];var _0x3ba405=_0x169617?0x0:_0x4fff11[_0x2a9e('0x1b')];var _0x218648=_0x169617?_0x250f3c[_0x2a9e('0x1d')]:_0x4fff11[_0x2a9e('0x1b')]+_0x4fff11[_0x2a9e('0x1e')];var _0x21798e;if(_0x218648>=_0x502729){_0x218648=_0x502729;_0x21798e=0xc8;}else{_0x21798e=0xce;}_0x55be5b[_0x2a9e('0x18')](_0x21798e);return _0x55be5b[_0x2a9e('0x1f')](_0x2a9e('0x20'),_0x3ba405+'-'+_0x218648+'/'+_0x502729)[_0x2a9e('0x1a')](_0x250f3c);}return null;};}function patchUpdates(_0x556315){return function(_0x1285e6){try{jsonpatch[_0x2a9e('0x21')](_0x1285e6,_0x556315,!![]);}catch(_0x466ec1){return BPromise['reject'](_0x466ec1);}return _0x1285e6['save']();};}function saveUpdates(_0x1cb24d,_0x596663){return function(_0x4218d1){if(_0x4218d1){return _0x4218d1[_0x2a9e('0x22')](_0x1cb24d)['then'](function(_0x55a1bc){return _0x55a1bc;});}return null;};}function removeEntity(_0x38f924,_0x5925ce){return function(_0x448566){if(_0x448566){return _0x448566[_0x2a9e('0x23')]()[_0x2a9e('0x24')](function(){_0x38f924[_0x2a9e('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x17f9fa,_0x316a7e){return function(_0x1b4b58){if(!_0x1b4b58){_0x17f9fa[_0x2a9e('0x17')](0x194);}return _0x1b4b58;};}function handleError(_0x2eeb90,_0x465058){_0x465058=_0x465058||0x1f4;return function(_0x49e496){logger['error'](_0x49e496[_0x2a9e('0x25')]);if(_0x49e496[_0x2a9e('0x26')]){delete _0x49e496[_0x2a9e('0x26')];}_0x2eeb90['status'](_0x465058)[_0x2a9e('0x27')](_0x49e496);};}exports[_0x2a9e('0x28')]=function(_0x212676,_0x4710ef){var _0x4a410e={},_0x3707ca={},_0x3e855b={'count':0x0,'rows':[]};var _0x167fb6=_[_0x2a9e('0x29')](db[_0x2a9e('0x2a')][_0x2a9e('0x2b')],function(_0x37c2f4){return{'name':_0x37c2f4[_0x2a9e('0x2c')],'type':_0x37c2f4[_0x2a9e('0x2d')][_0x2a9e('0x2e')]};});_0x3707ca[_0x2a9e('0x2f')]=_['differenceBy'](_[_0x2a9e('0x29')](_0x167fb6,_0x2a9e('0x26')),[_0x2a9e('0x26')]);_0x3707ca['query']=_[_0x2a9e('0x30')](_0x212676[_0x2a9e('0x31')]);_0x3707ca['filters']=_[_0x2a9e('0x32')](_0x3707ca[_0x2a9e('0x2f')],_0x3707ca[_0x2a9e('0x31')]);_0x4a410e[_0x2a9e('0x33')]=_[_0x2a9e('0x32')](_0x3707ca['model'],qs[_0x2a9e('0x34')](_0x212676[_0x2a9e('0x31')][_0x2a9e('0x34')]));_0x4a410e[_0x2a9e('0x33')]=_0x4a410e[_0x2a9e('0x33')][_0x2a9e('0x35')]?_0x4a410e['attributes']:_0x3707ca[_0x2a9e('0x2f')];if(!_0x212676['query'][_0x2a9e('0x36')](_0x2a9e('0x37'))){_0x4a410e[_0x2a9e('0x1e')]=qs[_0x2a9e('0x1e')](_0x212676[_0x2a9e('0x31')][_0x2a9e('0x1e')]);_0x4a410e[_0x2a9e('0x1b')]=qs['offset'](_0x212676[_0x2a9e('0x31')]['offset']);}_0x4a410e[_0x2a9e('0x38')]=qs[_0x2a9e('0x39')](_0x212676[_0x2a9e('0x31')][_0x2a9e('0x39')]);_0x4a410e[_0x2a9e('0x3a')]=qs[_0x2a9e('0x3b')](_[_0x2a9e('0x3c')](_0x212676['query'],_0x3707ca[_0x2a9e('0x3b')]),_0x167fb6);if(_0x212676[_0x2a9e('0x31')]['filter']){_0x4a410e[_0x2a9e('0x3a')]=_['merge'](_0x4a410e[_0x2a9e('0x3a')],{'$or':_['map'](_0x167fb6,function(_0x2bb0f0){if(_0x2bb0f0[_0x2a9e('0x2d')]!==_0x2a9e('0x3d')){var _0x59dc9f={};_0x59dc9f[_0x2bb0f0[_0x2a9e('0x26')]]={'$like':'%'+_0x212676[_0x2a9e('0x31')]['filter']+'%'};return _0x59dc9f;}})});}_0x4a410e=_[_0x2a9e('0x3e')]({},_0x4a410e,_0x212676['options']);var _0x524d45={'where':_0x4a410e[_0x2a9e('0x3a')]};return db['VoiceMailMessage'][_0x2a9e('0x1d')](_0x524d45)[_0x2a9e('0x24')](function(_0xd373c7){_0x3e855b['count']=_0xd373c7;if(_0x212676[_0x2a9e('0x31')][_0x2a9e('0x3f')]){_0x4a410e[_0x2a9e('0x40')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0x2a9e('0x41')](_0x4a410e);})['then'](function(_0x57592d){_0x3e855b[_0x2a9e('0x42')]=_0x57592d;return _0x3e855b;})[_0x2a9e('0x24')](respondWithFilteredResult(_0x4710ef,_0x4a410e))[_0x2a9e('0x43')](handleError(_0x4710ef,null));};exports[_0x2a9e('0x44')]=function(_0x4709ad,_0x23227c){var _0x4c7701={'raw':!![],'where':{'id':_0x4709ad['params']['id']}},_0xec4eb6={};_0xec4eb6[_0x2a9e('0x2f')]=_[_0x2a9e('0x30')](db[_0x2a9e('0x2a')][_0x2a9e('0x2b')]);_0xec4eb6[_0x2a9e('0x31')]=_['keys'](_0x4709ad[_0x2a9e('0x31')]);_0xec4eb6[_0x2a9e('0x3b')]=_[_0x2a9e('0x32')](_0xec4eb6[_0x2a9e('0x2f')],_0xec4eb6[_0x2a9e('0x31')]);_0x4c7701[_0x2a9e('0x33')]=_[_0x2a9e('0x32')](_0xec4eb6[_0x2a9e('0x2f')],qs[_0x2a9e('0x34')](_0x4709ad[_0x2a9e('0x31')][_0x2a9e('0x34')]));_0x4c7701[_0x2a9e('0x33')]=_0x4c7701[_0x2a9e('0x33')][_0x2a9e('0x35')]?_0x4c7701['attributes']:_0xec4eb6['model'];if(_0x4709ad[_0x2a9e('0x31')]['includeAll']){_0x4c7701[_0x2a9e('0x40')]=[{'all':!![]}];}_0x4c7701=_[_0x2a9e('0x3e')]({},_0x4c7701,_0x4709ad[_0x2a9e('0x45')]);return db[_0x2a9e('0x2a')]['find'](_0x4c7701)['then'](handleEntityNotFound(_0x23227c,null))[_0x2a9e('0x24')](respondWithResult(_0x23227c,null))[_0x2a9e('0x43')](handleError(_0x23227c,null));};exports[_0x2a9e('0x46')]=function(_0x278f9e,_0x4f7ffd){return db[_0x2a9e('0x2a')][_0x2a9e('0x46')](_0x278f9e['body'],{})[_0x2a9e('0x24')](respondWithResult(_0x4f7ffd,0xc9))[_0x2a9e('0x43')](handleError(_0x4f7ffd,null));};exports[_0x2a9e('0x22')]=function(_0x47d72b,_0x223be3){if(_0x47d72b[_0x2a9e('0x47')]['id']){delete _0x47d72b[_0x2a9e('0x47')]['id'];}return db[_0x2a9e('0x2a')][_0x2a9e('0x48')]({'where':{'id':_0x47d72b[_0x2a9e('0x49')]['id']}})[_0x2a9e('0x24')](handleEntityNotFound(_0x223be3,null))[_0x2a9e('0x24')](saveUpdates(_0x47d72b[_0x2a9e('0x47')],null))[_0x2a9e('0x24')](respondWithResult(_0x223be3,null))['catch'](handleError(_0x223be3,null));};exports[_0x2a9e('0x23')]=function(_0x5a4751,_0x176f4a){return db[_0x2a9e('0x2a')][_0x2a9e('0x48')]({'where':{'id':_0x5a4751[_0x2a9e('0x49')]['id']}})['then'](handleEntityNotFound(_0x176f4a,null))[_0x2a9e('0x24')](removeEntity(_0x176f4a,null))[_0x2a9e('0x43')](handleError(_0x176f4a,null));};exports[_0x2a9e('0x4a')]=function(_0x6f7f8b,_0x43114f,_0x10517e){return db['VoiceMailMessage'][_0x2a9e('0x48')]({'where':{'id':_0x6f7f8b[_0x2a9e('0x49')]['id']},'attributes':['id',_0x2a9e('0x4b'),_0x2a9e('0x4c')]})['then'](handleEntityNotFound(_0x43114f,null))[_0x2a9e('0x24')](function(_0x467396){if(_0x467396){if(!_0x467396[_0x2a9e('0x4b')]){throw new db[(_0x2a9e('0x4d'))][(_0x2a9e('0x4e'))]('VoiceMailMessage\x20not\x20found');}var _0x4ec192={'Content-Type':_0x2a9e('0x4f'),'Content-Disposition':_0x2a9e('0x50')};if(_0x467396['msg_id']){_0x4ec192['Content-Disposition']=_0x2a9e('0x51')+_0x467396[_0x2a9e('0x4c')]+_0x2a9e('0x52');}_0x43114f[_0x2a9e('0x1f')](_0x4ec192);return _0x43114f[_0x2a9e('0x27')](new Buffer(_0x467396[_0x2a9e('0x4b')]));}})[_0x2a9e('0x43')](handleError(_0x43114f,null));};