8138533a7dcda4c5795657edce2b3dc493f1c51c
[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 _0x9c1d=['Content-Range','save','destroy','then','stack','name','send','index','VoiceMailMessage','fieldName','type','key','model','differenceBy','keys','query','filters','intersection','attributes','fields','hasOwnProperty','offset','order','sort','where','filter','merge','map','options','count','includeAll','include','findAll','rows','show','params','find','body','catch','update','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','audio/wav','attachment','.wav\x22','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','limit','set'];(function(_0x2a7fc6,_0x340af2){var _0x3387ec=function(_0x2b70e0){while(--_0x2b70e0){_0x2a7fc6['push'](_0x2a7fc6['shift']());}};_0x3387ec(++_0x340af2);}(_0x9c1d,0x7c));var _0xd9c1=function(_0x197e49,_0x2acb8e){_0x197e49=_0x197e49-0x0;var _0x5ea5f2=_0x9c1d[_0x197e49];return _0x5ea5f2;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd9c1('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd9c1('0x1'));var rp=require(_0xd9c1('0x2'));var moment=require(_0xd9c1('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd9c1('0x4'));var util=require(_0xd9c1('0x5'));var path=require(_0xd9c1('0x6'));var sox=require('sox');var csv=require(_0xd9c1('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd9c1('0x8'));var squel=require(_0xd9c1('0x9'));var crypto=require(_0xd9c1('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xd9c1('0x7'));var querystring=require(_0xd9c1('0xb'));var Papa=require(_0xd9c1('0xc'));var Redis=require('ioredis');var authService=require(_0xd9c1('0xd'));var qs=require(_0xd9c1('0xe'));var as=require(_0xd9c1('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd9c1('0x10'))('api');var utils=require(_0xd9c1('0x11'));var config=require(_0xd9c1('0x12'));var licenseUtil=require(_0xd9c1('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1aeda1,_0x3af9a9){_0x3af9a9=_0x3af9a9||0xcc;return function(_0x3ad153){if(_0x3ad153){return _0x1aeda1[_0xd9c1('0x14')](_0x3af9a9);}return _0x1aeda1[_0xd9c1('0x15')](_0x3af9a9)[_0xd9c1('0x16')]();};}function respondWithResult(_0x124de7,_0x56f114){_0x56f114=_0x56f114||0xc8;return function(_0x5655fa){if(_0x5655fa){return _0x124de7[_0xd9c1('0x15')](_0x56f114)[_0xd9c1('0x17')](_0x5655fa);}};}function respondWithFilteredResult(_0x6ff852,_0x9c35a6){return function(_0x9f51c1){if(_0x9f51c1){var _0x81d43c=_0x9f51c1['count'],_0x58b096=_0x9c35a6['offset'],_0x113988=_0x9c35a6['offset']+_0x9c35a6[_0xd9c1('0x18')],_0x9d0b6c;if(_0x113988>=_0x81d43c){_0x113988=_0x81d43c;_0x9d0b6c=0xc8;}else{_0x9d0b6c=0xce;}_0x6ff852['status'](_0x9d0b6c);return _0x6ff852[_0xd9c1('0x19')](_0xd9c1('0x1a'),_0x58b096+'-'+_0x113988+'/'+_0x81d43c)[_0xd9c1('0x17')](_0x9f51c1);}return null;};}function patchUpdates(_0x51b0a0){return function(_0x272319){try{jsonpatch['apply'](_0x272319,_0x51b0a0,!![]);}catch(_0x38c20f){return BPromise['reject'](_0x38c20f);}return _0x272319[_0xd9c1('0x1b')]();};}function saveUpdates(_0x29fe52,_0xcbf631){return function(_0x1a760a){if(_0x1a760a){return _0x1a760a['update'](_0x29fe52)['then'](function(_0x265545){return _0x265545;});}return null;};}function removeEntity(_0x2314b2,_0x1a2f27){return function(_0x47fdb0){if(_0x47fdb0){return _0x47fdb0[_0xd9c1('0x1c')]()[_0xd9c1('0x1d')](function(){_0x2314b2[_0xd9c1('0x15')](0xcc)[_0xd9c1('0x16')]();});}};}function handleEntityNotFound(_0x4859a5,_0x4c9496){return function(_0x2d5dc3){if(!_0x2d5dc3){_0x4859a5[_0xd9c1('0x14')](0x194);}return _0x2d5dc3;};}function handleError(_0x46a3c3,_0x2b3411){_0x2b3411=_0x2b3411||0x1f4;return function(_0x5f35ba){logger['error'](_0x5f35ba[_0xd9c1('0x1e')]);if(_0x5f35ba[_0xd9c1('0x1f')]){delete _0x5f35ba[_0xd9c1('0x1f')];}_0x46a3c3[_0xd9c1('0x15')](_0x2b3411)[_0xd9c1('0x20')](_0x5f35ba);};}exports[_0xd9c1('0x21')]=function(_0x586d58,_0x47bff4){var _0x34674c={},_0x16f862={},_0x21dcfc={'count':0x0,'rows':[]};var _0x554132=_['map'](db[_0xd9c1('0x22')]['rawAttributes'],function(_0x5d7c81){return{'name':_0x5d7c81[_0xd9c1('0x23')],'type':_0x5d7c81[_0xd9c1('0x24')][_0xd9c1('0x25')]};});_0x16f862[_0xd9c1('0x26')]=_[_0xd9c1('0x27')](_['map'](_0x554132,'name'),['name']);_0x16f862['query']=_[_0xd9c1('0x28')](_0x586d58[_0xd9c1('0x29')]);_0x16f862[_0xd9c1('0x2a')]=_[_0xd9c1('0x2b')](_0x16f862['model'],_0x16f862[_0xd9c1('0x29')]);_0x34674c[_0xd9c1('0x2c')]=_[_0xd9c1('0x2b')](_0x16f862[_0xd9c1('0x26')],qs[_0xd9c1('0x2d')](_0x586d58[_0xd9c1('0x29')]['fields']));_0x34674c['attributes']=_0x34674c['attributes']['length']?_0x34674c['attributes']:_0x16f862['model'];if(!_0x586d58[_0xd9c1('0x29')][_0xd9c1('0x2e')]('nolimit')){_0x34674c['limit']=qs[_0xd9c1('0x18')](_0x586d58['query'][_0xd9c1('0x18')]);_0x34674c[_0xd9c1('0x2f')]=qs[_0xd9c1('0x2f')](_0x586d58[_0xd9c1('0x29')][_0xd9c1('0x2f')]);}_0x34674c[_0xd9c1('0x30')]=qs[_0xd9c1('0x31')](_0x586d58[_0xd9c1('0x29')]['sort']);_0x34674c[_0xd9c1('0x32')]=qs['filters'](_['pick'](_0x586d58['query'],_0x16f862[_0xd9c1('0x2a')]),_0x554132);if(_0x586d58[_0xd9c1('0x29')][_0xd9c1('0x33')]){_0x34674c[_0xd9c1('0x32')]=_[_0xd9c1('0x34')](_0x34674c[_0xd9c1('0x32')],{'$or':_[_0xd9c1('0x35')](_0x554132,function(_0x1fcbb1){if(_0x1fcbb1[_0xd9c1('0x24')]!=='VIRTUAL'){var _0x3d3967={};_0x3d3967[_0x1fcbb1[_0xd9c1('0x1f')]]={'$like':'%'+_0x586d58['query']['filter']+'%'};return _0x3d3967;}})});}_0x34674c=_[_0xd9c1('0x34')]({},_0x34674c,_0x586d58[_0xd9c1('0x36')]);var _0x262331={'where':_0x34674c['where']};return db['VoiceMailMessage'][_0xd9c1('0x37')](_0x262331)[_0xd9c1('0x1d')](function(_0x10c477){_0x21dcfc[_0xd9c1('0x37')]=_0x10c477;if(_0x586d58[_0xd9c1('0x29')][_0xd9c1('0x38')]){_0x34674c[_0xd9c1('0x39')]=[{'all':!![]}];}return db[_0xd9c1('0x22')][_0xd9c1('0x3a')](_0x34674c);})[_0xd9c1('0x1d')](function(_0x1011b1){_0x21dcfc[_0xd9c1('0x3b')]=_0x1011b1;return _0x21dcfc;})[_0xd9c1('0x1d')](respondWithFilteredResult(_0x47bff4,_0x34674c))['catch'](handleError(_0x47bff4,null));};exports[_0xd9c1('0x3c')]=function(_0x3e5159,_0x3d1248){var _0x2112c1={'raw':!![],'where':{'id':_0x3e5159[_0xd9c1('0x3d')]['id']}},_0x492da0={};_0x492da0[_0xd9c1('0x26')]=_[_0xd9c1('0x28')](db[_0xd9c1('0x22')]['rawAttributes']);_0x492da0[_0xd9c1('0x29')]=_[_0xd9c1('0x28')](_0x3e5159[_0xd9c1('0x29')]);_0x492da0[_0xd9c1('0x2a')]=_[_0xd9c1('0x2b')](_0x492da0[_0xd9c1('0x26')],_0x492da0['query']);_0x2112c1[_0xd9c1('0x2c')]=_[_0xd9c1('0x2b')](_0x492da0[_0xd9c1('0x26')],qs[_0xd9c1('0x2d')](_0x3e5159['query'][_0xd9c1('0x2d')]));_0x2112c1['attributes']=_0x2112c1[_0xd9c1('0x2c')]['length']?_0x2112c1[_0xd9c1('0x2c')]:_0x492da0['model'];if(_0x3e5159[_0xd9c1('0x29')][_0xd9c1('0x38')]){_0x2112c1[_0xd9c1('0x39')]=[{'all':!![]}];}_0x2112c1=_['merge']({},_0x2112c1,_0x3e5159['options']);return db[_0xd9c1('0x22')][_0xd9c1('0x3e')](_0x2112c1)['then'](handleEntityNotFound(_0x3d1248,null))[_0xd9c1('0x1d')](respondWithResult(_0x3d1248,null))['catch'](handleError(_0x3d1248,null));};exports['create']=function(_0x3fbc76,_0x2b7ee3){return db[_0xd9c1('0x22')]['create'](_0x3fbc76[_0xd9c1('0x3f')],{})['then'](respondWithResult(_0x2b7ee3,0xc9))[_0xd9c1('0x40')](handleError(_0x2b7ee3,null));};exports[_0xd9c1('0x41')]=function(_0x3fae5f,_0x1a0007){if(_0x3fae5f[_0xd9c1('0x3f')]['id']){delete _0x3fae5f['body']['id'];}return db['VoiceMailMessage'][_0xd9c1('0x3e')]({'where':{'id':_0x3fae5f[_0xd9c1('0x3d')]['id']}})['then'](handleEntityNotFound(_0x1a0007,null))[_0xd9c1('0x1d')](saveUpdates(_0x3fae5f[_0xd9c1('0x3f')],null))['then'](respondWithResult(_0x1a0007,null))[_0xd9c1('0x40')](handleError(_0x1a0007,null));};exports[_0xd9c1('0x1c')]=function(_0x213093,_0x145d9c){return db[_0xd9c1('0x22')][_0xd9c1('0x3e')]({'where':{'id':_0x213093[_0xd9c1('0x3d')]['id']}})['then'](handleEntityNotFound(_0x145d9c,null))[_0xd9c1('0x1d')](removeEntity(_0x145d9c,null))[_0xd9c1('0x40')](handleError(_0x145d9c,null));};exports[_0xd9c1('0x42')]=function(_0x33f980,_0x2e0b06,_0x104898){return db[_0xd9c1('0x22')][_0xd9c1('0x3e')]({'where':{'id':_0x33f980[_0xd9c1('0x3d')]['id']},'attributes':['id',_0xd9c1('0x43'),_0xd9c1('0x44')]})[_0xd9c1('0x1d')](handleEntityNotFound(_0x2e0b06,null))['then'](function(_0x5b79d8){if(_0x5b79d8){if(!_0x5b79d8[_0xd9c1('0x43')]){throw new db[(_0xd9c1('0x45'))][(_0xd9c1('0x46'))](_0xd9c1('0x47'));}var _0x2ac478={'Content-Type':_0xd9c1('0x48'),'Content-Disposition':_0xd9c1('0x49')};if(_0x5b79d8[_0xd9c1('0x44')]){_0x2ac478['Content-Disposition']='attachment;\x20filename=\x22'+_0x5b79d8[_0xd9c1('0x44')]+_0xd9c1('0x4a');}_0x2e0b06[_0xd9c1('0x19')](_0x2ac478);return _0x2e0b06[_0xd9c1('0x20')](new Buffer(_0x5b79d8[_0xd9c1('0x43')]));}})[_0xd9c1('0x40')](handleError(_0x2e0b06,null));};