ed7543e1d6177132cf731094d0aa2c5add9cd4d8
[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 _0x0834=['msg_id','recording','Sequelize','VoiceMailMessage\x20not\x20found','audio/wav','attachment','Content-Disposition','attachment;\x20filename=\x22','rimraf','zip-dir','bluebird','mustache','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','error','name','index','map','VoiceMailMessage','rawAttributes','fieldName','model','differenceBy','query','filters','intersection','attributes','fields','hasOwnProperty','limit','sort','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','show','params','keys','filtears','catch','create','body','find','destroy','download'];(function(_0x4d8e14,_0x130662){var _0x4d0df0=function(_0x56ebe8){while(--_0x56ebe8){_0x4d8e14['push'](_0x4d8e14['shift']());}};_0x4d0df0(++_0x130662);}(_0x0834,0x18e));var _0x4083=function(_0x3e1249,_0x329d83){_0x3e1249=_0x3e1249-0x0;var _0xc3b9d0=_0x0834[_0x3e1249];return _0xc3b9d0;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x4083('0x0'));var zipdir=require(_0x4083('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x4083('0x2'));var Mustache=require(_0x4083('0x3'));var util=require('util');var path=require(_0x4083('0x4'));var sox=require(_0x4083('0x5'));var csv=require('to-csv');var ejs=require(_0x4083('0x6'));var fs=require('fs');var _=require('lodash');var squel=require(_0x4083('0x7'));var crypto=require(_0x4083('0x8'));var jsforce=require(_0x4083('0x9'));var deskjs=require(_0x4083('0xa'));var toCsv=require(_0x4083('0xb'));var querystring=require(_0x4083('0xc'));var Papa=require(_0x4083('0xd'));var Redis=require(_0x4083('0xe'));var authService=require(_0x4083('0xf'));var qs=require(_0x4083('0x10'));var as=require(_0x4083('0x11'));var hardwareService=require(_0x4083('0x12'));var logger=require(_0x4083('0x13'))(_0x4083('0x14'));var utils=require(_0x4083('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4083('0x16'))['db'];function respondWithStatusCode(_0x3dfd39,_0x4e6fb2){_0x4e6fb2=_0x4e6fb2||0xcc;return function(_0x2a24ac){if(_0x2a24ac){return _0x3dfd39[_0x4083('0x17')](_0x4e6fb2);}return _0x3dfd39[_0x4083('0x18')](_0x4e6fb2)['end']();};}function respondWithResult(_0x4bef74,_0xb5badb){_0xb5badb=_0xb5badb||0xc8;return function(_0x392f82){if(_0x392f82){return _0x4bef74['status'](_0xb5badb)[_0x4083('0x19')](_0x392f82);}};}function respondWithFilteredResult(_0x316e54,_0xc7c267){return function(_0x146632){if(_0x146632){var _0x38757d=_0x146632[_0x4083('0x1a')],_0x4d59c7=_0xc7c267[_0x4083('0x1b')],_0x259b2b=_0xc7c267['offset']+_0xc7c267['limit'],_0x10cadd;if(_0x259b2b>=_0x38757d){_0x259b2b=_0x38757d;_0x10cadd=0xc8;}else{_0x10cadd=0xce;}_0x316e54['status'](_0x10cadd);return _0x316e54[_0x4083('0x1c')](_0x4083('0x1d'),_0x4d59c7+'-'+_0x259b2b+'/'+_0x38757d)['json'](_0x146632);}return null;};}function patchUpdates(_0x330c82){return function(_0x4a16dc){try{jsonpatch[_0x4083('0x1e')](_0x4a16dc,_0x330c82,!![]);}catch(_0x1c5987){return BPromise[_0x4083('0x1f')](_0x1c5987);}return _0x4a16dc[_0x4083('0x20')]();};}function saveUpdates(_0x4b32e9,_0x3b29b1){return function(_0x5b3662){if(_0x5b3662){return _0x5b3662[_0x4083('0x21')](_0x4b32e9)[_0x4083('0x22')](function(_0x14562f){return _0x14562f;});}return null;};}function removeEntity(_0x94d72c,_0x5d7461){return function(_0x328efe){if(_0x328efe){return _0x328efe['destroy']()[_0x4083('0x22')](function(){_0x94d72c[_0x4083('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x52a440,_0x3ce623){return function(_0x5b1f8a){if(!_0x5b1f8a){_0x52a440['sendStatus'](0x194);}return _0x5b1f8a;};}function handleError(_0x5f034c,_0x14e274){_0x14e274=_0x14e274||0x1f4;return function(_0xb2fbb5){logger[_0x4083('0x23')](_0xb2fbb5['stack']);if(_0xb2fbb5[_0x4083('0x24')]){delete _0xb2fbb5[_0x4083('0x24')];}_0x5f034c[_0x4083('0x18')](_0x14e274)['send'](_0xb2fbb5);};}exports[_0x4083('0x25')]=function(_0x323736,_0x5f5679){var _0x315458={},_0x467c01={},_0x2daca5={'count':0x0,'rows':[]};var _0xabc8c7=_[_0x4083('0x26')](db[_0x4083('0x27')][_0x4083('0x28')],function(_0x1534e9){return{'name':_0x1534e9[_0x4083('0x29')],'type':_0x1534e9['type']['key']};});_0x467c01[_0x4083('0x2a')]=_[_0x4083('0x2b')](_[_0x4083('0x26')](_0xabc8c7,_0x4083('0x24')),[_0x4083('0x24')]);_0x467c01[_0x4083('0x2c')]=_['keys'](_0x323736[_0x4083('0x2c')]);_0x467c01[_0x4083('0x2d')]=_[_0x4083('0x2e')](_0x467c01[_0x4083('0x2a')],_0x467c01[_0x4083('0x2c')]);_0x315458[_0x4083('0x2f')]=_['intersection'](_0x467c01[_0x4083('0x2a')],qs[_0x4083('0x30')](_0x323736[_0x4083('0x2c')][_0x4083('0x30')]));_0x315458[_0x4083('0x2f')]=_0x315458[_0x4083('0x2f')]['length']?_0x315458[_0x4083('0x2f')]:_0x467c01['model'];if(!_0x323736[_0x4083('0x2c')][_0x4083('0x31')]('nolimit')){_0x315458[_0x4083('0x32')]=qs[_0x4083('0x32')](_0x323736[_0x4083('0x2c')][_0x4083('0x32')]);_0x315458['offset']=qs['offset'](_0x323736[_0x4083('0x2c')][_0x4083('0x1b')]);}_0x315458['order']=qs[_0x4083('0x33')](_0x323736['query'][_0x4083('0x33')]);_0x315458['where']=qs['filters'](_['pick'](_0x323736[_0x4083('0x2c')],_0x467c01[_0x4083('0x2d')]),_0xabc8c7);if(_0x323736[_0x4083('0x2c')][_0x4083('0x34')]){_0x315458[_0x4083('0x35')]=_['merge'](_0x315458['where'],{'$or':_[_0x4083('0x26')](_0xabc8c7,function(_0x457a6b){if(_0x457a6b['type']!==_0x4083('0x36')){var _0x5d2979={};_0x5d2979[_0x457a6b['name']]={'$like':'%'+_0x323736['query'][_0x4083('0x34')]+'%'};return _0x5d2979;}})});}_0x315458=_[_0x4083('0x37')]({},_0x315458,_0x323736[_0x4083('0x38')]);var _0x4aa795={'where':_0x315458['where']};return db[_0x4083('0x27')]['count'](_0x4aa795)[_0x4083('0x22')](function(_0x9b689e){_0x2daca5[_0x4083('0x1a')]=_0x9b689e;if(_0x323736[_0x4083('0x2c')][_0x4083('0x39')]){_0x315458[_0x4083('0x3a')]=[{'all':!![]}];}return db['VoiceMailMessage'][_0x4083('0x3b')](_0x315458);})[_0x4083('0x22')](function(_0x557804){_0x2daca5['rows']=_0x557804;return _0x2daca5;})[_0x4083('0x22')](respondWithFilteredResult(_0x5f5679,_0x315458))['catch'](handleError(_0x5f5679,null));};exports[_0x4083('0x3c')]=function(_0xd2321b,_0x1b00a5){var _0x4867cb={'raw':!![],'where':{'id':_0xd2321b[_0x4083('0x3d')]['id']}},_0x2f01e8={};_0x2f01e8[_0x4083('0x2a')]=_['keys'](db[_0x4083('0x27')][_0x4083('0x28')]);_0x2f01e8[_0x4083('0x2c')]=_[_0x4083('0x3e')](_0xd2321b[_0x4083('0x2c')]);_0x2f01e8[_0x4083('0x3f')]=_[_0x4083('0x2e')](_0x2f01e8[_0x4083('0x2a')],_0x2f01e8['query']);_0x4867cb['attributes']=_[_0x4083('0x2e')](_0x2f01e8[_0x4083('0x2a')],qs[_0x4083('0x30')](_0xd2321b[_0x4083('0x2c')][_0x4083('0x30')]));_0x4867cb[_0x4083('0x2f')]=_0x4867cb[_0x4083('0x2f')]['length']?_0x4867cb[_0x4083('0x2f')]:_0x2f01e8[_0x4083('0x2a')];if(_0xd2321b[_0x4083('0x2c')][_0x4083('0x39')]){_0x4867cb[_0x4083('0x3a')]=[{'all':!![]}];}_0x4867cb=_['merge']({},_0x4867cb,_0xd2321b[_0x4083('0x38')]);return db['VoiceMailMessage']['find'](_0x4867cb)[_0x4083('0x22')](handleEntityNotFound(_0x1b00a5,null))[_0x4083('0x22')](respondWithResult(_0x1b00a5,null))[_0x4083('0x40')](handleError(_0x1b00a5,null));};exports[_0x4083('0x41')]=function(_0x5dda83,_0x35e362){return db['VoiceMailMessage'][_0x4083('0x41')](_0x5dda83[_0x4083('0x42')],{})[_0x4083('0x22')](respondWithResult(_0x35e362,0xc9))['catch'](handleError(_0x35e362,null));};exports[_0x4083('0x21')]=function(_0x79de54,_0xa79370){if(_0x79de54['body']['id']){delete _0x79de54[_0x4083('0x42')]['id'];}return db[_0x4083('0x27')][_0x4083('0x43')]({'where':{'id':_0x79de54[_0x4083('0x3d')]['id']}})[_0x4083('0x22')](handleEntityNotFound(_0xa79370,null))[_0x4083('0x22')](saveUpdates(_0x79de54[_0x4083('0x42')],null))['then'](respondWithResult(_0xa79370,null))[_0x4083('0x40')](handleError(_0xa79370,null));};exports[_0x4083('0x44')]=function(_0xd9922a,_0x4405cf){return db['VoiceMailMessage'][_0x4083('0x43')]({'where':{'id':_0xd9922a['params']['id']}})[_0x4083('0x22')](handleEntityNotFound(_0x4405cf,null))[_0x4083('0x22')](removeEntity(_0x4405cf,null))['catch'](handleError(_0x4405cf,null));};exports[_0x4083('0x45')]=function(_0x2306cf,_0x163aa9,_0x1c54c5){return db[_0x4083('0x27')][_0x4083('0x43')]({'where':{'id':_0x2306cf['params']['id']},'attributes':['id','recording',_0x4083('0x46')]})[_0x4083('0x22')](handleEntityNotFound(_0x163aa9,null))['then'](function(_0x432e25){if(_0x432e25){if(!_0x432e25[_0x4083('0x47')]){throw new db[(_0x4083('0x48'))]['ValidationError'](_0x4083('0x49'));}var _0x5c3a09={'Content-Type':_0x4083('0x4a'),'Content-Disposition':_0x4083('0x4b')};if(_0x432e25[_0x4083('0x46')]){_0x5c3a09[_0x4083('0x4c')]=_0x4083('0x4d')+_0x432e25['msg_id']+'.wav\x22';}_0x163aa9[_0x4083('0x1c')](_0x5c3a09);return _0x163aa9['send'](new Buffer(_0x432e25[_0x4083('0x47')]));}})[_0x4083('0x40')](handleError(_0x163aa9,null));};