Built motion from commit 449495f6.|2.6.27
[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 _0x1923=['includeAll','include','findAll','catch','params','fields','length','options','find','create','body','update','destroy','download','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','msg_id','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','send','recording','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','name','index','fieldName','type','key','model','map','query','keys','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','VoiceMailMessage','then'];(function(_0x3055ab,_0x4d1f74){var _0x31d336=function(_0x207a6a){while(--_0x207a6a){_0x3055ab['push'](_0x3055ab['shift']());}};_0x31d336(++_0x4d1f74);}(_0x1923,0x117));var _0x3192=function(_0x5c8a1f,_0xfdb46e){_0x5c8a1f=_0x5c8a1f-0x0;var _0x8592e9=_0x1923[_0x5c8a1f];return _0x8592e9;};'use strict';var emlformat=require(_0x3192('0x0'));var rimraf=require(_0x3192('0x1'));var zipdir=require(_0x3192('0x2'));var jsonpatch=require(_0x3192('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3192('0x4'));var Mustache=require('mustache');var util=require(_0x3192('0x5'));var path=require(_0x3192('0x6'));var sox=require(_0x3192('0x7'));var csv=require(_0x3192('0x8'));var ejs=require(_0x3192('0x9'));var fs=require('fs');var fs_extra=require(_0x3192('0xa'));var _=require('lodash');var squel=require(_0x3192('0xb'));var crypto=require(_0x3192('0xc'));var jsforce=require(_0x3192('0xd'));var deskjs=require(_0x3192('0xe'));var toCsv=require(_0x3192('0x8'));var querystring=require(_0x3192('0xf'));var Papa=require(_0x3192('0x10'));var Redis=require(_0x3192('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x3192('0x12'));var as=require(_0x3192('0x13'));var hardwareService=require(_0x3192('0x14'));var logger=require(_0x3192('0x15'))(_0x3192('0x16'));var utils=require(_0x3192('0x17'));var config=require(_0x3192('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x3192('0x19'))['db'];function respondWithStatusCode(_0x2af9a4,_0x551ee7){_0x551ee7=_0x551ee7||0xcc;return function(_0xbce135){if(_0xbce135){return _0x2af9a4[_0x3192('0x1a')](_0x551ee7);}return _0x2af9a4[_0x3192('0x1b')](_0x551ee7)['end']();};}function respondWithResult(_0x31651c,_0x29e7d0){_0x29e7d0=_0x29e7d0||0xc8;return function(_0x586896){if(_0x586896){return _0x31651c[_0x3192('0x1b')](_0x29e7d0)[_0x3192('0x1c')](_0x586896);}};}function respondWithFilteredResult(_0x56732,_0x3dfea9){return function(_0x1928b3){if(_0x1928b3){var _0xbd3fad=typeof _0x3dfea9['offset']===_0x3192('0x1d')&&typeof _0x3dfea9['limit']===_0x3192('0x1d');var _0x11e013=_0x1928b3[_0x3192('0x1e')];var _0x22ae82=_0xbd3fad?0x0:_0x3dfea9['offset'];var _0x501f25=_0xbd3fad?_0x1928b3[_0x3192('0x1e')]:_0x3dfea9[_0x3192('0x1f')]+_0x3dfea9[_0x3192('0x20')];var _0x53b24c;if(_0x501f25>=_0x11e013){_0x501f25=_0x11e013;_0x53b24c=0xc8;}else{_0x53b24c=0xce;}_0x56732[_0x3192('0x1b')](_0x53b24c);return _0x56732[_0x3192('0x21')](_0x3192('0x22'),_0x22ae82+'-'+_0x501f25+'/'+_0x11e013)['json'](_0x1928b3);}return null;};}function patchUpdates(_0x253ccb){return function(_0x44e312){try{jsonpatch[_0x3192('0x23')](_0x44e312,_0x253ccb,!![]);}catch(_0x1b7285){return BPromise[_0x3192('0x24')](_0x1b7285);}return _0x44e312[_0x3192('0x25')]();};}function saveUpdates(_0x3578ce,_0x70549b){return function(_0x40aa96){if(_0x40aa96){return _0x40aa96['update'](_0x3578ce)['then'](function(_0x12b9b9){return _0x12b9b9;});}return null;};}function removeEntity(_0x21810f,_0x4aed18){return function(_0xc41b97){if(_0xc41b97){return _0xc41b97['destroy']()['then'](function(){_0x21810f[_0x3192('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x703969,_0x13770b){return function(_0x5a9134){if(!_0x5a9134){_0x703969[_0x3192('0x1a')](0x194);}return _0x5a9134;};}function handleError(_0x307c81,_0x3c6608){_0x3c6608=_0x3c6608||0x1f4;return function(_0x1855f4){logger['error'](_0x1855f4['stack']);if(_0x1855f4[_0x3192('0x26')]){delete _0x1855f4[_0x3192('0x26')];}_0x307c81[_0x3192('0x1b')](_0x3c6608)['send'](_0x1855f4);};}exports[_0x3192('0x27')]=function(_0x398cf3,_0x19807c){var _0x4686f7={},_0x338ef={},_0x1cf543={'count':0x0,'rows':[]};var _0x5d0d5f=_['map'](db['VoiceMailMessage']['rawAttributes'],function(_0x213848){return{'name':_0x213848[_0x3192('0x28')],'type':_0x213848[_0x3192('0x29')][_0x3192('0x2a')]};});_0x338ef[_0x3192('0x2b')]=_['differenceBy'](_[_0x3192('0x2c')](_0x5d0d5f,_0x3192('0x26')),['name']);_0x338ef[_0x3192('0x2d')]=_[_0x3192('0x2e')](_0x398cf3[_0x3192('0x2d')]);_0x338ef['filters']=_['intersection'](_0x338ef[_0x3192('0x2b')],_0x338ef['query']);_0x4686f7['attributes']=_[_0x3192('0x2f')](_0x338ef['model'],qs['fields'](_0x398cf3[_0x3192('0x2d')]['fields']));_0x4686f7[_0x3192('0x30')]=_0x4686f7[_0x3192('0x30')]['length']?_0x4686f7[_0x3192('0x30')]:_0x338ef[_0x3192('0x2b')];if(!_0x398cf3[_0x3192('0x2d')][_0x3192('0x31')](_0x3192('0x32'))){_0x4686f7[_0x3192('0x20')]=qs[_0x3192('0x20')](_0x398cf3[_0x3192('0x2d')]['limit']);_0x4686f7[_0x3192('0x1f')]=qs['offset'](_0x398cf3[_0x3192('0x2d')][_0x3192('0x1f')]);}_0x4686f7[_0x3192('0x33')]=qs[_0x3192('0x34')](_0x398cf3['query'][_0x3192('0x34')]);_0x4686f7[_0x3192('0x35')]=qs[_0x3192('0x36')](_[_0x3192('0x37')](_0x398cf3[_0x3192('0x2d')],_0x338ef[_0x3192('0x36')]),_0x5d0d5f);if(_0x398cf3[_0x3192('0x2d')][_0x3192('0x38')]){_0x4686f7[_0x3192('0x35')]=_['merge'](_0x4686f7[_0x3192('0x35')],{'$or':_[_0x3192('0x2c')](_0x5d0d5f,function(_0x1a2847){if(_0x1a2847[_0x3192('0x29')]!==_0x3192('0x39')){var _0x1b8994={};_0x1b8994[_0x1a2847[_0x3192('0x26')]]={'$like':'%'+_0x398cf3[_0x3192('0x2d')]['filter']+'%'};return _0x1b8994;}})});}_0x4686f7=_[_0x3192('0x3a')]({},_0x4686f7,_0x398cf3['options']);var _0x4c795f={'where':_0x4686f7[_0x3192('0x35')]};return db[_0x3192('0x3b')][_0x3192('0x1e')](_0x4c795f)[_0x3192('0x3c')](function(_0x3b79e8){_0x1cf543[_0x3192('0x1e')]=_0x3b79e8;if(_0x398cf3[_0x3192('0x2d')][_0x3192('0x3d')]){_0x4686f7[_0x3192('0x3e')]=[{'all':!![]}];}return db[_0x3192('0x3b')][_0x3192('0x3f')](_0x4686f7);})[_0x3192('0x3c')](function(_0x4908ec){_0x1cf543['rows']=_0x4908ec;return _0x1cf543;})[_0x3192('0x3c')](respondWithFilteredResult(_0x19807c,_0x4686f7))[_0x3192('0x40')](handleError(_0x19807c,null));};exports['show']=function(_0x397b45,_0x3e7130){var _0x2d48f2={'raw':!![],'where':{'id':_0x397b45[_0x3192('0x41')]['id']}},_0x108023={};_0x108023[_0x3192('0x2b')]=_['keys'](db[_0x3192('0x3b')]['rawAttributes']);_0x108023[_0x3192('0x2d')]=_[_0x3192('0x2e')](_0x397b45[_0x3192('0x2d')]);_0x108023[_0x3192('0x36')]=_[_0x3192('0x2f')](_0x108023[_0x3192('0x2b')],_0x108023[_0x3192('0x2d')]);_0x2d48f2[_0x3192('0x30')]=_[_0x3192('0x2f')](_0x108023[_0x3192('0x2b')],qs[_0x3192('0x42')](_0x397b45['query']['fields']));_0x2d48f2[_0x3192('0x30')]=_0x2d48f2[_0x3192('0x30')][_0x3192('0x43')]?_0x2d48f2[_0x3192('0x30')]:_0x108023[_0x3192('0x2b')];if(_0x397b45[_0x3192('0x2d')][_0x3192('0x3d')]){_0x2d48f2[_0x3192('0x3e')]=[{'all':!![]}];}_0x2d48f2=_[_0x3192('0x3a')]({},_0x2d48f2,_0x397b45[_0x3192('0x44')]);return db[_0x3192('0x3b')][_0x3192('0x45')](_0x2d48f2)[_0x3192('0x3c')](handleEntityNotFound(_0x3e7130,null))[_0x3192('0x3c')](respondWithResult(_0x3e7130,null))[_0x3192('0x40')](handleError(_0x3e7130,null));};exports[_0x3192('0x46')]=function(_0x16dd51,_0x18c053){return db['VoiceMailMessage'][_0x3192('0x46')](_0x16dd51[_0x3192('0x47')],{})['then'](respondWithResult(_0x18c053,0xc9))[_0x3192('0x40')](handleError(_0x18c053,null));};exports[_0x3192('0x48')]=function(_0x4adff8,_0x7a84db){if(_0x4adff8[_0x3192('0x47')]['id']){delete _0x4adff8[_0x3192('0x47')]['id'];}return db[_0x3192('0x3b')][_0x3192('0x45')]({'where':{'id':_0x4adff8[_0x3192('0x41')]['id']}})[_0x3192('0x3c')](handleEntityNotFound(_0x7a84db,null))[_0x3192('0x3c')](saveUpdates(_0x4adff8['body'],null))[_0x3192('0x3c')](respondWithResult(_0x7a84db,null))[_0x3192('0x40')](handleError(_0x7a84db,null));};exports[_0x3192('0x49')]=function(_0x463b23,_0x2d1641){return db[_0x3192('0x3b')][_0x3192('0x45')]({'where':{'id':_0x463b23['params']['id']}})['then'](handleEntityNotFound(_0x2d1641,null))[_0x3192('0x3c')](removeEntity(_0x2d1641,null))[_0x3192('0x40')](handleError(_0x2d1641,null));};exports[_0x3192('0x4a')]=function(_0x17407e,_0x1aeb84,_0x4e9cf0){return db[_0x3192('0x3b')][_0x3192('0x45')]({'where':{'id':_0x17407e[_0x3192('0x41')]['id']},'attributes':['id','recording','msg_id']})['then'](handleEntityNotFound(_0x1aeb84,null))[_0x3192('0x3c')](function(_0x174a9c){if(_0x174a9c){if(!_0x174a9c['recording']){throw new db['Sequelize'][(_0x3192('0x4b'))](_0x3192('0x4c'));}var _0x53ca58={'Content-Type':_0x3192('0x4d'),'Content-Disposition':_0x3192('0x4e')};if(_0x174a9c[_0x3192('0x4f')]){_0x53ca58[_0x3192('0x50')]=_0x3192('0x51')+_0x174a9c[_0x3192('0x4f')]+_0x3192('0x52');}_0x1aeb84[_0x3192('0x21')](_0x53ca58);return _0x1aeb84[_0x3192('0x53')](new Buffer(_0x174a9c[_0x3192('0x54')]));}})[_0x3192('0x40')](handleError(_0x1aeb84,null));};