4985967705266144ca1dd214e30234ccfdbcde62
[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 _0x3c42=['../../config/environment','../../mysqldb','sendStatus','status','count','offset','set','Content-Range','apply','save','destroy','then','end','error','name','index','fieldName','type','key','model','differenceBy','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','VoiceMailMessage','include','findAll','rows','catch','show','params','includeAll','create','body','find','download','recording','msg_id','Sequelize','ValidationError','VoiceMailMessage\x20not\x20found','attachment','Content-Disposition','.wav\x22','send','html-pdf','eml-format','zip-dir','request-promise','bluebird','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils'];(function(_0xfae23b,_0x2be4ba){var _0x200640=function(_0x4ae258){while(--_0x4ae258){_0xfae23b['push'](_0xfae23b['shift']());}};_0x200640(++_0x2be4ba);}(_0x3c42,0xe2));var _0x23c4=function(_0x209aae,_0x25b88a){_0x209aae=_0x209aae-0x0;var _0x128793=_0x3c42[_0x209aae];return _0x128793;};'use strict';var pdf=require(_0x23c4('0x0'));var emlformat=require(_0x23c4('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x23c4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x23c4('0x3'));var moment=require('moment');var BPromise=require(_0x23c4('0x4'));var Mustache=require('mustache');var util=require(_0x23c4('0x5'));var path=require(_0x23c4('0x6'));var sox=require('sox');var csv=require(_0x23c4('0x7'));var ejs=require(_0x23c4('0x8'));var fs=require('fs');var _=require(_0x23c4('0x9'));var squel=require(_0x23c4('0xa'));var crypto=require(_0x23c4('0xb'));var jsforce=require(_0x23c4('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x23c4('0x7'));var querystring=require(_0x23c4('0xd'));var Papa=require(_0x23c4('0xe'));var Redis=require(_0x23c4('0xf'));var authService=require(_0x23c4('0x10'));var qs=require(_0x23c4('0x11'));var as=require(_0x23c4('0x12'));var hardwareService=require(_0x23c4('0x13'));var logger=require(_0x23c4('0x14'))(_0x23c4('0x15'));var utils=require(_0x23c4('0x16'));var config=require(_0x23c4('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x23c4('0x18'))['db'];function respondWithStatusCode(_0x23ccde,_0x4b978c){_0x4b978c=_0x4b978c||0xcc;return function(_0x1ecf4c){if(_0x1ecf4c){return _0x23ccde[_0x23c4('0x19')](_0x4b978c);}return _0x23ccde[_0x23c4('0x1a')](_0x4b978c)['end']();};}function respondWithResult(_0x29a8c9,_0x587ef7){_0x587ef7=_0x587ef7||0xc8;return function(_0x28ebca){if(_0x28ebca){return _0x29a8c9[_0x23c4('0x1a')](_0x587ef7)['json'](_0x28ebca);}};}function respondWithFilteredResult(_0x5dc768,_0x37ef78){return function(_0x4c58c1){if(_0x4c58c1){var _0x44bcf7=_0x4c58c1[_0x23c4('0x1b')],_0x148d0f=_0x37ef78['offset'],_0x40a307=_0x37ef78[_0x23c4('0x1c')]+_0x37ef78['limit'],_0x366111;if(_0x40a307>=_0x44bcf7){_0x40a307=_0x44bcf7;_0x366111=0xc8;}else{_0x366111=0xce;}_0x5dc768[_0x23c4('0x1a')](_0x366111);return _0x5dc768[_0x23c4('0x1d')](_0x23c4('0x1e'),_0x148d0f+'-'+_0x40a307+'/'+_0x44bcf7)['json'](_0x4c58c1);}return null;};}function patchUpdates(_0x28adba){return function(_0x5eaa33){try{jsonpatch[_0x23c4('0x1f')](_0x5eaa33,_0x28adba,!![]);}catch(_0x48b4ac){return BPromise['reject'](_0x48b4ac);}return _0x5eaa33[_0x23c4('0x20')]();};}function saveUpdates(_0x274e27,_0x52928f){return function(_0x2fd15d){if(_0x2fd15d){return _0x2fd15d['update'](_0x274e27)['then'](function(_0xe54709){return _0xe54709;});}return null;};}function removeEntity(_0x453ba2,_0xa11304){return function(_0x3e41aa){if(_0x3e41aa){return _0x3e41aa[_0x23c4('0x21')]()[_0x23c4('0x22')](function(){_0x453ba2[_0x23c4('0x1a')](0xcc)[_0x23c4('0x23')]();});}};}function handleEntityNotFound(_0x471c77,_0x2f1abf){return function(_0x599b0d){if(!_0x599b0d){_0x471c77['sendStatus'](0x194);}return _0x599b0d;};}function handleError(_0x3a6eac,_0x1fc29a){_0x1fc29a=_0x1fc29a||0x1f4;return function(_0x4d0580){logger[_0x23c4('0x24')](_0x4d0580['stack']);if(_0x4d0580[_0x23c4('0x25')]){delete _0x4d0580[_0x23c4('0x25')];}_0x3a6eac['status'](_0x1fc29a)['send'](_0x4d0580);};}exports[_0x23c4('0x26')]=function(_0x257465,_0x5a07c7){var _0xaaf104={},_0x5354b9={},_0x465934={'count':0x0,'rows':[]};var _0x351ae9=_['map'](db['VoiceMailMessage']['rawAttributes'],function(_0x13f3f8){return{'name':_0x13f3f8[_0x23c4('0x27')],'type':_0x13f3f8[_0x23c4('0x28')][_0x23c4('0x29')]};});_0x5354b9[_0x23c4('0x2a')]=_[_0x23c4('0x2b')](_[_0x23c4('0x2c')](_0x351ae9,'name'),[_0x23c4('0x25')]);_0x5354b9[_0x23c4('0x2d')]=_[_0x23c4('0x2e')](_0x257465[_0x23c4('0x2d')]);_0x5354b9[_0x23c4('0x2f')]=_['intersection'](_0x5354b9[_0x23c4('0x2a')],_0x5354b9[_0x23c4('0x2d')]);_0xaaf104[_0x23c4('0x30')]=_[_0x23c4('0x31')](_0x5354b9[_0x23c4('0x2a')],qs[_0x23c4('0x32')](_0x257465['query'][_0x23c4('0x32')]));_0xaaf104['attributes']=_0xaaf104['attributes'][_0x23c4('0x33')]?_0xaaf104[_0x23c4('0x30')]:_0x5354b9['model'];if(!_0x257465[_0x23c4('0x2d')][_0x23c4('0x34')]('nolimit')){_0xaaf104[_0x23c4('0x35')]=qs[_0x23c4('0x35')](_0x257465[_0x23c4('0x2d')][_0x23c4('0x35')]);_0xaaf104[_0x23c4('0x1c')]=qs[_0x23c4('0x1c')](_0x257465[_0x23c4('0x2d')][_0x23c4('0x1c')]);}_0xaaf104[_0x23c4('0x36')]=qs[_0x23c4('0x37')](_0x257465['query'][_0x23c4('0x37')]);_0xaaf104[_0x23c4('0x38')]=qs[_0x23c4('0x2f')](_[_0x23c4('0x39')](_0x257465[_0x23c4('0x2d')],_0x5354b9[_0x23c4('0x2f')]),_0x351ae9);if(_0x257465[_0x23c4('0x2d')][_0x23c4('0x3a')]){_0xaaf104[_0x23c4('0x38')]=_[_0x23c4('0x3b')](_0xaaf104[_0x23c4('0x38')],{'$or':_[_0x23c4('0x2c')](_0x351ae9,function(_0x4d9341){if(_0x4d9341['type']!==_0x23c4('0x3c')){var _0x38a813={};_0x38a813[_0x4d9341[_0x23c4('0x25')]]={'$like':'%'+_0x257465['query'][_0x23c4('0x3a')]+'%'};return _0x38a813;}})});}_0xaaf104=_[_0x23c4('0x3b')]({},_0xaaf104,_0x257465[_0x23c4('0x3d')]);var _0x10f868={'where':_0xaaf104[_0x23c4('0x38')]};return db[_0x23c4('0x3e')][_0x23c4('0x1b')](_0x10f868)[_0x23c4('0x22')](function(_0x430eed){_0x465934[_0x23c4('0x1b')]=_0x430eed;if(_0x257465[_0x23c4('0x2d')]['includeAll']){_0xaaf104[_0x23c4('0x3f')]=[{'all':!![]}];}return db[_0x23c4('0x3e')][_0x23c4('0x40')](_0xaaf104);})['then'](function(_0x1cad4c){_0x465934[_0x23c4('0x41')]=_0x1cad4c;return _0x465934;})[_0x23c4('0x22')](respondWithFilteredResult(_0x5a07c7,_0xaaf104))[_0x23c4('0x42')](handleError(_0x5a07c7,null));};exports[_0x23c4('0x43')]=function(_0x13f75b,_0x174aea){var _0x49672c={'raw':!![],'where':{'id':_0x13f75b[_0x23c4('0x44')]['id']}},_0x4f0fa5={};_0x4f0fa5['model']=_['keys'](db[_0x23c4('0x3e')]['rawAttributes']);_0x4f0fa5['query']=_[_0x23c4('0x2e')](_0x13f75b[_0x23c4('0x2d')]);_0x4f0fa5['filters']=_[_0x23c4('0x31')](_0x4f0fa5[_0x23c4('0x2a')],_0x4f0fa5[_0x23c4('0x2d')]);_0x49672c[_0x23c4('0x30')]=_[_0x23c4('0x31')](_0x4f0fa5[_0x23c4('0x2a')],qs[_0x23c4('0x32')](_0x13f75b[_0x23c4('0x2d')]['fields']));_0x49672c[_0x23c4('0x30')]=_0x49672c[_0x23c4('0x30')][_0x23c4('0x33')]?_0x49672c[_0x23c4('0x30')]:_0x4f0fa5[_0x23c4('0x2a')];if(_0x13f75b['query'][_0x23c4('0x45')]){_0x49672c[_0x23c4('0x3f')]=[{'all':!![]}];}_0x49672c=_['merge']({},_0x49672c,_0x13f75b[_0x23c4('0x3d')]);return db[_0x23c4('0x3e')]['find'](_0x49672c)['then'](handleEntityNotFound(_0x174aea,null))[_0x23c4('0x22')](respondWithResult(_0x174aea,null))[_0x23c4('0x42')](handleError(_0x174aea,null));};exports[_0x23c4('0x46')]=function(_0x3aa5f6,_0x44ad4c){return db[_0x23c4('0x3e')][_0x23c4('0x46')](_0x3aa5f6[_0x23c4('0x47')],{})[_0x23c4('0x22')](respondWithResult(_0x44ad4c,0xc9))[_0x23c4('0x42')](handleError(_0x44ad4c,null));};exports['update']=function(_0x50528f,_0x4de5d2){if(_0x50528f['body']['id']){delete _0x50528f['body']['id'];}return db[_0x23c4('0x3e')]['find']({'where':{'id':_0x50528f[_0x23c4('0x44')]['id']}})['then'](handleEntityNotFound(_0x4de5d2,null))[_0x23c4('0x22')](saveUpdates(_0x50528f[_0x23c4('0x47')],null))['then'](respondWithResult(_0x4de5d2,null))[_0x23c4('0x42')](handleError(_0x4de5d2,null));};exports[_0x23c4('0x21')]=function(_0x5be171,_0x7fcd3e){return db[_0x23c4('0x3e')][_0x23c4('0x48')]({'where':{'id':_0x5be171[_0x23c4('0x44')]['id']}})['then'](handleEntityNotFound(_0x7fcd3e,null))[_0x23c4('0x22')](removeEntity(_0x7fcd3e,null))['catch'](handleError(_0x7fcd3e,null));};exports[_0x23c4('0x49')]=function(_0x5cbd2f,_0x42684c,_0x4eea6d){return db['VoiceMailMessage']['find']({'where':{'id':_0x5cbd2f['params']['id']},'attributes':['id',_0x23c4('0x4a'),_0x23c4('0x4b')]})['then'](handleEntityNotFound(_0x42684c,null))[_0x23c4('0x22')](function(_0xb9f83){if(_0xb9f83){if(!_0xb9f83[_0x23c4('0x4a')]){throw new db[(_0x23c4('0x4c'))][(_0x23c4('0x4d'))](_0x23c4('0x4e'));}var _0x69fadc={'Content-Type':'audio/wav','Content-Disposition':_0x23c4('0x4f')};if(_0xb9f83[_0x23c4('0x4b')]){_0x69fadc[_0x23c4('0x50')]='attachment;\x20filename=\x22'+_0xb9f83[_0x23c4('0x4b')]+_0x23c4('0x51');}_0x42684c['set'](_0x69fadc);return _0x42684c[_0x23c4('0x52')](new Buffer(_0xb9f83[_0x23c4('0x4a')]));}})[_0x23c4('0x42')](handleError(_0x42684c,null));};