Built motion from commit a134ab58.|2.6.29
[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 _0x4c28=['eml-format','rimraf','fast-json-patch','bluebird','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','error','stack','name','index','fieldName','key','model','differenceBy','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','map','merge','options','VoiceMailMessage','includeAll','findAll','rows','catch','show','params','keys','include','find','body','destroy','download','recording','msg_id','Sequelize','ValidationError','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','send'];(function(_0x38b0c4,_0x1afc81){var _0x52c964=function(_0xc60bb9){while(--_0xc60bb9){_0x38b0c4['push'](_0x38b0c4['shift']());}};_0x52c964(++_0x1afc81);}(_0x4c28,0xf9));var _0x84c2=function(_0x214e18,_0x13189b){_0x214e18=_0x214e18-0x0;var _0x323044=_0x4c28[_0x214e18];return _0x323044;};'use strict';var emlformat=require(_0x84c2('0x0'));var rimraf=require(_0x84c2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x84c2('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x84c2('0x3'));var Mustache=require('mustache');var util=require(_0x84c2('0x4'));var path=require('path');var sox=require(_0x84c2('0x5'));var csv=require(_0x84c2('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x84c2('0x7'));var _=require(_0x84c2('0x8'));var squel=require('squel');var crypto=require(_0x84c2('0x9'));var jsforce=require(_0x84c2('0xa'));var deskjs=require(_0x84c2('0xb'));var toCsv=require(_0x84c2('0x6'));var querystring=require(_0x84c2('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x84c2('0xd'));var qs=require(_0x84c2('0xe'));var as=require(_0x84c2('0xf'));var hardwareService=require(_0x84c2('0x10'));var logger=require(_0x84c2('0x11'))(_0x84c2('0x12'));var utils=require('../../config/utils');var config=require(_0x84c2('0x13'));var licenseUtil=require(_0x84c2('0x14'));var db=require(_0x84c2('0x15'))['db'];function respondWithStatusCode(_0x2064af,_0x48d4e9){_0x48d4e9=_0x48d4e9||0xcc;return function(_0x16e821){if(_0x16e821){return _0x2064af[_0x84c2('0x16')](_0x48d4e9);}return _0x2064af['status'](_0x48d4e9)[_0x84c2('0x17')]();};}function respondWithResult(_0x26bcb0,_0x4e7545){_0x4e7545=_0x4e7545||0xc8;return function(_0x2b1eec){if(_0x2b1eec){return _0x26bcb0[_0x84c2('0x18')](_0x4e7545)[_0x84c2('0x19')](_0x2b1eec);}};}function respondWithFilteredResult(_0x255a21,_0x53176e){return function(_0x21fdc5){if(_0x21fdc5){var _0xb2c05e=typeof _0x53176e[_0x84c2('0x1a')]===_0x84c2('0x1b')&&typeof _0x53176e[_0x84c2('0x1c')]===_0x84c2('0x1b');var _0x1cc596=_0x21fdc5[_0x84c2('0x1d')];var _0x42f8e3=_0xb2c05e?0x0:_0x53176e['offset'];var _0x437df0=_0xb2c05e?_0x21fdc5[_0x84c2('0x1d')]:_0x53176e[_0x84c2('0x1a')]+_0x53176e[_0x84c2('0x1c')];var _0x5809c3;if(_0x437df0>=_0x1cc596){_0x437df0=_0x1cc596;_0x5809c3=0xc8;}else{_0x5809c3=0xce;}_0x255a21['status'](_0x5809c3);return _0x255a21[_0x84c2('0x1e')](_0x84c2('0x1f'),_0x42f8e3+'-'+_0x437df0+'/'+_0x1cc596)[_0x84c2('0x19')](_0x21fdc5);}return null;};}function patchUpdates(_0x1f0c2d){return function(_0x5184f3){try{jsonpatch[_0x84c2('0x20')](_0x5184f3,_0x1f0c2d,!![]);}catch(_0x326c1a){return BPromise[_0x84c2('0x21')](_0x326c1a);}return _0x5184f3['save']();};}function saveUpdates(_0x420264,_0x4734e9){return function(_0x1fb176){if(_0x1fb176){return _0x1fb176[_0x84c2('0x22')](_0x420264)['then'](function(_0xd80896){return _0xd80896;});}return null;};}function removeEntity(_0x477bbd,_0x79cd6f){return function(_0x5c39df){if(_0x5c39df){return _0x5c39df['destroy']()[_0x84c2('0x23')](function(){_0x477bbd['status'](0xcc)[_0x84c2('0x17')]();});}};}function handleEntityNotFound(_0x1134c3,_0x1a2dfd){return function(_0x26b55c){if(!_0x26b55c){_0x1134c3[_0x84c2('0x16')](0x194);}return _0x26b55c;};}function handleError(_0x12457a,_0x5f4fa6){_0x5f4fa6=_0x5f4fa6||0x1f4;return function(_0x3a193){logger[_0x84c2('0x24')](_0x3a193[_0x84c2('0x25')]);if(_0x3a193[_0x84c2('0x26')]){delete _0x3a193[_0x84c2('0x26')];}_0x12457a[_0x84c2('0x18')](_0x5f4fa6)['send'](_0x3a193);};}exports[_0x84c2('0x27')]=function(_0x43504b,_0x2c8ecd){var _0x149fc2={},_0x130bd6={},_0x1ba2b0={'count':0x0,'rows':[]};var _0x1dcc1d=_['map'](db['VoiceMailMessage']['rawAttributes'],function(_0x264c93){return{'name':_0x264c93[_0x84c2('0x28')],'type':_0x264c93['type'][_0x84c2('0x29')]};});_0x130bd6[_0x84c2('0x2a')]=_[_0x84c2('0x2b')](_['map'](_0x1dcc1d,'name'),[_0x84c2('0x26')]);_0x130bd6[_0x84c2('0x2c')]=_['keys'](_0x43504b[_0x84c2('0x2c')]);_0x130bd6[_0x84c2('0x2d')]=_[_0x84c2('0x2e')](_0x130bd6[_0x84c2('0x2a')],_0x130bd6[_0x84c2('0x2c')]);_0x149fc2[_0x84c2('0x2f')]=_['intersection'](_0x130bd6[_0x84c2('0x2a')],qs['fields'](_0x43504b[_0x84c2('0x2c')][_0x84c2('0x30')]));_0x149fc2[_0x84c2('0x2f')]=_0x149fc2['attributes'][_0x84c2('0x31')]?_0x149fc2[_0x84c2('0x2f')]:_0x130bd6[_0x84c2('0x2a')];if(!_0x43504b['query'][_0x84c2('0x32')](_0x84c2('0x33'))){_0x149fc2[_0x84c2('0x1c')]=qs['limit'](_0x43504b[_0x84c2('0x2c')][_0x84c2('0x1c')]);_0x149fc2[_0x84c2('0x1a')]=qs[_0x84c2('0x1a')](_0x43504b[_0x84c2('0x2c')][_0x84c2('0x1a')]);}_0x149fc2[_0x84c2('0x34')]=qs[_0x84c2('0x35')](_0x43504b[_0x84c2('0x2c')][_0x84c2('0x35')]);_0x149fc2['where']=qs['filters'](_[_0x84c2('0x36')](_0x43504b[_0x84c2('0x2c')],_0x130bd6[_0x84c2('0x2d')]),_0x1dcc1d);if(_0x43504b[_0x84c2('0x2c')][_0x84c2('0x37')]){_0x149fc2[_0x84c2('0x38')]=_['merge'](_0x149fc2['where'],{'$or':_[_0x84c2('0x39')](_0x1dcc1d,function(_0x76aa11){if(_0x76aa11['type']!=='VIRTUAL'){var _0x54eb40={};_0x54eb40[_0x76aa11[_0x84c2('0x26')]]={'$like':'%'+_0x43504b[_0x84c2('0x2c')][_0x84c2('0x37')]+'%'};return _0x54eb40;}})});}_0x149fc2=_[_0x84c2('0x3a')]({},_0x149fc2,_0x43504b[_0x84c2('0x3b')]);var _0x139010={'where':_0x149fc2['where']};return db[_0x84c2('0x3c')]['count'](_0x139010)[_0x84c2('0x23')](function(_0x9639f8){_0x1ba2b0['count']=_0x9639f8;if(_0x43504b['query'][_0x84c2('0x3d')]){_0x149fc2['include']=[{'all':!![]}];}return db[_0x84c2('0x3c')][_0x84c2('0x3e')](_0x149fc2);})[_0x84c2('0x23')](function(_0x29656c){_0x1ba2b0[_0x84c2('0x3f')]=_0x29656c;return _0x1ba2b0;})['then'](respondWithFilteredResult(_0x2c8ecd,_0x149fc2))[_0x84c2('0x40')](handleError(_0x2c8ecd,null));};exports[_0x84c2('0x41')]=function(_0x1d2eb3,_0x167b2b){var _0x5ec0c3={'raw':!![],'where':{'id':_0x1d2eb3[_0x84c2('0x42')]['id']}},_0x592071={};_0x592071[_0x84c2('0x2a')]=_[_0x84c2('0x43')](db[_0x84c2('0x3c')]['rawAttributes']);_0x592071['query']=_[_0x84c2('0x43')](_0x1d2eb3[_0x84c2('0x2c')]);_0x592071['filters']=_[_0x84c2('0x2e')](_0x592071[_0x84c2('0x2a')],_0x592071[_0x84c2('0x2c')]);_0x5ec0c3[_0x84c2('0x2f')]=_[_0x84c2('0x2e')](_0x592071['model'],qs[_0x84c2('0x30')](_0x1d2eb3[_0x84c2('0x2c')][_0x84c2('0x30')]));_0x5ec0c3[_0x84c2('0x2f')]=_0x5ec0c3[_0x84c2('0x2f')][_0x84c2('0x31')]?_0x5ec0c3[_0x84c2('0x2f')]:_0x592071[_0x84c2('0x2a')];if(_0x1d2eb3['query'][_0x84c2('0x3d')]){_0x5ec0c3[_0x84c2('0x44')]=[{'all':!![]}];}_0x5ec0c3=_[_0x84c2('0x3a')]({},_0x5ec0c3,_0x1d2eb3['options']);return db[_0x84c2('0x3c')][_0x84c2('0x45')](_0x5ec0c3)[_0x84c2('0x23')](handleEntityNotFound(_0x167b2b,null))[_0x84c2('0x23')](respondWithResult(_0x167b2b,null))[_0x84c2('0x40')](handleError(_0x167b2b,null));};exports['create']=function(_0x2ae72d,_0x4b1834){return db[_0x84c2('0x3c')]['create'](_0x2ae72d[_0x84c2('0x46')],{})[_0x84c2('0x23')](respondWithResult(_0x4b1834,0xc9))['catch'](handleError(_0x4b1834,null));};exports[_0x84c2('0x22')]=function(_0x470b7d,_0x37892e){if(_0x470b7d[_0x84c2('0x46')]['id']){delete _0x470b7d['body']['id'];}return db[_0x84c2('0x3c')][_0x84c2('0x45')]({'where':{'id':_0x470b7d[_0x84c2('0x42')]['id']}})['then'](handleEntityNotFound(_0x37892e,null))['then'](saveUpdates(_0x470b7d[_0x84c2('0x46')],null))[_0x84c2('0x23')](respondWithResult(_0x37892e,null))[_0x84c2('0x40')](handleError(_0x37892e,null));};exports[_0x84c2('0x47')]=function(_0x49901c,_0x77270f){return db[_0x84c2('0x3c')]['find']({'where':{'id':_0x49901c[_0x84c2('0x42')]['id']}})[_0x84c2('0x23')](handleEntityNotFound(_0x77270f,null))[_0x84c2('0x23')](removeEntity(_0x77270f,null))[_0x84c2('0x40')](handleError(_0x77270f,null));};exports[_0x84c2('0x48')]=function(_0x44136c,_0x2704f8,_0x49f8a7){return db['VoiceMailMessage'][_0x84c2('0x45')]({'where':{'id':_0x44136c[_0x84c2('0x42')]['id']},'attributes':['id',_0x84c2('0x49'),_0x84c2('0x4a')]})[_0x84c2('0x23')](handleEntityNotFound(_0x2704f8,null))[_0x84c2('0x23')](function(_0x4c878a){if(_0x4c878a){if(!_0x4c878a['recording']){throw new db[(_0x84c2('0x4b'))][(_0x84c2('0x4c'))]('VoiceMailMessage\x20not\x20found');}var _0x5297ef={'Content-Type':_0x84c2('0x4d'),'Content-Disposition':_0x84c2('0x4e')};if(_0x4c878a[_0x84c2('0x4a')]){_0x5297ef[_0x84c2('0x4f')]=_0x84c2('0x50')+_0x4c878a[_0x84c2('0x4a')]+_0x84c2('0x51');}_0x2704f8['set'](_0x5297ef);return _0x2704f8[_0x84c2('0x52')](new Buffer(_0x4c878a[_0x84c2('0x49')]));}})[_0x84c2('0x40')](handleError(_0x2704f8,null));};