Built motion from commit a679711e.|2.6.15
[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 _0x4dfd=['VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','download','msg_id','recording','ValidationError','VoiceMailMessage\x20not\x20found','Content-Disposition','attachment;\x20filename=\x22','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','type','model','query','keys','filters','intersection','fields','length','attributes','sort','pick','filter','where','merge'];(function(_0x134e41,_0x1316b2){var _0x5c46a9=function(_0x317cb2){while(--_0x317cb2){_0x134e41['push'](_0x134e41['shift']());}};_0x5c46a9(++_0x1316b2);}(_0x4dfd,0x15b));var _0xd4df=function(_0x3c420f,_0x411692){_0x3c420f=_0x3c420f-0x0;var _0x10765f=_0x4dfd[_0x3c420f];return _0x10765f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd4df('0x0'));var zipdir=require(_0xd4df('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd4df('0x2'));var moment=require(_0xd4df('0x3'));var BPromise=require(_0xd4df('0x4'));var Mustache=require(_0xd4df('0x5'));var util=require(_0xd4df('0x6'));var path=require(_0xd4df('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xd4df('0x8'));var fs=require('fs');var fs_extra=require(_0xd4df('0x9'));var _=require(_0xd4df('0xa'));var squel=require(_0xd4df('0xb'));var crypto=require(_0xd4df('0xc'));var jsforce=require(_0xd4df('0xd'));var deskjs=require(_0xd4df('0xe'));var toCsv=require(_0xd4df('0xf'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd4df('0x10'));var authService=require(_0xd4df('0x11'));var qs=require(_0xd4df('0x12'));var as=require(_0xd4df('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd4df('0x14'))(_0xd4df('0x15'));var utils=require(_0xd4df('0x16'));var config=require(_0xd4df('0x17'));var licenseUtil=require(_0xd4df('0x18'));var db=require(_0xd4df('0x19'))['db'];function respondWithStatusCode(_0x21e26a,_0x2d25ff){_0x2d25ff=_0x2d25ff||0xcc;return function(_0x859ea7){if(_0x859ea7){return _0x21e26a[_0xd4df('0x1a')](_0x2d25ff);}return _0x21e26a['status'](_0x2d25ff)[_0xd4df('0x1b')]();};}function respondWithResult(_0x1a224,_0x551382){_0x551382=_0x551382||0xc8;return function(_0x5deb7d){if(_0x5deb7d){return _0x1a224[_0xd4df('0x1c')](_0x551382)[_0xd4df('0x1d')](_0x5deb7d);}};}function respondWithFilteredResult(_0x5e3669,_0x4f4a24){return function(_0x4fe85c){if(_0x4fe85c){var _0x156877=typeof _0x4f4a24[_0xd4df('0x1e')]===_0xd4df('0x1f')&&typeof _0x4f4a24[_0xd4df('0x20')]===_0xd4df('0x1f');var _0x220eff=_0x4fe85c[_0xd4df('0x21')];var _0x4df6f7=_0x156877?0x0:_0x4f4a24[_0xd4df('0x1e')];var _0x4615ff=_0x156877?_0x4fe85c['count']:_0x4f4a24[_0xd4df('0x1e')]+_0x4f4a24[_0xd4df('0x20')];var _0xcad192;if(_0x4615ff>=_0x220eff){_0x4615ff=_0x220eff;_0xcad192=0xc8;}else{_0xcad192=0xce;}_0x5e3669['status'](_0xcad192);return _0x5e3669[_0xd4df('0x22')]('Content-Range',_0x4df6f7+'-'+_0x4615ff+'/'+_0x220eff)[_0xd4df('0x1d')](_0x4fe85c);}return null;};}function patchUpdates(_0x535e49){return function(_0x565032){try{jsonpatch[_0xd4df('0x23')](_0x565032,_0x535e49,!![]);}catch(_0x563439){return BPromise[_0xd4df('0x24')](_0x563439);}return _0x565032[_0xd4df('0x25')]();};}function saveUpdates(_0x85a99d,_0x2d9a47){return function(_0x45566a){if(_0x45566a){return _0x45566a[_0xd4df('0x26')](_0x85a99d)['then'](function(_0x2b540a){return _0x2b540a;});}return null;};}function removeEntity(_0x1919b2,_0x76086b){return function(_0x515509){if(_0x515509){return _0x515509[_0xd4df('0x27')]()[_0xd4df('0x28')](function(){_0x1919b2[_0xd4df('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x667a40,_0x4b1089){return function(_0x530b33){if(!_0x530b33){_0x667a40[_0xd4df('0x1a')](0x194);}return _0x530b33;};}function handleError(_0x2dbb62,_0x88d269){_0x88d269=_0x88d269||0x1f4;return function(_0x24218c){logger[_0xd4df('0x29')](_0x24218c[_0xd4df('0x2a')]);if(_0x24218c[_0xd4df('0x2b')]){delete _0x24218c[_0xd4df('0x2b')];}_0x2dbb62[_0xd4df('0x1c')](_0x88d269)[_0xd4df('0x2c')](_0x24218c);};}exports[_0xd4df('0x2d')]=function(_0x3a4a73,_0x4af38b){var _0x321f63={},_0x198692={},_0x21f4be={'count':0x0,'rows':[]};var _0x187032=_[_0xd4df('0x2e')](db[_0xd4df('0x2f')][_0xd4df('0x30')],function(_0xca2ce){return{'name':_0xca2ce['fieldName'],'type':_0xca2ce[_0xd4df('0x31')]['key']};});_0x198692[_0xd4df('0x32')]=_['differenceBy'](_[_0xd4df('0x2e')](_0x187032,_0xd4df('0x2b')),[_0xd4df('0x2b')]);_0x198692[_0xd4df('0x33')]=_[_0xd4df('0x34')](_0x3a4a73[_0xd4df('0x33')]);_0x198692[_0xd4df('0x35')]=_[_0xd4df('0x36')](_0x198692[_0xd4df('0x32')],_0x198692['query']);_0x321f63['attributes']=_[_0xd4df('0x36')](_0x198692[_0xd4df('0x32')],qs[_0xd4df('0x37')](_0x3a4a73[_0xd4df('0x33')][_0xd4df('0x37')]));_0x321f63['attributes']=_0x321f63['attributes'][_0xd4df('0x38')]?_0x321f63[_0xd4df('0x39')]:_0x198692[_0xd4df('0x32')];if(!_0x3a4a73['query']['hasOwnProperty']('nolimit')){_0x321f63[_0xd4df('0x20')]=qs[_0xd4df('0x20')](_0x3a4a73[_0xd4df('0x33')][_0xd4df('0x20')]);_0x321f63['offset']=qs[_0xd4df('0x1e')](_0x3a4a73[_0xd4df('0x33')]['offset']);}_0x321f63['order']=qs[_0xd4df('0x3a')](_0x3a4a73[_0xd4df('0x33')][_0xd4df('0x3a')]);_0x321f63['where']=qs[_0xd4df('0x35')](_[_0xd4df('0x3b')](_0x3a4a73[_0xd4df('0x33')],_0x198692[_0xd4df('0x35')]),_0x187032);if(_0x3a4a73['query'][_0xd4df('0x3c')]){_0x321f63[_0xd4df('0x3d')]=_[_0xd4df('0x3e')](_0x321f63[_0xd4df('0x3d')],{'$or':_[_0xd4df('0x2e')](_0x187032,function(_0xd9b54){if(_0xd9b54['type']!==_0xd4df('0x3f')){var _0x1a1f01={};_0x1a1f01[_0xd9b54[_0xd4df('0x2b')]]={'$like':'%'+_0x3a4a73[_0xd4df('0x33')][_0xd4df('0x3c')]+'%'};return _0x1a1f01;}})});}_0x321f63=_[_0xd4df('0x3e')]({},_0x321f63,_0x3a4a73[_0xd4df('0x40')]);var _0x2ae53b={'where':_0x321f63['where']};return db['VoiceMailMessage'][_0xd4df('0x21')](_0x2ae53b)[_0xd4df('0x28')](function(_0x557ebf){_0x21f4be['count']=_0x557ebf;if(_0x3a4a73['query'][_0xd4df('0x41')]){_0x321f63[_0xd4df('0x42')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0xd4df('0x43')](_0x321f63);})[_0xd4df('0x28')](function(_0x360eab){_0x21f4be[_0xd4df('0x44')]=_0x360eab;return _0x21f4be;})['then'](respondWithFilteredResult(_0x4af38b,_0x321f63))[_0xd4df('0x45')](handleError(_0x4af38b,null));};exports[_0xd4df('0x46')]=function(_0x40c5ea,_0x4c2cc1){var _0x19dc09={'raw':!![],'where':{'id':_0x40c5ea[_0xd4df('0x47')]['id']}},_0x47ae33={};_0x47ae33[_0xd4df('0x32')]=_[_0xd4df('0x34')](db['VoiceMailMessage'][_0xd4df('0x30')]);_0x47ae33[_0xd4df('0x33')]=_[_0xd4df('0x34')](_0x40c5ea[_0xd4df('0x33')]);_0x47ae33[_0xd4df('0x35')]=_[_0xd4df('0x36')](_0x47ae33[_0xd4df('0x32')],_0x47ae33[_0xd4df('0x33')]);_0x19dc09[_0xd4df('0x39')]=_[_0xd4df('0x36')](_0x47ae33[_0xd4df('0x32')],qs[_0xd4df('0x37')](_0x40c5ea[_0xd4df('0x33')][_0xd4df('0x37')]));_0x19dc09[_0xd4df('0x39')]=_0x19dc09[_0xd4df('0x39')][_0xd4df('0x38')]?_0x19dc09[_0xd4df('0x39')]:_0x47ae33[_0xd4df('0x32')];if(_0x40c5ea[_0xd4df('0x33')][_0xd4df('0x41')]){_0x19dc09[_0xd4df('0x42')]=[{'all':!![]}];}_0x19dc09=_[_0xd4df('0x3e')]({},_0x19dc09,_0x40c5ea[_0xd4df('0x40')]);return db[_0xd4df('0x2f')][_0xd4df('0x48')](_0x19dc09)[_0xd4df('0x28')](handleEntityNotFound(_0x4c2cc1,null))['then'](respondWithResult(_0x4c2cc1,null))[_0xd4df('0x45')](handleError(_0x4c2cc1,null));};exports[_0xd4df('0x49')]=function(_0x49f537,_0x391170){return db['VoiceMailMessage'][_0xd4df('0x49')](_0x49f537[_0xd4df('0x4a')],{})['then'](respondWithResult(_0x391170,0xc9))[_0xd4df('0x45')](handleError(_0x391170,null));};exports[_0xd4df('0x26')]=function(_0xe8ecb8,_0x594491){if(_0xe8ecb8['body']['id']){delete _0xe8ecb8[_0xd4df('0x4a')]['id'];}return db[_0xd4df('0x2f')]['find']({'where':{'id':_0xe8ecb8['params']['id']}})['then'](handleEntityNotFound(_0x594491,null))[_0xd4df('0x28')](saveUpdates(_0xe8ecb8[_0xd4df('0x4a')],null))[_0xd4df('0x28')](respondWithResult(_0x594491,null))[_0xd4df('0x45')](handleError(_0x594491,null));};exports['destroy']=function(_0x1cbf84,_0x5480d3){return db[_0xd4df('0x2f')][_0xd4df('0x48')]({'where':{'id':_0x1cbf84['params']['id']}})[_0xd4df('0x28')](handleEntityNotFound(_0x5480d3,null))[_0xd4df('0x28')](removeEntity(_0x5480d3,null))[_0xd4df('0x45')](handleError(_0x5480d3,null));};exports[_0xd4df('0x4b')]=function(_0x29fc0d,_0x5c17c7,_0x82d00d){return db[_0xd4df('0x2f')][_0xd4df('0x48')]({'where':{'id':_0x29fc0d['params']['id']},'attributes':['id','recording',_0xd4df('0x4c')]})[_0xd4df('0x28')](handleEntityNotFound(_0x5c17c7,null))[_0xd4df('0x28')](function(_0x1c9920){if(_0x1c9920){if(!_0x1c9920[_0xd4df('0x4d')]){throw new db['Sequelize'][(_0xd4df('0x4e'))](_0xd4df('0x4f'));}var _0x976d7d={'Content-Type':'audio/wav','Content-Disposition':'attachment'};if(_0x1c9920[_0xd4df('0x4c')]){_0x976d7d[_0xd4df('0x50')]=_0xd4df('0x51')+_0x1c9920[_0xd4df('0x4c')]+'.wav\x22';}_0x5c17c7[_0xd4df('0x22')](_0x976d7d);return _0x5c17c7[_0xd4df('0x2c')](new Buffer(_0x1c9920[_0xd4df('0x4d')]));}})[_0xd4df('0x45')](handleError(_0x5c17c7,null));};