341dc11d75bd04cc11026663a5812b724c626d19
[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 _0x4587=['download','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','.wav\x22','send','recording','rimraf','request-promise','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','save','update','then','error','stack','name','map','VoiceMailMessage','rawAttributes','fieldName','type','key','model','differenceBy','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','destroy'];(function(_0x47cc9d,_0x2a29dc){var _0x4167ee=function(_0x38edf2){while(--_0x38edf2){_0x47cc9d['push'](_0x47cc9d['shift']());}};_0x4167ee(++_0x2a29dc);}(_0x4587,0xb2));var _0x7458=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x4587[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7458('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x7458('0x1'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x7458('0x2'));var util=require(_0x7458('0x3'));var path=require(_0x7458('0x4'));var sox=require('sox');var csv=require(_0x7458('0x5'));var ejs=require(_0x7458('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7458('0x7'));var squel=require(_0x7458('0x8'));var crypto=require(_0x7458('0x9'));var jsforce=require(_0x7458('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x7458('0x5'));var querystring=require(_0x7458('0xb'));var Papa=require(_0x7458('0xc'));var Redis=require(_0x7458('0xd'));var authService=require(_0x7458('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x7458('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7458('0x10'))(_0x7458('0x11'));var utils=require(_0x7458('0x12'));var config=require(_0x7458('0x13'));var licenseUtil=require(_0x7458('0x14'));var db=require(_0x7458('0x15'))['db'];function respondWithStatusCode(_0x1eb67f,_0x482795){_0x482795=_0x482795||0xcc;return function(_0x3c96cd){if(_0x3c96cd){return _0x1eb67f[_0x7458('0x16')](_0x482795);}return _0x1eb67f[_0x7458('0x17')](_0x482795)[_0x7458('0x18')]();};}function respondWithResult(_0x48ed53,_0x1b4d08){_0x1b4d08=_0x1b4d08||0xc8;return function(_0x1d4310){if(_0x1d4310){return _0x48ed53[_0x7458('0x17')](_0x1b4d08)[_0x7458('0x19')](_0x1d4310);}};}function respondWithFilteredResult(_0x3e8662,_0x317367){return function(_0x2a459a){if(_0x2a459a){var _0x1d54e0=typeof _0x317367[_0x7458('0x1a')]===_0x7458('0x1b')&&typeof _0x317367['limit']===_0x7458('0x1b');var _0x2cd684=_0x2a459a[_0x7458('0x1c')];var _0x3d8aaf=_0x1d54e0?0x0:_0x317367[_0x7458('0x1a')];var _0xd7b7db=_0x1d54e0?_0x2a459a[_0x7458('0x1c')]:_0x317367['offset']+_0x317367[_0x7458('0x1d')];var _0x357a27;if(_0xd7b7db>=_0x2cd684){_0xd7b7db=_0x2cd684;_0x357a27=0xc8;}else{_0x357a27=0xce;}_0x3e8662['status'](_0x357a27);return _0x3e8662[_0x7458('0x1e')]('Content-Range',_0x3d8aaf+'-'+_0xd7b7db+'/'+_0x2cd684)[_0x7458('0x19')](_0x2a459a);}return null;};}function patchUpdates(_0x525011){return function(_0x54bd45){try{jsonpatch[_0x7458('0x1f')](_0x54bd45,_0x525011,!![]);}catch(_0x3d6808){return BPromise['reject'](_0x3d6808);}return _0x54bd45[_0x7458('0x20')]();};}function saveUpdates(_0x391e19,_0x40143d){return function(_0xccb8fb){if(_0xccb8fb){return _0xccb8fb[_0x7458('0x21')](_0x391e19)[_0x7458('0x22')](function(_0x3cdbb9){return _0x3cdbb9;});}return null;};}function removeEntity(_0x283fd4,_0x32456a){return function(_0x24f6c1){if(_0x24f6c1){return _0x24f6c1['destroy']()[_0x7458('0x22')](function(){_0x283fd4[_0x7458('0x17')](0xcc)[_0x7458('0x18')]();});}};}function handleEntityNotFound(_0x3e156e,_0x45cecc){return function(_0x12114a){if(!_0x12114a){_0x3e156e[_0x7458('0x16')](0x194);}return _0x12114a;};}function handleError(_0x146b3e,_0x11e66a){_0x11e66a=_0x11e66a||0x1f4;return function(_0x1e4eba){logger[_0x7458('0x23')](_0x1e4eba[_0x7458('0x24')]);if(_0x1e4eba['name']){delete _0x1e4eba[_0x7458('0x25')];}_0x146b3e[_0x7458('0x17')](_0x11e66a)['send'](_0x1e4eba);};}exports['index']=function(_0x2e1bb6,_0x4ce301){var _0x3586b2={},_0x7e41fd={},_0x1b9f81={'count':0x0,'rows':[]};var _0x4a5cf2=_[_0x7458('0x26')](db[_0x7458('0x27')][_0x7458('0x28')],function(_0x1fa718){return{'name':_0x1fa718[_0x7458('0x29')],'type':_0x1fa718[_0x7458('0x2a')][_0x7458('0x2b')]};});_0x7e41fd[_0x7458('0x2c')]=_[_0x7458('0x2d')](_[_0x7458('0x26')](_0x4a5cf2,_0x7458('0x25')),[_0x7458('0x25')]);_0x7e41fd[_0x7458('0x2e')]=_[_0x7458('0x2f')](_0x2e1bb6[_0x7458('0x2e')]);_0x7e41fd[_0x7458('0x30')]=_[_0x7458('0x31')](_0x7e41fd[_0x7458('0x2c')],_0x7e41fd[_0x7458('0x2e')]);_0x3586b2['attributes']=_[_0x7458('0x31')](_0x7e41fd[_0x7458('0x2c')],qs[_0x7458('0x32')](_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x32')]));_0x3586b2[_0x7458('0x33')]=_0x3586b2['attributes'][_0x7458('0x34')]?_0x3586b2[_0x7458('0x33')]:_0x7e41fd['model'];if(!_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x35')](_0x7458('0x36'))){_0x3586b2[_0x7458('0x1d')]=qs[_0x7458('0x1d')](_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x1d')]);_0x3586b2['offset']=qs[_0x7458('0x1a')](_0x2e1bb6['query'][_0x7458('0x1a')]);}_0x3586b2[_0x7458('0x37')]=qs[_0x7458('0x38')](_0x2e1bb6[_0x7458('0x2e')]['sort']);_0x3586b2[_0x7458('0x39')]=qs[_0x7458('0x30')](_[_0x7458('0x3a')](_0x2e1bb6[_0x7458('0x2e')],_0x7e41fd[_0x7458('0x30')]),_0x4a5cf2);if(_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x3b')]){_0x3586b2[_0x7458('0x39')]=_[_0x7458('0x3c')](_0x3586b2[_0x7458('0x39')],{'$or':_['map'](_0x4a5cf2,function(_0x50c91a){if(_0x50c91a[_0x7458('0x2a')]!==_0x7458('0x3d')){var _0x414251={};_0x414251[_0x50c91a[_0x7458('0x25')]]={'$like':'%'+_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x3b')]+'%'};return _0x414251;}})});}_0x3586b2=_[_0x7458('0x3c')]({},_0x3586b2,_0x2e1bb6['options']);var _0x2e21a7={'where':_0x3586b2['where']};return db[_0x7458('0x27')][_0x7458('0x1c')](_0x2e21a7)[_0x7458('0x22')](function(_0x518b24){_0x1b9f81[_0x7458('0x1c')]=_0x518b24;if(_0x2e1bb6[_0x7458('0x2e')][_0x7458('0x3e')]){_0x3586b2[_0x7458('0x3f')]=[{'all':!![]}];}return db[_0x7458('0x27')][_0x7458('0x40')](_0x3586b2);})['then'](function(_0x511f56){_0x1b9f81[_0x7458('0x41')]=_0x511f56;return _0x1b9f81;})['then'](respondWithFilteredResult(_0x4ce301,_0x3586b2))[_0x7458('0x42')](handleError(_0x4ce301,null));};exports[_0x7458('0x43')]=function(_0x97ad6,_0xbf4980){var _0xe22177={'raw':!![],'where':{'id':_0x97ad6[_0x7458('0x44')]['id']}},_0x2a7ac9={};_0x2a7ac9['model']=_[_0x7458('0x2f')](db[_0x7458('0x27')][_0x7458('0x28')]);_0x2a7ac9[_0x7458('0x2e')]=_[_0x7458('0x2f')](_0x97ad6[_0x7458('0x2e')]);_0x2a7ac9[_0x7458('0x30')]=_[_0x7458('0x31')](_0x2a7ac9[_0x7458('0x2c')],_0x2a7ac9[_0x7458('0x2e')]);_0xe22177[_0x7458('0x33')]=_[_0x7458('0x31')](_0x2a7ac9[_0x7458('0x2c')],qs[_0x7458('0x32')](_0x97ad6[_0x7458('0x2e')][_0x7458('0x32')]));_0xe22177[_0x7458('0x33')]=_0xe22177['attributes'][_0x7458('0x34')]?_0xe22177[_0x7458('0x33')]:_0x2a7ac9[_0x7458('0x2c')];if(_0x97ad6[_0x7458('0x2e')][_0x7458('0x3e')]){_0xe22177[_0x7458('0x3f')]=[{'all':!![]}];}_0xe22177=_['merge']({},_0xe22177,_0x97ad6[_0x7458('0x45')]);return db[_0x7458('0x27')][_0x7458('0x46')](_0xe22177)[_0x7458('0x22')](handleEntityNotFound(_0xbf4980,null))['then'](respondWithResult(_0xbf4980,null))[_0x7458('0x42')](handleError(_0xbf4980,null));};exports[_0x7458('0x47')]=function(_0x2b1099,_0x58c4ad){return db[_0x7458('0x27')]['create'](_0x2b1099[_0x7458('0x48')],{})['then'](respondWithResult(_0x58c4ad,0xc9))['catch'](handleError(_0x58c4ad,null));};exports[_0x7458('0x21')]=function(_0x20513d,_0x51b381){if(_0x20513d[_0x7458('0x48')]['id']){delete _0x20513d[_0x7458('0x48')]['id'];}return db[_0x7458('0x27')][_0x7458('0x46')]({'where':{'id':_0x20513d[_0x7458('0x44')]['id']}})[_0x7458('0x22')](handleEntityNotFound(_0x51b381,null))[_0x7458('0x22')](saveUpdates(_0x20513d[_0x7458('0x48')],null))['then'](respondWithResult(_0x51b381,null))[_0x7458('0x42')](handleError(_0x51b381,null));};exports[_0x7458('0x49')]=function(_0x15f7c2,_0x4e9ed0){return db[_0x7458('0x27')][_0x7458('0x46')]({'where':{'id':_0x15f7c2[_0x7458('0x44')]['id']}})[_0x7458('0x22')](handleEntityNotFound(_0x4e9ed0,null))[_0x7458('0x22')](removeEntity(_0x4e9ed0,null))[_0x7458('0x42')](handleError(_0x4e9ed0,null));};exports[_0x7458('0x4a')]=function(_0x36c628,_0x2d9910,_0x4a1526){return db[_0x7458('0x27')][_0x7458('0x46')]({'where':{'id':_0x36c628[_0x7458('0x44')]['id']},'attributes':['id','recording',_0x7458('0x4b')]})[_0x7458('0x22')](handleEntityNotFound(_0x2d9910,null))[_0x7458('0x22')](function(_0x3e99f8){if(_0x3e99f8){if(!_0x3e99f8['recording']){throw new db[(_0x7458('0x4c'))][(_0x7458('0x4d'))](_0x7458('0x4e'));}var _0x137a40={'Content-Type':_0x7458('0x4f'),'Content-Disposition':_0x7458('0x50')};if(_0x3e99f8[_0x7458('0x4b')]){_0x137a40['Content-Disposition']='attachment;\x20filename=\x22'+_0x3e99f8['msg_id']+_0x7458('0x51');}_0x2d9910[_0x7458('0x1e')](_0x137a40);return _0x2d9910[_0x7458('0x52')](new Buffer(_0x3e99f8[_0x7458('0x53')]));}})['catch'](handleError(_0x2d9910,null));};