4602a48f77df3d3319af615355a601f269d26263
[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 _0x4f4f=['to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','stack','name','send','index','map','VoiceMailMessage','rawAttributes','type','key','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','include','rows','catch','show','keys','create','body','find','params','destroy','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x2d994d,_0x168a27){var _0xd54be4=function(_0x1db925){while(--_0x1db925){_0x2d994d['push'](_0x2d994d['shift']());}};_0xd54be4(++_0x168a27);}(_0x4f4f,0xa3));var _0xf4f4=function(_0x3ba5d5,_0x550b1a){_0x3ba5d5=_0x3ba5d5-0x0;var _0x408418=_0x4f4f[_0x3ba5d5];return _0x408418;};'use strict';var pdf=require(_0xf4f4('0x0'));var emlformat=require(_0xf4f4('0x1'));var rimraf=require(_0xf4f4('0x2'));var zipdir=require(_0xf4f4('0x3'));var jsonpatch=require(_0xf4f4('0x4'));var rp=require(_0xf4f4('0x5'));var moment=require(_0xf4f4('0x6'));var BPromise=require(_0xf4f4('0x7'));var Mustache=require(_0xf4f4('0x8'));var util=require(_0xf4f4('0x9'));var path=require(_0xf4f4('0xa'));var sox=require('sox');var csv=require(_0xf4f4('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xf4f4('0xc'));var crypto=require(_0xf4f4('0xd'));var jsforce=require(_0xf4f4('0xe'));var deskjs=require(_0xf4f4('0xf'));var toCsv=require(_0xf4f4('0xb'));var querystring=require(_0xf4f4('0x10'));var Papa=require(_0xf4f4('0x11'));var Redis=require(_0xf4f4('0x12'));var authService=require(_0xf4f4('0x13'));var qs=require(_0xf4f4('0x14'));var as=require(_0xf4f4('0x15'));var hardwareService=require(_0xf4f4('0x16'));var logger=require(_0xf4f4('0x17'))(_0xf4f4('0x18'));var utils=require(_0xf4f4('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xf4f4('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43b59c,_0x57efbf){_0x57efbf=_0x57efbf||0xcc;return function(_0x54ef96){if(_0x54ef96){return _0x43b59c[_0xf4f4('0x1b')](_0x57efbf);}return _0x43b59c[_0xf4f4('0x1c')](_0x57efbf)[_0xf4f4('0x1d')]();};}function respondWithResult(_0x59674b,_0x5024ef){_0x5024ef=_0x5024ef||0xc8;return function(_0x3171a2){if(_0x3171a2){return _0x59674b[_0xf4f4('0x1c')](_0x5024ef)[_0xf4f4('0x1e')](_0x3171a2);}};}function respondWithFilteredResult(_0x327fb6,_0x4da339){return function(_0x504c23){if(_0x504c23){var _0x42f6df=_0x504c23[_0xf4f4('0x1f')],_0x4bcb69=_0x4da339[_0xf4f4('0x20')],_0x309b26=_0x4da339['offset']+_0x4da339[_0xf4f4('0x21')],_0x279055;if(_0x309b26>=_0x42f6df){_0x309b26=_0x42f6df;_0x279055=0xc8;}else{_0x279055=0xce;}_0x327fb6[_0xf4f4('0x1c')](_0x279055);return _0x327fb6[_0xf4f4('0x22')](_0xf4f4('0x23'),_0x4bcb69+'-'+_0x309b26+'/'+_0x42f6df)[_0xf4f4('0x1e')](_0x504c23);}return null;};}function patchUpdates(_0x833a51){return function(_0x20704c){try{jsonpatch['apply'](_0x20704c,_0x833a51,!![]);}catch(_0x369964){return BPromise[_0xf4f4('0x24')](_0x369964);}return _0x20704c[_0xf4f4('0x25')]();};}function saveUpdates(_0x54ba06,_0x573e75){return function(_0x6efba3){if(_0x6efba3){return _0x6efba3[_0xf4f4('0x26')](_0x54ba06)[_0xf4f4('0x27')](function(_0x1d1598){return _0x1d1598;});}return null;};}function removeEntity(_0x73ae14,_0x3ee69d){return function(_0x427600){if(_0x427600){return _0x427600['destroy']()['then'](function(){_0x73ae14[_0xf4f4('0x1c')](0xcc)[_0xf4f4('0x1d')]();});}};}function handleEntityNotFound(_0x3b5057,_0x5bc5b3){return function(_0x1e0a5b){if(!_0x1e0a5b){_0x3b5057[_0xf4f4('0x1b')](0x194);}return _0x1e0a5b;};}function handleError(_0x53161d,_0x4a201a){_0x4a201a=_0x4a201a||0x1f4;return function(_0x3025d4){logger['error'](_0x3025d4[_0xf4f4('0x28')]);if(_0x3025d4[_0xf4f4('0x29')]){delete _0x3025d4[_0xf4f4('0x29')];}_0x53161d[_0xf4f4('0x1c')](_0x4a201a)[_0xf4f4('0x2a')](_0x3025d4);};}exports[_0xf4f4('0x2b')]=function(_0x516f25,_0x41eb67){var _0x3d95c6={},_0x88773f={},_0x11bce2={'count':0x0,'rows':[]};var _0x520eb8=_[_0xf4f4('0x2c')](db[_0xf4f4('0x2d')][_0xf4f4('0x2e')],function(_0x4c35ef){return{'name':_0x4c35ef['fieldName'],'type':_0x4c35ef[_0xf4f4('0x2f')][_0xf4f4('0x30')]};});_0x88773f['model']=_['differenceBy'](_[_0xf4f4('0x2c')](_0x520eb8,_0xf4f4('0x29')),[_0xf4f4('0x29')]);_0x88773f[_0xf4f4('0x31')]=_['keys'](_0x516f25[_0xf4f4('0x31')]);_0x88773f[_0xf4f4('0x32')]=_[_0xf4f4('0x33')](_0x88773f['model'],_0x88773f['query']);_0x3d95c6['attributes']=_[_0xf4f4('0x33')](_0x88773f[_0xf4f4('0x34')],qs[_0xf4f4('0x35')](_0x516f25['query']['fields']));_0x3d95c6[_0xf4f4('0x36')]=_0x3d95c6[_0xf4f4('0x36')][_0xf4f4('0x37')]?_0x3d95c6[_0xf4f4('0x36')]:_0x88773f[_0xf4f4('0x34')];if(!_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x38')]('nolimit')){_0x3d95c6['limit']=qs[_0xf4f4('0x21')](_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x21')]);_0x3d95c6[_0xf4f4('0x20')]=qs[_0xf4f4('0x20')](_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x20')]);}_0x3d95c6[_0xf4f4('0x39')]=qs['sort'](_0x516f25['query'][_0xf4f4('0x3a')]);_0x3d95c6['where']=qs[_0xf4f4('0x32')](_[_0xf4f4('0x3b')](_0x516f25['query'],_0x88773f[_0xf4f4('0x32')]),_0x520eb8);if(_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x3c')]){_0x3d95c6['where']=_['merge'](_0x3d95c6[_0xf4f4('0x3d')],{'$or':_['map'](_0x520eb8,function(_0x58a6d8){if(_0x58a6d8['type']!==_0xf4f4('0x3e')){var _0x4ff68f={};_0x4ff68f[_0x58a6d8[_0xf4f4('0x29')]]={'$like':'%'+_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x3c')]+'%'};return _0x4ff68f;}})});}_0x3d95c6=_[_0xf4f4('0x3f')]({},_0x3d95c6,_0x516f25[_0xf4f4('0x40')]);var _0x4cc058={'where':_0x3d95c6[_0xf4f4('0x3d')]};return db['VoiceMailMessage'][_0xf4f4('0x1f')](_0x4cc058)[_0xf4f4('0x27')](function(_0x1ae521){_0x11bce2[_0xf4f4('0x1f')]=_0x1ae521;if(_0x516f25[_0xf4f4('0x31')][_0xf4f4('0x41')]){_0x3d95c6[_0xf4f4('0x42')]=[{'all':!![]}];}return db['VoiceMailMessage']['findAll'](_0x3d95c6);})['then'](function(_0x5ae896){_0x11bce2[_0xf4f4('0x43')]=_0x5ae896;return _0x11bce2;})['then'](respondWithFilteredResult(_0x41eb67,_0x3d95c6))[_0xf4f4('0x44')](handleError(_0x41eb67,null));};exports[_0xf4f4('0x45')]=function(_0x3a0d6b,_0x1f6b0b){var _0x309e1a={'raw':!![],'where':{'id':_0x3a0d6b['params']['id']}},_0x45a8e6={};_0x45a8e6[_0xf4f4('0x34')]=_[_0xf4f4('0x46')](db['VoiceMailMessage'][_0xf4f4('0x2e')]);_0x45a8e6[_0xf4f4('0x31')]=_[_0xf4f4('0x46')](_0x3a0d6b['query']);_0x45a8e6['filters']=_[_0xf4f4('0x33')](_0x45a8e6[_0xf4f4('0x34')],_0x45a8e6[_0xf4f4('0x31')]);_0x309e1a['attributes']=_[_0xf4f4('0x33')](_0x45a8e6[_0xf4f4('0x34')],qs[_0xf4f4('0x35')](_0x3a0d6b[_0xf4f4('0x31')][_0xf4f4('0x35')]));_0x309e1a[_0xf4f4('0x36')]=_0x309e1a['attributes'][_0xf4f4('0x37')]?_0x309e1a[_0xf4f4('0x36')]:_0x45a8e6[_0xf4f4('0x34')];if(_0x3a0d6b[_0xf4f4('0x31')][_0xf4f4('0x41')]){_0x309e1a[_0xf4f4('0x42')]=[{'all':!![]}];}_0x309e1a=_['merge']({},_0x309e1a,_0x3a0d6b[_0xf4f4('0x40')]);return db[_0xf4f4('0x2d')]['find'](_0x309e1a)[_0xf4f4('0x27')](handleEntityNotFound(_0x1f6b0b,null))[_0xf4f4('0x27')](respondWithResult(_0x1f6b0b,null))[_0xf4f4('0x44')](handleError(_0x1f6b0b,null));};exports[_0xf4f4('0x47')]=function(_0x29b8ec,_0x207c4f){return db[_0xf4f4('0x2d')]['create'](_0x29b8ec[_0xf4f4('0x48')],{})['then'](respondWithResult(_0x207c4f,0xc9))[_0xf4f4('0x44')](handleError(_0x207c4f,null));};exports[_0xf4f4('0x26')]=function(_0xf821b4,_0xfb4b01){if(_0xf821b4['body']['id']){delete _0xf821b4[_0xf4f4('0x48')]['id'];}return db[_0xf4f4('0x2d')][_0xf4f4('0x49')]({'where':{'id':_0xf821b4[_0xf4f4('0x4a')]['id']}})['then'](handleEntityNotFound(_0xfb4b01,null))[_0xf4f4('0x27')](saveUpdates(_0xf821b4[_0xf4f4('0x48')],null))[_0xf4f4('0x27')](respondWithResult(_0xfb4b01,null))['catch'](handleError(_0xfb4b01,null));};exports[_0xf4f4('0x4b')]=function(_0x2b91a1,_0x2471c3){return db['VoiceMailMessage']['find']({'where':{'id':_0x2b91a1[_0xf4f4('0x4a')]['id']}})['then'](handleEntityNotFound(_0x2471c3,null))[_0xf4f4('0x27')](removeEntity(_0x2471c3,null))[_0xf4f4('0x44')](handleError(_0x2471c3,null));};exports[_0xf4f4('0x4c')]=function(_0x192f74,_0x10107a,_0x250e6b){return db['VoiceMailMessage'][_0xf4f4('0x49')]({'where':{'id':_0x192f74[_0xf4f4('0x4a')]['id']},'attributes':['id',_0xf4f4('0x4d'),_0xf4f4('0x4e')]})['then'](handleEntityNotFound(_0x10107a,null))['then'](function(_0x370e40){if(_0x370e40){if(!_0x370e40[_0xf4f4('0x4d')]){throw new db[(_0xf4f4('0x4f'))][(_0xf4f4('0x50'))](_0xf4f4('0x51'));}var _0x24f1fe={'Content-Type':_0xf4f4('0x52'),'Content-Disposition':_0xf4f4('0x53')};if(_0x370e40['msg_id']){_0x24f1fe[_0xf4f4('0x54')]=_0xf4f4('0x55')+_0x370e40[_0xf4f4('0x4e')]+_0xf4f4('0x56');}_0x10107a[_0xf4f4('0x22')](_0x24f1fe);return _0x10107a[_0xf4f4('0x2a')](new Buffer(_0x370e40[_0xf4f4('0x4d')]));}})[_0xf4f4('0x44')](handleError(_0x10107a,null));};