17a7c9ad818aad195b13ed359f506085adafdf62
[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 _0x8152=['model','differenceBy','query','filters','intersection','attributes','fields','length','nolimit','order','sort','pick','filter','merge','where','options','includeAll','include','rows','catch','show','keys','find','create','body','update','params','download','msg_id','recording','Sequelize','VoiceMailMessage\x20not\x20found','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','set','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','lodash','to-csv','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','offset','limit','count','Content-Range','reject','then','destroy','end','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','fieldName','type','key'];(function(_0x5b78e8,_0x55096b){var _0xf2c321=function(_0x4e0cff){while(--_0x4e0cff){_0x5b78e8['push'](_0x5b78e8['shift']());}};_0xf2c321(++_0x55096b);}(_0x8152,0xc1));var _0x2815=function(_0xda5904,_0xa5f648){_0xda5904=_0xda5904-0x0;var _0x2d5306=_0x8152[_0xda5904];return _0x2d5306;};'use strict';var emlformat=require(_0x2815('0x0'));var rimraf=require(_0x2815('0x1'));var zipdir=require(_0x2815('0x2'));var jsonpatch=require(_0x2815('0x3'));var rp=require(_0x2815('0x4'));var moment=require(_0x2815('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2815('0x6'));var util=require(_0x2815('0x7'));var path=require(_0x2815('0x8'));var sox=require(_0x2815('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2815('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x2815('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2815('0xc'));var as=require(_0x2815('0xd'));var hardwareService=require(_0x2815('0xe'));var logger=require(_0x2815('0xf'))(_0x2815('0x10'));var utils=require(_0x2815('0x11'));var config=require(_0x2815('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x2815('0x13'))['db'];function respondWithStatusCode(_0x139b90,_0x2886ac){_0x2886ac=_0x2886ac||0xcc;return function(_0x976330){if(_0x976330){return _0x139b90[_0x2815('0x14')](_0x2886ac);}return _0x139b90[_0x2815('0x15')](_0x2886ac)['end']();};}function respondWithResult(_0x23b685,_0x2fb4ba){_0x2fb4ba=_0x2fb4ba||0xc8;return function(_0x18a5fa){if(_0x18a5fa){return _0x23b685['status'](_0x2fb4ba)['json'](_0x18a5fa);}};}function respondWithFilteredResult(_0x57f634,_0x5a2a2e){return function(_0x2891bb){if(_0x2891bb){var _0x2f2526=typeof _0x5a2a2e[_0x2815('0x16')]==='undefined'&&typeof _0x5a2a2e[_0x2815('0x17')]==='undefined';var _0xf587fc=_0x2891bb[_0x2815('0x18')];var _0x22222d=_0x2f2526?0x0:_0x5a2a2e[_0x2815('0x16')];var _0x581923=_0x2f2526?_0x2891bb['count']:_0x5a2a2e[_0x2815('0x16')]+_0x5a2a2e[_0x2815('0x17')];var _0x1aa574;if(_0x581923>=_0xf587fc){_0x581923=_0xf587fc;_0x1aa574=0xc8;}else{_0x1aa574=0xce;}_0x57f634[_0x2815('0x15')](_0x1aa574);return _0x57f634['set'](_0x2815('0x19'),_0x22222d+'-'+_0x581923+'/'+_0xf587fc)['json'](_0x2891bb);}return null;};}function patchUpdates(_0x12f85f){return function(_0x5366e9){try{jsonpatch['apply'](_0x5366e9,_0x12f85f,!![]);}catch(_0x3091bb){return BPromise[_0x2815('0x1a')](_0x3091bb);}return _0x5366e9['save']();};}function saveUpdates(_0x117326,_0x9c6773){return function(_0x22a446){if(_0x22a446){return _0x22a446['update'](_0x117326)[_0x2815('0x1b')](function(_0x402ad3){return _0x402ad3;});}return null;};}function removeEntity(_0x1ae4ea,_0x225e8d){return function(_0x2e8337){if(_0x2e8337){return _0x2e8337[_0x2815('0x1c')]()[_0x2815('0x1b')](function(){_0x1ae4ea[_0x2815('0x15')](0xcc)[_0x2815('0x1d')]();});}};}function handleEntityNotFound(_0x4a13f8,_0x2070c5){return function(_0x16bb85){if(!_0x16bb85){_0x4a13f8[_0x2815('0x14')](0x194);}return _0x16bb85;};}function handleError(_0x1f4d36,_0x4e71c8){_0x4e71c8=_0x4e71c8||0x1f4;return function(_0x629b55){logger[_0x2815('0x1e')](_0x629b55[_0x2815('0x1f')]);if(_0x629b55[_0x2815('0x20')]){delete _0x629b55['name'];}_0x1f4d36[_0x2815('0x15')](_0x4e71c8)[_0x2815('0x21')](_0x629b55);};}exports[_0x2815('0x22')]=function(_0x14155e,_0x48a18e){var _0x540974={},_0x4a69b3={},_0x748cad={'count':0x0,'rows':[]};var _0x30da78=_[_0x2815('0x23')](db[_0x2815('0x24')][_0x2815('0x25')],function(_0x30fb10){return{'name':_0x30fb10[_0x2815('0x26')],'type':_0x30fb10[_0x2815('0x27')][_0x2815('0x28')]};});_0x4a69b3[_0x2815('0x29')]=_[_0x2815('0x2a')](_[_0x2815('0x23')](_0x30da78,_0x2815('0x20')),['name']);_0x4a69b3[_0x2815('0x2b')]=_['keys'](_0x14155e[_0x2815('0x2b')]);_0x4a69b3[_0x2815('0x2c')]=_[_0x2815('0x2d')](_0x4a69b3['model'],_0x4a69b3['query']);_0x540974[_0x2815('0x2e')]=_['intersection'](_0x4a69b3[_0x2815('0x29')],qs[_0x2815('0x2f')](_0x14155e[_0x2815('0x2b')][_0x2815('0x2f')]));_0x540974[_0x2815('0x2e')]=_0x540974[_0x2815('0x2e')][_0x2815('0x30')]?_0x540974[_0x2815('0x2e')]:_0x4a69b3[_0x2815('0x29')];if(!_0x14155e['query']['hasOwnProperty'](_0x2815('0x31'))){_0x540974[_0x2815('0x17')]=qs[_0x2815('0x17')](_0x14155e[_0x2815('0x2b')][_0x2815('0x17')]);_0x540974[_0x2815('0x16')]=qs[_0x2815('0x16')](_0x14155e[_0x2815('0x2b')][_0x2815('0x16')]);}_0x540974[_0x2815('0x32')]=qs[_0x2815('0x33')](_0x14155e[_0x2815('0x2b')]['sort']);_0x540974['where']=qs[_0x2815('0x2c')](_[_0x2815('0x34')](_0x14155e[_0x2815('0x2b')],_0x4a69b3[_0x2815('0x2c')]),_0x30da78);if(_0x14155e[_0x2815('0x2b')][_0x2815('0x35')]){_0x540974['where']=_[_0x2815('0x36')](_0x540974[_0x2815('0x37')],{'$or':_['map'](_0x30da78,function(_0x1963fe){if(_0x1963fe[_0x2815('0x27')]!=='VIRTUAL'){var _0x28147c={};_0x28147c[_0x1963fe[_0x2815('0x20')]]={'$like':'%'+_0x14155e[_0x2815('0x2b')][_0x2815('0x35')]+'%'};return _0x28147c;}})});}_0x540974=_['merge']({},_0x540974,_0x14155e[_0x2815('0x38')]);var _0x20bbd1={'where':_0x540974[_0x2815('0x37')]};return db[_0x2815('0x24')]['count'](_0x20bbd1)['then'](function(_0x36fb63){_0x748cad[_0x2815('0x18')]=_0x36fb63;if(_0x14155e['query'][_0x2815('0x39')]){_0x540974[_0x2815('0x3a')]=[{'all':!![]}];}return db[_0x2815('0x24')]['findAll'](_0x540974);})[_0x2815('0x1b')](function(_0x2a0d35){_0x748cad[_0x2815('0x3b')]=_0x2a0d35;return _0x748cad;})[_0x2815('0x1b')](respondWithFilteredResult(_0x48a18e,_0x540974))[_0x2815('0x3c')](handleError(_0x48a18e,null));};exports[_0x2815('0x3d')]=function(_0x115a92,_0x11b7d7){var _0x2cf63d={'raw':!![],'where':{'id':_0x115a92['params']['id']}},_0x2bb8ea={};_0x2bb8ea['model']=_[_0x2815('0x3e')](db[_0x2815('0x24')]['rawAttributes']);_0x2bb8ea[_0x2815('0x2b')]=_[_0x2815('0x3e')](_0x115a92['query']);_0x2bb8ea[_0x2815('0x2c')]=_[_0x2815('0x2d')](_0x2bb8ea[_0x2815('0x29')],_0x2bb8ea['query']);_0x2cf63d['attributes']=_[_0x2815('0x2d')](_0x2bb8ea[_0x2815('0x29')],qs[_0x2815('0x2f')](_0x115a92['query']['fields']));_0x2cf63d['attributes']=_0x2cf63d[_0x2815('0x2e')][_0x2815('0x30')]?_0x2cf63d['attributes']:_0x2bb8ea[_0x2815('0x29')];if(_0x115a92[_0x2815('0x2b')][_0x2815('0x39')]){_0x2cf63d[_0x2815('0x3a')]=[{'all':!![]}];}_0x2cf63d=_[_0x2815('0x36')]({},_0x2cf63d,_0x115a92[_0x2815('0x38')]);return db[_0x2815('0x24')][_0x2815('0x3f')](_0x2cf63d)[_0x2815('0x1b')](handleEntityNotFound(_0x11b7d7,null))[_0x2815('0x1b')](respondWithResult(_0x11b7d7,null))['catch'](handleError(_0x11b7d7,null));};exports['create']=function(_0x3ec93d,_0xba6422){return db[_0x2815('0x24')][_0x2815('0x40')](_0x3ec93d[_0x2815('0x41')],{})[_0x2815('0x1b')](respondWithResult(_0xba6422,0xc9))[_0x2815('0x3c')](handleError(_0xba6422,null));};exports[_0x2815('0x42')]=function(_0x471827,_0x498c78){if(_0x471827[_0x2815('0x41')]['id']){delete _0x471827[_0x2815('0x41')]['id'];}return db['VoiceMailMessage'][_0x2815('0x3f')]({'where':{'id':_0x471827[_0x2815('0x43')]['id']}})['then'](handleEntityNotFound(_0x498c78,null))[_0x2815('0x1b')](saveUpdates(_0x471827['body'],null))[_0x2815('0x1b')](respondWithResult(_0x498c78,null))[_0x2815('0x3c')](handleError(_0x498c78,null));};exports[_0x2815('0x1c')]=function(_0x884cb8,_0xd90004){return db[_0x2815('0x24')][_0x2815('0x3f')]({'where':{'id':_0x884cb8[_0x2815('0x43')]['id']}})[_0x2815('0x1b')](handleEntityNotFound(_0xd90004,null))[_0x2815('0x1b')](removeEntity(_0xd90004,null))[_0x2815('0x3c')](handleError(_0xd90004,null));};exports[_0x2815('0x44')]=function(_0x2d3627,_0x4e79ae,_0x3c7085){return db[_0x2815('0x24')][_0x2815('0x3f')]({'where':{'id':_0x2d3627['params']['id']},'attributes':['id','recording',_0x2815('0x45')]})[_0x2815('0x1b')](handleEntityNotFound(_0x4e79ae,null))['then'](function(_0x404cf5){if(_0x404cf5){if(!_0x404cf5[_0x2815('0x46')]){throw new db[(_0x2815('0x47'))]['ValidationError'](_0x2815('0x48'));}var _0x5f1ff8={'Content-Type':'audio/wav','Content-Disposition':_0x2815('0x49')};if(_0x404cf5['msg_id']){_0x5f1ff8[_0x2815('0x4a')]=_0x2815('0x4b')+_0x404cf5[_0x2815('0x45')]+_0x2815('0x4c');}_0x4e79ae[_0x2815('0x4d')](_0x5f1ff8);return _0x4e79ae[_0x2815('0x21')](new Buffer(_0x404cf5['recording']));}})[_0x2815('0x3c')](handleError(_0x4e79ae,null));};