1cd74ff49df7dd5ee798477d3fb6bb5c3ec7439d
[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 _0xce3c=['download','recording','msg_id','Sequelize','VoiceMailMessage\x20not\x20found','attachment;\x20filename=\x22','.wav\x22','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set','json','apply','update','then','destroy','error','name','send','map','VoiceMailMessage','rawAttributes','type','key','differenceBy','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','includeAll','body','find'];(function(_0x4a881c,_0x563b3a){var _0x5b653d=function(_0x4a7da7){while(--_0x4a7da7){_0x4a881c['push'](_0x4a881c['shift']());}};_0x5b653d(++_0x563b3a);}(_0xce3c,0x197));var _0xcce3=function(_0x2d093b,_0x460963){_0x2d093b=_0x2d093b-0x0;var _0x1abe4e=_0xce3c[_0x2d093b];return _0x1abe4e;};'use strict';var emlformat=require(_0xcce3('0x0'));var rimraf=require(_0xcce3('0x1'));var zipdir=require(_0xcce3('0x2'));var jsonpatch=require(_0xcce3('0x3'));var rp=require(_0xcce3('0x4'));var moment=require(_0xcce3('0x5'));var BPromise=require(_0xcce3('0x6'));var Mustache=require('mustache');var util=require(_0xcce3('0x7'));var path=require(_0xcce3('0x8'));var sox=require(_0xcce3('0x9'));var csv=require(_0xcce3('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xcce3('0xb'));var _=require('lodash');var squel=require(_0xcce3('0xc'));var crypto=require('crypto');var jsforce=require(_0xcce3('0xd'));var deskjs=require(_0xcce3('0xe'));var toCsv=require(_0xcce3('0xa'));var querystring=require(_0xcce3('0xf'));var Papa=require(_0xcce3('0x10'));var Redis=require(_0xcce3('0x11'));var authService=require(_0xcce3('0x12'));var qs=require(_0xcce3('0x13'));var as=require(_0xcce3('0x14'));var hardwareService=require(_0xcce3('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0xcce3('0x16'));var config=require(_0xcce3('0x17'));var licenseUtil=require(_0xcce3('0x18'));var db=require(_0xcce3('0x19'))['db'];function respondWithStatusCode(_0x4e6151,_0x3b988b){_0x3b988b=_0x3b988b||0xcc;return function(_0x49e696){if(_0x49e696){return _0x4e6151['sendStatus'](_0x3b988b);}return _0x4e6151[_0xcce3('0x1a')](_0x3b988b)[_0xcce3('0x1b')]();};}function respondWithResult(_0x460098,_0xfaec78){_0xfaec78=_0xfaec78||0xc8;return function(_0x59bf77){if(_0x59bf77){return _0x460098[_0xcce3('0x1a')](_0xfaec78)['json'](_0x59bf77);}};}function respondWithFilteredResult(_0x3470dc,_0x3b0276){return function(_0x5c5e9c){if(_0x5c5e9c){var _0x2c3a3f=typeof _0x3b0276[_0xcce3('0x1c')]===_0xcce3('0x1d')&&typeof _0x3b0276[_0xcce3('0x1e')]===_0xcce3('0x1d');var _0x10286d=_0x5c5e9c['count'];var _0x2d0045=_0x2c3a3f?0x0:_0x3b0276[_0xcce3('0x1c')];var _0x5a02a1=_0x2c3a3f?_0x5c5e9c[_0xcce3('0x1f')]:_0x3b0276['offset']+_0x3b0276['limit'];var _0x3bbc91;if(_0x5a02a1>=_0x10286d){_0x5a02a1=_0x10286d;_0x3bbc91=0xc8;}else{_0x3bbc91=0xce;}_0x3470dc[_0xcce3('0x1a')](_0x3bbc91);return _0x3470dc[_0xcce3('0x20')]('Content-Range',_0x2d0045+'-'+_0x5a02a1+'/'+_0x10286d)[_0xcce3('0x21')](_0x5c5e9c);}return null;};}function patchUpdates(_0x57c1d7){return function(_0x199e69){try{jsonpatch[_0xcce3('0x22')](_0x199e69,_0x57c1d7,!![]);}catch(_0x5f57b5){return BPromise['reject'](_0x5f57b5);}return _0x199e69['save']();};}function saveUpdates(_0x1afebd,_0x126e42){return function(_0x15b9f5){if(_0x15b9f5){return _0x15b9f5[_0xcce3('0x23')](_0x1afebd)[_0xcce3('0x24')](function(_0x56b4e6){return _0x56b4e6;});}return null;};}function removeEntity(_0xb3346d,_0x56ef9c){return function(_0xad577d){if(_0xad577d){return _0xad577d[_0xcce3('0x25')]()['then'](function(){_0xb3346d[_0xcce3('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x34a8e1,_0x30fee5){return function(_0x514e7){if(!_0x514e7){_0x34a8e1['sendStatus'](0x194);}return _0x514e7;};}function handleError(_0x312687,_0x2cf81b){_0x2cf81b=_0x2cf81b||0x1f4;return function(_0x2c0277){logger[_0xcce3('0x26')](_0x2c0277['stack']);if(_0x2c0277[_0xcce3('0x27')]){delete _0x2c0277[_0xcce3('0x27')];}_0x312687['status'](_0x2cf81b)[_0xcce3('0x28')](_0x2c0277);};}exports['index']=function(_0x366bcd,_0x177469){var _0x5b10e2={},_0x11bed9={},_0xb2392c={'count':0x0,'rows':[]};var _0x9c84ca=_[_0xcce3('0x29')](db[_0xcce3('0x2a')][_0xcce3('0x2b')],function(_0x3bc1ee){return{'name':_0x3bc1ee['fieldName'],'type':_0x3bc1ee[_0xcce3('0x2c')][_0xcce3('0x2d')]};});_0x11bed9['model']=_[_0xcce3('0x2e')](_[_0xcce3('0x29')](_0x9c84ca,_0xcce3('0x27')),[_0xcce3('0x27')]);_0x11bed9[_0xcce3('0x2f')]=_[_0xcce3('0x30')](_0x366bcd[_0xcce3('0x2f')]);_0x11bed9[_0xcce3('0x31')]=_[_0xcce3('0x32')](_0x11bed9[_0xcce3('0x33')],_0x11bed9[_0xcce3('0x2f')]);_0x5b10e2[_0xcce3('0x34')]=_[_0xcce3('0x32')](_0x11bed9['model'],qs[_0xcce3('0x35')](_0x366bcd[_0xcce3('0x2f')]['fields']));_0x5b10e2[_0xcce3('0x34')]=_0x5b10e2[_0xcce3('0x34')][_0xcce3('0x36')]?_0x5b10e2[_0xcce3('0x34')]:_0x11bed9[_0xcce3('0x33')];if(!_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x37')](_0xcce3('0x38'))){_0x5b10e2[_0xcce3('0x1e')]=qs[_0xcce3('0x1e')](_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x1e')]);_0x5b10e2[_0xcce3('0x1c')]=qs[_0xcce3('0x1c')](_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x1c')]);}_0x5b10e2['order']=qs['sort'](_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x39')]);_0x5b10e2[_0xcce3('0x3a')]=qs[_0xcce3('0x31')](_[_0xcce3('0x3b')](_0x366bcd[_0xcce3('0x2f')],_0x11bed9['filters']),_0x9c84ca);if(_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x3c')]){_0x5b10e2[_0xcce3('0x3a')]=_[_0xcce3('0x3d')](_0x5b10e2['where'],{'$or':_['map'](_0x9c84ca,function(_0x25f990){if(_0x25f990[_0xcce3('0x2c')]!==_0xcce3('0x3e')){var _0x5605a0={};_0x5605a0[_0x25f990[_0xcce3('0x27')]]={'$like':'%'+_0x366bcd[_0xcce3('0x2f')][_0xcce3('0x3c')]+'%'};return _0x5605a0;}})});}_0x5b10e2=_[_0xcce3('0x3d')]({},_0x5b10e2,_0x366bcd[_0xcce3('0x3f')]);var _0x1723c0={'where':_0x5b10e2[_0xcce3('0x3a')]};return db[_0xcce3('0x2a')][_0xcce3('0x1f')](_0x1723c0)[_0xcce3('0x24')](function(_0x223cd1){_0xb2392c['count']=_0x223cd1;if(_0x366bcd[_0xcce3('0x2f')]['includeAll']){_0x5b10e2[_0xcce3('0x40')]=[{'all':!![]}];}return db[_0xcce3('0x2a')][_0xcce3('0x41')](_0x5b10e2);})[_0xcce3('0x24')](function(_0xecd99d){_0xb2392c[_0xcce3('0x42')]=_0xecd99d;return _0xb2392c;})[_0xcce3('0x24')](respondWithFilteredResult(_0x177469,_0x5b10e2))[_0xcce3('0x43')](handleError(_0x177469,null));};exports[_0xcce3('0x44')]=function(_0x2da865,_0x1144d8){var _0x1c035d={'raw':!![],'where':{'id':_0x2da865[_0xcce3('0x45')]['id']}},_0x30dc16={};_0x30dc16[_0xcce3('0x33')]=_[_0xcce3('0x30')](db['VoiceMailMessage']['rawAttributes']);_0x30dc16[_0xcce3('0x2f')]=_[_0xcce3('0x30')](_0x2da865[_0xcce3('0x2f')]);_0x30dc16[_0xcce3('0x31')]=_[_0xcce3('0x32')](_0x30dc16[_0xcce3('0x33')],_0x30dc16['query']);_0x1c035d['attributes']=_[_0xcce3('0x32')](_0x30dc16['model'],qs[_0xcce3('0x35')](_0x2da865['query'][_0xcce3('0x35')]));_0x1c035d[_0xcce3('0x34')]=_0x1c035d[_0xcce3('0x34')][_0xcce3('0x36')]?_0x1c035d['attributes']:_0x30dc16[_0xcce3('0x33')];if(_0x2da865[_0xcce3('0x2f')][_0xcce3('0x46')]){_0x1c035d[_0xcce3('0x40')]=[{'all':!![]}];}_0x1c035d=_[_0xcce3('0x3d')]({},_0x1c035d,_0x2da865[_0xcce3('0x3f')]);return db[_0xcce3('0x2a')]['find'](_0x1c035d)['then'](handleEntityNotFound(_0x1144d8,null))[_0xcce3('0x24')](respondWithResult(_0x1144d8,null))[_0xcce3('0x43')](handleError(_0x1144d8,null));};exports['create']=function(_0x414184,_0x5b59ac){return db[_0xcce3('0x2a')]['create'](_0x414184[_0xcce3('0x47')],{})[_0xcce3('0x24')](respondWithResult(_0x5b59ac,0xc9))[_0xcce3('0x43')](handleError(_0x5b59ac,null));};exports[_0xcce3('0x23')]=function(_0x25d7f7,_0x1ad7e5){if(_0x25d7f7[_0xcce3('0x47')]['id']){delete _0x25d7f7[_0xcce3('0x47')]['id'];}return db[_0xcce3('0x2a')][_0xcce3('0x48')]({'where':{'id':_0x25d7f7[_0xcce3('0x45')]['id']}})[_0xcce3('0x24')](handleEntityNotFound(_0x1ad7e5,null))[_0xcce3('0x24')](saveUpdates(_0x25d7f7[_0xcce3('0x47')],null))['then'](respondWithResult(_0x1ad7e5,null))['catch'](handleError(_0x1ad7e5,null));};exports[_0xcce3('0x25')]=function(_0x2a90b6,_0x53fdf0){return db['VoiceMailMessage'][_0xcce3('0x48')]({'where':{'id':_0x2a90b6[_0xcce3('0x45')]['id']}})['then'](handleEntityNotFound(_0x53fdf0,null))[_0xcce3('0x24')](removeEntity(_0x53fdf0,null))[_0xcce3('0x43')](handleError(_0x53fdf0,null));};exports[_0xcce3('0x49')]=function(_0x5b688a,_0xb208bc,_0x327b3e){return db[_0xcce3('0x2a')][_0xcce3('0x48')]({'where':{'id':_0x5b688a['params']['id']},'attributes':['id',_0xcce3('0x4a'),_0xcce3('0x4b')]})[_0xcce3('0x24')](handleEntityNotFound(_0xb208bc,null))[_0xcce3('0x24')](function(_0x263e5f){if(_0x263e5f){if(!_0x263e5f[_0xcce3('0x4a')]){throw new db[(_0xcce3('0x4c'))]['ValidationError'](_0xcce3('0x4d'));}var _0x59b60a={'Content-Type':'audio/wav','Content-Disposition':'attachment'};if(_0x263e5f['msg_id']){_0x59b60a['Content-Disposition']=_0xcce3('0x4e')+_0x263e5f['msg_id']+_0xcce3('0x4f');}_0xb208bc['set'](_0x59b60a);return _0xb208bc['send'](new Buffer(_0x263e5f[_0xcce3('0x4a')]));}})[_0xcce3('0x43')](handleError(_0xb208bc,null));};