2b19373614931b84e5dfd597f1e7cd76505df486
[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 _0x675e=['end','json','count','offset','limit','Content-Range','reject','save','update','then','destroy','error','stack','name','status','send','index','map','VoiceMailMessage','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','merge','includeAll','include','rows','catch','show','filtears','fields','options','create','body','find','params','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','Content-Disposition','.wav\x22','set','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x1f1b10,_0x3136fd){var _0x3d0c2b=function(_0x59b85a){while(--_0x59b85a){_0x1f1b10['push'](_0x1f1b10['shift']());}};_0x3d0c2b(++_0x3136fd);}(_0x675e,0x18a));var _0xe675=function(_0x5ac0f0,_0xee4d98){_0x5ac0f0=_0x5ac0f0-0x0;var _0x4aceec=_0x675e[_0x5ac0f0];return _0x4aceec;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xe675('0x0'));var rimraf=require(_0xe675('0x1'));var zipdir=require(_0xe675('0x2'));var jsonpatch=require(_0xe675('0x3'));var rp=require('request-promise');var moment=require(_0xe675('0x4'));var BPromise=require(_0xe675('0x5'));var Mustache=require(_0xe675('0x6'));var util=require(_0xe675('0x7'));var path=require(_0xe675('0x8'));var sox=require('sox');var csv=require(_0xe675('0x9'));var ejs=require(_0xe675('0xa'));var fs=require('fs');var _=require(_0xe675('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xe675('0xc'));var deskjs=require(_0xe675('0xd'));var toCsv=require(_0xe675('0x9'));var querystring=require(_0xe675('0xe'));var Papa=require(_0xe675('0xf'));var Redis=require(_0xe675('0x10'));var authService=require(_0xe675('0x11'));var qs=require(_0xe675('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xe675('0x13'))(_0xe675('0x14'));var utils=require(_0xe675('0x15'));var config=require(_0xe675('0x16'));var licenseUtil=require(_0xe675('0x17'));var db=require(_0xe675('0x18'))['db'];function respondWithStatusCode(_0x4d9dc9,_0x357bd0){_0x357bd0=_0x357bd0||0xcc;return function(_0x21201a){if(_0x21201a){return _0x4d9dc9[_0xe675('0x19')](_0x357bd0);}return _0x4d9dc9['status'](_0x357bd0)[_0xe675('0x1a')]();};}function respondWithResult(_0xf4207d,_0x3aeedf){_0x3aeedf=_0x3aeedf||0xc8;return function(_0x3c0aa4){if(_0x3c0aa4){return _0xf4207d['status'](_0x3aeedf)[_0xe675('0x1b')](_0x3c0aa4);}};}function respondWithFilteredResult(_0x23f4be,_0xd8c192){return function(_0x1f5db9){if(_0x1f5db9){var _0x3b4383=_0x1f5db9[_0xe675('0x1c')],_0x5e0a28=_0xd8c192[_0xe675('0x1d')],_0x45d5b7=_0xd8c192[_0xe675('0x1d')]+_0xd8c192[_0xe675('0x1e')],_0x1e02eb;if(_0x45d5b7>=_0x3b4383){_0x45d5b7=_0x3b4383;_0x1e02eb=0xc8;}else{_0x1e02eb=0xce;}_0x23f4be['status'](_0x1e02eb);return _0x23f4be['set'](_0xe675('0x1f'),_0x5e0a28+'-'+_0x45d5b7+'/'+_0x3b4383)['json'](_0x1f5db9);}return null;};}function patchUpdates(_0x3e1f36){return function(_0x1ea5d5){try{jsonpatch['apply'](_0x1ea5d5,_0x3e1f36,!![]);}catch(_0x4a247b){return BPromise[_0xe675('0x20')](_0x4a247b);}return _0x1ea5d5[_0xe675('0x21')]();};}function saveUpdates(_0x4b4ca9,_0x3a2180){return function(_0x59ba8b){if(_0x59ba8b){return _0x59ba8b[_0xe675('0x22')](_0x4b4ca9)[_0xe675('0x23')](function(_0x4a0daf){return _0x4a0daf;});}return null;};}function removeEntity(_0x583655,_0x8c7a24){return function(_0x57a8ef){if(_0x57a8ef){return _0x57a8ef[_0xe675('0x24')]()['then'](function(){_0x583655['status'](0xcc)[_0xe675('0x1a')]();});}};}function handleEntityNotFound(_0x46c893,_0x2a5de3){return function(_0x2a60f3){if(!_0x2a60f3){_0x46c893[_0xe675('0x19')](0x194);}return _0x2a60f3;};}function handleError(_0x4bf846,_0x4405ae){_0x4405ae=_0x4405ae||0x1f4;return function(_0xd1ea00){logger[_0xe675('0x25')](_0xd1ea00[_0xe675('0x26')]);if(_0xd1ea00[_0xe675('0x27')]){delete _0xd1ea00[_0xe675('0x27')];}_0x4bf846[_0xe675('0x28')](_0x4405ae)[_0xe675('0x29')](_0xd1ea00);};}exports[_0xe675('0x2a')]=function(_0x4c830e,_0x4ec95c){var _0x3343c2={},_0x4ff840={},_0x563541={'count':0x0,'rows':[]};var _0x21b676=_[_0xe675('0x2b')](db[_0xe675('0x2c')][_0xe675('0x2d')],function(_0x40bf42){return{'name':_0x40bf42[_0xe675('0x2e')],'type':_0x40bf42['type'][_0xe675('0x2f')]};});_0x4ff840[_0xe675('0x30')]=_['differenceBy'](_[_0xe675('0x2b')](_0x21b676,_0xe675('0x27')),['name']);_0x4ff840[_0xe675('0x31')]=_[_0xe675('0x32')](_0x4c830e[_0xe675('0x31')]);_0x4ff840[_0xe675('0x33')]=_[_0xe675('0x34')](_0x4ff840['model'],_0x4ff840['query']);_0x3343c2['attributes']=_[_0xe675('0x34')](_0x4ff840['model'],qs['fields'](_0x4c830e[_0xe675('0x31')]['fields']));_0x3343c2[_0xe675('0x35')]=_0x3343c2[_0xe675('0x35')][_0xe675('0x36')]?_0x3343c2[_0xe675('0x35')]:_0x4ff840[_0xe675('0x30')];if(!_0x4c830e['query'][_0xe675('0x37')](_0xe675('0x38'))){_0x3343c2[_0xe675('0x1e')]=qs[_0xe675('0x1e')](_0x4c830e[_0xe675('0x31')][_0xe675('0x1e')]);_0x3343c2[_0xe675('0x1d')]=qs['offset'](_0x4c830e['query'][_0xe675('0x1d')]);}_0x3343c2[_0xe675('0x39')]=qs[_0xe675('0x3a')](_0x4c830e[_0xe675('0x31')][_0xe675('0x3a')]);_0x3343c2['where']=qs['filters'](_['pick'](_0x4c830e[_0xe675('0x31')],_0x4ff840[_0xe675('0x33')]),_0x21b676);if(_0x4c830e['query']['filter']){_0x3343c2[_0xe675('0x3b')]=_[_0xe675('0x3c')](_0x3343c2[_0xe675('0x3b')],{'$or':_[_0xe675('0x2b')](_0x21b676,function(_0x2caa15){if(_0x2caa15['type']!=='VIRTUAL'){var _0x54c17e={};_0x54c17e[_0x2caa15[_0xe675('0x27')]]={'$like':'%'+_0x4c830e[_0xe675('0x31')]['filter']+'%'};return _0x54c17e;}})});}_0x3343c2=_[_0xe675('0x3c')]({},_0x3343c2,_0x4c830e['options']);var _0x1c51ed={'where':_0x3343c2['where']};return db[_0xe675('0x2c')][_0xe675('0x1c')](_0x1c51ed)[_0xe675('0x23')](function(_0x4633d6){_0x563541['count']=_0x4633d6;if(_0x4c830e['query'][_0xe675('0x3d')]){_0x3343c2[_0xe675('0x3e')]=[{'all':!![]}];}return db[_0xe675('0x2c')]['findAll'](_0x3343c2);})['then'](function(_0x3c90f8){_0x563541[_0xe675('0x3f')]=_0x3c90f8;return _0x563541;})['then'](respondWithFilteredResult(_0x4ec95c,_0x3343c2))[_0xe675('0x40')](handleError(_0x4ec95c,null));};exports[_0xe675('0x41')]=function(_0x5232f1,_0x2b232a){var _0x39ef4e={'raw':!![],'where':{'id':_0x5232f1['params']['id']}},_0x1a5107={};_0x1a5107[_0xe675('0x30')]=_[_0xe675('0x32')](db[_0xe675('0x2c')][_0xe675('0x2d')]);_0x1a5107['query']=_['keys'](_0x5232f1[_0xe675('0x31')]);_0x1a5107[_0xe675('0x42')]=_['intersection'](_0x1a5107[_0xe675('0x30')],_0x1a5107['query']);_0x39ef4e[_0xe675('0x35')]=_[_0xe675('0x34')](_0x1a5107[_0xe675('0x30')],qs[_0xe675('0x43')](_0x5232f1['query'][_0xe675('0x43')]));_0x39ef4e[_0xe675('0x35')]=_0x39ef4e[_0xe675('0x35')][_0xe675('0x36')]?_0x39ef4e[_0xe675('0x35')]:_0x1a5107['model'];if(_0x5232f1[_0xe675('0x31')][_0xe675('0x3d')]){_0x39ef4e[_0xe675('0x3e')]=[{'all':!![]}];}_0x39ef4e=_[_0xe675('0x3c')]({},_0x39ef4e,_0x5232f1[_0xe675('0x44')]);return db[_0xe675('0x2c')]['find'](_0x39ef4e)['then'](handleEntityNotFound(_0x2b232a,null))[_0xe675('0x23')](respondWithResult(_0x2b232a,null))[_0xe675('0x40')](handleError(_0x2b232a,null));};exports[_0xe675('0x45')]=function(_0x147d6e,_0x5d5a19){return db[_0xe675('0x2c')][_0xe675('0x45')](_0x147d6e[_0xe675('0x46')],{})[_0xe675('0x23')](respondWithResult(_0x5d5a19,0xc9))[_0xe675('0x40')](handleError(_0x5d5a19,null));};exports[_0xe675('0x22')]=function(_0x6f751d,_0x439c7a){if(_0x6f751d[_0xe675('0x46')]['id']){delete _0x6f751d[_0xe675('0x46')]['id'];}return db[_0xe675('0x2c')][_0xe675('0x47')]({'where':{'id':_0x6f751d[_0xe675('0x48')]['id']}})['then'](handleEntityNotFound(_0x439c7a,null))[_0xe675('0x23')](saveUpdates(_0x6f751d[_0xe675('0x46')],null))[_0xe675('0x23')](respondWithResult(_0x439c7a,null))['catch'](handleError(_0x439c7a,null));};exports[_0xe675('0x24')]=function(_0x4418de,_0x21632f){return db[_0xe675('0x2c')]['find']({'where':{'id':_0x4418de[_0xe675('0x48')]['id']}})[_0xe675('0x23')](handleEntityNotFound(_0x21632f,null))[_0xe675('0x23')](removeEntity(_0x21632f,null))[_0xe675('0x40')](handleError(_0x21632f,null));};exports[_0xe675('0x49')]=function(_0x2bfc48,_0x2f5616,_0x2033fe){return db['VoiceMailMessage']['find']({'where':{'id':_0x2bfc48['params']['id']},'attributes':['id',_0xe675('0x4a'),_0xe675('0x4b')]})['then'](handleEntityNotFound(_0x2f5616,null))[_0xe675('0x23')](function(_0x5eb8c9){if(_0x5eb8c9){if(!_0x5eb8c9[_0xe675('0x4a')]){throw new db[(_0xe675('0x4c'))][(_0xe675('0x4d'))](_0xe675('0x4e'));}var _0x21cf22={'Content-Type':_0xe675('0x4f'),'Content-Disposition':_0xe675('0x50')};if(_0x5eb8c9[_0xe675('0x4b')]){_0x21cf22[_0xe675('0x51')]='attachment;\x20filename=\x22'+_0x5eb8c9[_0xe675('0x4b')]+_0xe675('0x52');}_0x2f5616[_0xe675('0x53')](_0x21cf22);return _0x2f5616[_0xe675('0x29')](new Buffer(_0x5eb8c9[_0xe675('0x4a')]));}})[_0xe675('0x40')](handleError(_0x2f5616,null));};