c4831a3c511af8abb8da9c4ef49286412bee615f
[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 _0xe590=['rawAttributes','fields','length','options','find','body','recording','msg_id','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','.wav\x22','set','send','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','name','VoiceMailMessage','fieldName','type','model','map','keys','query','filters','attributes','intersection','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','rows','catch','params'];(function(_0x11d7c9,_0x11549a){var _0x278e53=function(_0x427769){while(--_0x427769){_0x11d7c9['push'](_0x11d7c9['shift']());}};_0x278e53(++_0x11549a);}(_0xe590,0xaf));var _0x0e59=function(_0x40f52b,_0x522fd4){_0x40f52b=_0x40f52b-0x0;var _0x3afe11=_0xe590[_0x40f52b];return _0x3afe11;};'use strict';var emlformat=require(_0x0e59('0x0'));var rimraf=require(_0x0e59('0x1'));var zipdir=require(_0x0e59('0x2'));var jsonpatch=require(_0x0e59('0x3'));var rp=require(_0x0e59('0x4'));var moment=require('moment');var BPromise=require(_0x0e59('0x5'));var Mustache=require(_0x0e59('0x6'));var util=require(_0x0e59('0x7'));var path=require(_0x0e59('0x8'));var sox=require(_0x0e59('0x9'));var csv=require('to-csv');var ejs=require(_0x0e59('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x0e59('0xb'));var crypto=require(_0x0e59('0xc'));var jsforce=require(_0x0e59('0xd'));var deskjs=require(_0x0e59('0xe'));var toCsv=require(_0x0e59('0xf'));var querystring=require(_0x0e59('0x10'));var Papa=require(_0x0e59('0x11'));var Redis=require(_0x0e59('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x0e59('0x13'));var hardwareService=require(_0x0e59('0x14'));var logger=require('../../config/logger')(_0x0e59('0x15'));var utils=require('../../config/utils');var config=require(_0x0e59('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x0e59('0x17'))['db'];function respondWithStatusCode(_0x2c0482,_0x587b2e){_0x587b2e=_0x587b2e||0xcc;return function(_0x4c627d){if(_0x4c627d){return _0x2c0482[_0x0e59('0x18')](_0x587b2e);}return _0x2c0482['status'](_0x587b2e)[_0x0e59('0x19')]();};}function respondWithResult(_0x55b310,_0x259611){_0x259611=_0x259611||0xc8;return function(_0x102116){if(_0x102116){return _0x55b310[_0x0e59('0x1a')](_0x259611)[_0x0e59('0x1b')](_0x102116);}};}function respondWithFilteredResult(_0x12aa9d,_0x2f3c05){return function(_0x5054ad){if(_0x5054ad){var _0x4c490a=typeof _0x2f3c05[_0x0e59('0x1c')]===_0x0e59('0x1d')&&typeof _0x2f3c05[_0x0e59('0x1e')]===_0x0e59('0x1d');var _0x9fbbb5=_0x5054ad[_0x0e59('0x1f')];var _0xcc2daa=_0x4c490a?0x0:_0x2f3c05[_0x0e59('0x1c')];var _0xb4b188=_0x4c490a?_0x5054ad[_0x0e59('0x1f')]:_0x2f3c05[_0x0e59('0x1c')]+_0x2f3c05['limit'];var _0xf4fa93;if(_0xb4b188>=_0x9fbbb5){_0xb4b188=_0x9fbbb5;_0xf4fa93=0xc8;}else{_0xf4fa93=0xce;}_0x12aa9d[_0x0e59('0x1a')](_0xf4fa93);return _0x12aa9d['set']('Content-Range',_0xcc2daa+'-'+_0xb4b188+'/'+_0x9fbbb5)[_0x0e59('0x1b')](_0x5054ad);}return null;};}function patchUpdates(_0x11cdfd){return function(_0x4b5714){try{jsonpatch[_0x0e59('0x20')](_0x4b5714,_0x11cdfd,!![]);}catch(_0x1e4db7){return BPromise[_0x0e59('0x21')](_0x1e4db7);}return _0x4b5714[_0x0e59('0x22')]();};}function saveUpdates(_0x2ecd14,_0x2a4294){return function(_0x22c799){if(_0x22c799){return _0x22c799[_0x0e59('0x23')](_0x2ecd14)[_0x0e59('0x24')](function(_0x5d7a0b){return _0x5d7a0b;});}return null;};}function removeEntity(_0x556ef2,_0x1e58bb){return function(_0x5b41a2){if(_0x5b41a2){return _0x5b41a2[_0x0e59('0x25')]()[_0x0e59('0x24')](function(){_0x556ef2[_0x0e59('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x42edbc,_0x23ff98){return function(_0x33b4d1){if(!_0x33b4d1){_0x42edbc[_0x0e59('0x18')](0x194);}return _0x33b4d1;};}function handleError(_0x31400c,_0x100916){_0x100916=_0x100916||0x1f4;return function(_0x22a843){logger['error'](_0x22a843['stack']);if(_0x22a843[_0x0e59('0x26')]){delete _0x22a843['name'];}_0x31400c[_0x0e59('0x1a')](_0x100916)['send'](_0x22a843);};}exports['index']=function(_0x45177e,_0x9682fa){var _0x59209e={},_0x3c9a61={},_0x200251={'count':0x0,'rows':[]};var _0x3a2fce=_['map'](db[_0x0e59('0x27')]['rawAttributes'],function(_0x51dbc1){return{'name':_0x51dbc1[_0x0e59('0x28')],'type':_0x51dbc1[_0x0e59('0x29')]['key']};});_0x3c9a61[_0x0e59('0x2a')]=_['differenceBy'](_[_0x0e59('0x2b')](_0x3a2fce,_0x0e59('0x26')),['name']);_0x3c9a61['query']=_[_0x0e59('0x2c')](_0x45177e[_0x0e59('0x2d')]);_0x3c9a61[_0x0e59('0x2e')]=_['intersection'](_0x3c9a61[_0x0e59('0x2a')],_0x3c9a61[_0x0e59('0x2d')]);_0x59209e[_0x0e59('0x2f')]=_[_0x0e59('0x30')](_0x3c9a61[_0x0e59('0x2a')],qs['fields'](_0x45177e['query']['fields']));_0x59209e[_0x0e59('0x2f')]=_0x59209e[_0x0e59('0x2f')]['length']?_0x59209e[_0x0e59('0x2f')]:_0x3c9a61[_0x0e59('0x2a')];if(!_0x45177e[_0x0e59('0x2d')][_0x0e59('0x31')](_0x0e59('0x32'))){_0x59209e[_0x0e59('0x1e')]=qs[_0x0e59('0x1e')](_0x45177e['query'][_0x0e59('0x1e')]);_0x59209e[_0x0e59('0x1c')]=qs[_0x0e59('0x1c')](_0x45177e[_0x0e59('0x2d')]['offset']);}_0x59209e['order']=qs['sort'](_0x45177e[_0x0e59('0x2d')][_0x0e59('0x33')]);_0x59209e[_0x0e59('0x34')]=qs[_0x0e59('0x2e')](_[_0x0e59('0x35')](_0x45177e[_0x0e59('0x2d')],_0x3c9a61[_0x0e59('0x2e')]),_0x3a2fce);if(_0x45177e[_0x0e59('0x2d')][_0x0e59('0x36')]){_0x59209e[_0x0e59('0x34')]=_[_0x0e59('0x37')](_0x59209e[_0x0e59('0x34')],{'$or':_[_0x0e59('0x2b')](_0x3a2fce,function(_0x4810d3){if(_0x4810d3[_0x0e59('0x29')]!==_0x0e59('0x38')){var _0x1fe9ca={};_0x1fe9ca[_0x4810d3[_0x0e59('0x26')]]={'$like':'%'+_0x45177e[_0x0e59('0x2d')][_0x0e59('0x36')]+'%'};return _0x1fe9ca;}})});}_0x59209e=_['merge']({},_0x59209e,_0x45177e['options']);var _0x33a645={'where':_0x59209e['where']};return db['VoiceMailMessage'][_0x0e59('0x1f')](_0x33a645)[_0x0e59('0x24')](function(_0x3cd13c){_0x200251['count']=_0x3cd13c;if(_0x45177e['query'][_0x0e59('0x39')]){_0x59209e[_0x0e59('0x3a')]=[{'all':!![]}];}return db['VoiceMailMessage']['findAll'](_0x59209e);})[_0x0e59('0x24')](function(_0x5e2047){_0x200251[_0x0e59('0x3b')]=_0x5e2047;return _0x200251;})[_0x0e59('0x24')](respondWithFilteredResult(_0x9682fa,_0x59209e))[_0x0e59('0x3c')](handleError(_0x9682fa,null));};exports['show']=function(_0x599b7f,_0x5da923){var _0x3405d2={'raw':!![],'where':{'id':_0x599b7f[_0x0e59('0x3d')]['id']}},_0x5674d9={};_0x5674d9[_0x0e59('0x2a')]=_['keys'](db['VoiceMailMessage'][_0x0e59('0x3e')]);_0x5674d9[_0x0e59('0x2d')]=_[_0x0e59('0x2c')](_0x599b7f[_0x0e59('0x2d')]);_0x5674d9[_0x0e59('0x2e')]=_['intersection'](_0x5674d9[_0x0e59('0x2a')],_0x5674d9[_0x0e59('0x2d')]);_0x3405d2[_0x0e59('0x2f')]=_[_0x0e59('0x30')](_0x5674d9[_0x0e59('0x2a')],qs[_0x0e59('0x3f')](_0x599b7f[_0x0e59('0x2d')][_0x0e59('0x3f')]));_0x3405d2[_0x0e59('0x2f')]=_0x3405d2[_0x0e59('0x2f')][_0x0e59('0x40')]?_0x3405d2[_0x0e59('0x2f')]:_0x5674d9[_0x0e59('0x2a')];if(_0x599b7f[_0x0e59('0x2d')]['includeAll']){_0x3405d2[_0x0e59('0x3a')]=[{'all':!![]}];}_0x3405d2=_[_0x0e59('0x37')]({},_0x3405d2,_0x599b7f[_0x0e59('0x41')]);return db[_0x0e59('0x27')][_0x0e59('0x42')](_0x3405d2)[_0x0e59('0x24')](handleEntityNotFound(_0x5da923,null))[_0x0e59('0x24')](respondWithResult(_0x5da923,null))[_0x0e59('0x3c')](handleError(_0x5da923,null));};exports['create']=function(_0x5ceda3,_0x235fd0){return db[_0x0e59('0x27')]['create'](_0x5ceda3['body'],{})[_0x0e59('0x24')](respondWithResult(_0x235fd0,0xc9))['catch'](handleError(_0x235fd0,null));};exports[_0x0e59('0x23')]=function(_0x1299e7,_0x21116b){if(_0x1299e7['body']['id']){delete _0x1299e7[_0x0e59('0x43')]['id'];}return db[_0x0e59('0x27')][_0x0e59('0x42')]({'where':{'id':_0x1299e7[_0x0e59('0x3d')]['id']}})[_0x0e59('0x24')](handleEntityNotFound(_0x21116b,null))[_0x0e59('0x24')](saveUpdates(_0x1299e7[_0x0e59('0x43')],null))[_0x0e59('0x24')](respondWithResult(_0x21116b,null))['catch'](handleError(_0x21116b,null));};exports[_0x0e59('0x25')]=function(_0x301950,_0x5fcc12){return db[_0x0e59('0x27')][_0x0e59('0x42')]({'where':{'id':_0x301950[_0x0e59('0x3d')]['id']}})[_0x0e59('0x24')](handleEntityNotFound(_0x5fcc12,null))[_0x0e59('0x24')](removeEntity(_0x5fcc12,null))['catch'](handleError(_0x5fcc12,null));};exports['download']=function(_0x500191,_0x492975,_0x5a461f){return db[_0x0e59('0x27')][_0x0e59('0x42')]({'where':{'id':_0x500191['params']['id']},'attributes':['id',_0x0e59('0x44'),_0x0e59('0x45')]})[_0x0e59('0x24')](handleEntityNotFound(_0x492975,null))[_0x0e59('0x24')](function(_0x5b1583){if(_0x5b1583){if(!_0x5b1583[_0x0e59('0x44')]){throw new db['Sequelize'][(_0x0e59('0x46'))](_0x0e59('0x47'));}var _0x3dca09={'Content-Type':_0x0e59('0x48'),'Content-Disposition':_0x0e59('0x49')};if(_0x5b1583['msg_id']){_0x3dca09[_0x0e59('0x4a')]=_0x0e59('0x4b')+_0x5b1583[_0x0e59('0x45')]+_0x0e59('0x4c');}_0x492975[_0x0e59('0x4d')](_0x3dca09);return _0x492975[_0x0e59('0x4e')](new Buffer(_0x5b1583['recording']));}})[_0x0e59('0x3c')](handleError(_0x492975,null));};