5018d020841389b14feec2808669a9380c150a10
[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 _0x1244=['find','create','body','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','Content-Disposition','.wav\x22','set','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','limit','count','apply','reject','save','update','then','destroy','end','sendStatus','error','stack','name','send','index','map','VoiceMailMessage','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','options'];(function(_0x11b9b1,_0xc6265c){var _0x3a8f72=function(_0x489c8a){while(--_0x489c8a){_0x11b9b1['push'](_0x11b9b1['shift']());}};_0x3a8f72(++_0xc6265c);}(_0x1244,0x109));var _0x4124=function(_0x5e3b04,_0xbb6795){_0x5e3b04=_0x5e3b04-0x0;var _0x1fc44d=_0x1244[_0x5e3b04];return _0x1fc44d;};'use strict';var emlformat=require(_0x4124('0x0'));var rimraf=require(_0x4124('0x1'));var zipdir=require(_0x4124('0x2'));var jsonpatch=require(_0x4124('0x3'));var rp=require(_0x4124('0x4'));var moment=require('moment');var BPromise=require(_0x4124('0x5'));var Mustache=require('mustache');var util=require(_0x4124('0x6'));var path=require(_0x4124('0x7'));var sox=require(_0x4124('0x8'));var csv=require(_0x4124('0x9'));var ejs=require(_0x4124('0xa'));var fs=require('fs');var fs_extra=require(_0x4124('0xb'));var _=require(_0x4124('0xc'));var squel=require(_0x4124('0xd'));var crypto=require(_0x4124('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4124('0x9'));var querystring=require(_0x4124('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4124('0x10'));var qs=require(_0x4124('0x11'));var as=require(_0x4124('0x12'));var hardwareService=require(_0x4124('0x13'));var logger=require(_0x4124('0x14'))(_0x4124('0x15'));var utils=require('../../config/utils');var config=require(_0x4124('0x16'));var licenseUtil=require(_0x4124('0x17'));var db=require(_0x4124('0x18'))['db'];function respondWithStatusCode(_0x55a240,_0x296e0e){_0x296e0e=_0x296e0e||0xcc;return function(_0x5c4905){if(_0x5c4905){return _0x55a240['sendStatus'](_0x296e0e);}return _0x55a240[_0x4124('0x19')](_0x296e0e)['end']();};}function respondWithResult(_0x220b56,_0x2af662){_0x2af662=_0x2af662||0xc8;return function(_0x1d6444){if(_0x1d6444){return _0x220b56[_0x4124('0x19')](_0x2af662)[_0x4124('0x1a')](_0x1d6444);}};}function respondWithFilteredResult(_0x426b6f,_0x298b7f){return function(_0x39d6d9){if(_0x39d6d9){var _0xc8d3e2=typeof _0x298b7f[_0x4124('0x1b')]===_0x4124('0x1c')&&typeof _0x298b7f[_0x4124('0x1d')]===_0x4124('0x1c');var _0x45d53b=_0x39d6d9['count'];var _0x15882c=_0xc8d3e2?0x0:_0x298b7f[_0x4124('0x1b')];var _0x2e11e4=_0xc8d3e2?_0x39d6d9[_0x4124('0x1e')]:_0x298b7f['offset']+_0x298b7f[_0x4124('0x1d')];var _0x79576c;if(_0x2e11e4>=_0x45d53b){_0x2e11e4=_0x45d53b;_0x79576c=0xc8;}else{_0x79576c=0xce;}_0x426b6f[_0x4124('0x19')](_0x79576c);return _0x426b6f['set']('Content-Range',_0x15882c+'-'+_0x2e11e4+'/'+_0x45d53b)['json'](_0x39d6d9);}return null;};}function patchUpdates(_0x1ecab5){return function(_0x5ceff1){try{jsonpatch[_0x4124('0x1f')](_0x5ceff1,_0x1ecab5,!![]);}catch(_0x5590cd){return BPromise[_0x4124('0x20')](_0x5590cd);}return _0x5ceff1[_0x4124('0x21')]();};}function saveUpdates(_0x54421d,_0x46aa08){return function(_0xf7887a){if(_0xf7887a){return _0xf7887a[_0x4124('0x22')](_0x54421d)[_0x4124('0x23')](function(_0x1b50cd){return _0x1b50cd;});}return null;};}function removeEntity(_0x2230b6,_0x25e545){return function(_0x5ac056){if(_0x5ac056){return _0x5ac056[_0x4124('0x24')]()[_0x4124('0x23')](function(){_0x2230b6[_0x4124('0x19')](0xcc)[_0x4124('0x25')]();});}};}function handleEntityNotFound(_0x3b08c2,_0x3623ea){return function(_0x34a9ce){if(!_0x34a9ce){_0x3b08c2[_0x4124('0x26')](0x194);}return _0x34a9ce;};}function handleError(_0x44c4e6,_0x948ace){_0x948ace=_0x948ace||0x1f4;return function(_0x5cb6b8){logger[_0x4124('0x27')](_0x5cb6b8[_0x4124('0x28')]);if(_0x5cb6b8[_0x4124('0x29')]){delete _0x5cb6b8[_0x4124('0x29')];}_0x44c4e6[_0x4124('0x19')](_0x948ace)[_0x4124('0x2a')](_0x5cb6b8);};}exports[_0x4124('0x2b')]=function(_0xcc5833,_0x4a559c){var _0xb30592={},_0x32c61b={},_0x1e9ac7={'count':0x0,'rows':[]};var _0x49bbbd=_[_0x4124('0x2c')](db[_0x4124('0x2d')][_0x4124('0x2e')],function(_0x2bef9e){return{'name':_0x2bef9e['fieldName'],'type':_0x2bef9e['type']['key']};});_0x32c61b[_0x4124('0x2f')]=_['differenceBy'](_['map'](_0x49bbbd,'name'),[_0x4124('0x29')]);_0x32c61b[_0x4124('0x30')]=_[_0x4124('0x31')](_0xcc5833[_0x4124('0x30')]);_0x32c61b[_0x4124('0x32')]=_[_0x4124('0x33')](_0x32c61b[_0x4124('0x2f')],_0x32c61b[_0x4124('0x30')]);_0xb30592[_0x4124('0x34')]=_['intersection'](_0x32c61b[_0x4124('0x2f')],qs[_0x4124('0x35')](_0xcc5833['query'][_0x4124('0x35')]));_0xb30592[_0x4124('0x34')]=_0xb30592[_0x4124('0x34')][_0x4124('0x36')]?_0xb30592[_0x4124('0x34')]:_0x32c61b[_0x4124('0x2f')];if(!_0xcc5833[_0x4124('0x30')][_0x4124('0x37')](_0x4124('0x38'))){_0xb30592['limit']=qs[_0x4124('0x1d')](_0xcc5833[_0x4124('0x30')][_0x4124('0x1d')]);_0xb30592[_0x4124('0x1b')]=qs[_0x4124('0x1b')](_0xcc5833[_0x4124('0x30')][_0x4124('0x1b')]);}_0xb30592['order']=qs[_0x4124('0x39')](_0xcc5833['query'][_0x4124('0x39')]);_0xb30592[_0x4124('0x3a')]=qs[_0x4124('0x32')](_[_0x4124('0x3b')](_0xcc5833[_0x4124('0x30')],_0x32c61b['filters']),_0x49bbbd);if(_0xcc5833[_0x4124('0x30')]['filter']){_0xb30592[_0x4124('0x3a')]=_[_0x4124('0x3c')](_0xb30592['where'],{'$or':_['map'](_0x49bbbd,function(_0x336c2f){if(_0x336c2f['type']!==_0x4124('0x3d')){var _0x1f18fa={};_0x1f18fa[_0x336c2f[_0x4124('0x29')]]={'$like':'%'+_0xcc5833[_0x4124('0x30')][_0x4124('0x3e')]+'%'};return _0x1f18fa;}})});}_0xb30592=_[_0x4124('0x3c')]({},_0xb30592,_0xcc5833['options']);var _0x989f3c={'where':_0xb30592[_0x4124('0x3a')]};return db[_0x4124('0x2d')]['count'](_0x989f3c)[_0x4124('0x23')](function(_0x1bb192){_0x1e9ac7[_0x4124('0x1e')]=_0x1bb192;if(_0xcc5833[_0x4124('0x30')][_0x4124('0x3f')]){_0xb30592[_0x4124('0x40')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0x4124('0x41')](_0xb30592);})[_0x4124('0x23')](function(_0x582e5c){_0x1e9ac7[_0x4124('0x42')]=_0x582e5c;return _0x1e9ac7;})[_0x4124('0x23')](respondWithFilteredResult(_0x4a559c,_0xb30592))[_0x4124('0x43')](handleError(_0x4a559c,null));};exports[_0x4124('0x44')]=function(_0x1aa07a,_0x38bbeb){var _0x1c8d01={'raw':!![],'where':{'id':_0x1aa07a[_0x4124('0x45')]['id']}},_0xab317a={};_0xab317a[_0x4124('0x2f')]=_[_0x4124('0x31')](db[_0x4124('0x2d')][_0x4124('0x2e')]);_0xab317a['query']=_['keys'](_0x1aa07a[_0x4124('0x30')]);_0xab317a['filters']=_[_0x4124('0x33')](_0xab317a['model'],_0xab317a[_0x4124('0x30')]);_0x1c8d01[_0x4124('0x34')]=_[_0x4124('0x33')](_0xab317a[_0x4124('0x2f')],qs[_0x4124('0x35')](_0x1aa07a[_0x4124('0x30')][_0x4124('0x35')]));_0x1c8d01['attributes']=_0x1c8d01[_0x4124('0x34')][_0x4124('0x36')]?_0x1c8d01['attributes']:_0xab317a[_0x4124('0x2f')];if(_0x1aa07a[_0x4124('0x30')][_0x4124('0x3f')]){_0x1c8d01['include']=[{'all':!![]}];}_0x1c8d01=_[_0x4124('0x3c')]({},_0x1c8d01,_0x1aa07a[_0x4124('0x46')]);return db[_0x4124('0x2d')][_0x4124('0x47')](_0x1c8d01)[_0x4124('0x23')](handleEntityNotFound(_0x38bbeb,null))[_0x4124('0x23')](respondWithResult(_0x38bbeb,null))['catch'](handleError(_0x38bbeb,null));};exports['create']=function(_0x8f1752,_0x1e2c29){return db[_0x4124('0x2d')][_0x4124('0x48')](_0x8f1752[_0x4124('0x49')],{})[_0x4124('0x23')](respondWithResult(_0x1e2c29,0xc9))[_0x4124('0x43')](handleError(_0x1e2c29,null));};exports[_0x4124('0x22')]=function(_0x32f8e4,_0x92b0d3){if(_0x32f8e4[_0x4124('0x49')]['id']){delete _0x32f8e4[_0x4124('0x49')]['id'];}return db[_0x4124('0x2d')][_0x4124('0x47')]({'where':{'id':_0x32f8e4[_0x4124('0x45')]['id']}})[_0x4124('0x23')](handleEntityNotFound(_0x92b0d3,null))['then'](saveUpdates(_0x32f8e4[_0x4124('0x49')],null))['then'](respondWithResult(_0x92b0d3,null))[_0x4124('0x43')](handleError(_0x92b0d3,null));};exports[_0x4124('0x24')]=function(_0x30e2ba,_0x151383){return db['VoiceMailMessage'][_0x4124('0x47')]({'where':{'id':_0x30e2ba['params']['id']}})[_0x4124('0x23')](handleEntityNotFound(_0x151383,null))[_0x4124('0x23')](removeEntity(_0x151383,null))[_0x4124('0x43')](handleError(_0x151383,null));};exports[_0x4124('0x4a')]=function(_0x2816e6,_0x677404,_0x2bc70e){return db[_0x4124('0x2d')][_0x4124('0x47')]({'where':{'id':_0x2816e6['params']['id']},'attributes':['id',_0x4124('0x4b'),_0x4124('0x4c')]})[_0x4124('0x23')](handleEntityNotFound(_0x677404,null))[_0x4124('0x23')](function(_0x141aa0){if(_0x141aa0){if(!_0x141aa0[_0x4124('0x4b')]){throw new db[(_0x4124('0x4d'))][(_0x4124('0x4e'))](_0x4124('0x4f'));}var _0x2f63d2={'Content-Type':_0x4124('0x50'),'Content-Disposition':'attachment'};if(_0x141aa0[_0x4124('0x4c')]){_0x2f63d2[_0x4124('0x51')]='attachment;\x20filename=\x22'+_0x141aa0['msg_id']+_0x4124('0x52');}_0x677404[_0x4124('0x53')](_0x2f63d2);return _0x677404[_0x4124('0x2a')](new Buffer(_0x141aa0[_0x4124('0x4b')]));}})[_0x4124('0x43')](handleError(_0x677404,null));};