Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / api / voiceMail / voiceMail.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 _0xc898=['set','apply','reject','save','update','then','destroy','get','Voicemails','UserProfileResource','end','error','stack','name','send','index','VoiceMail','rawAttributes','fieldName','key','model','map','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','filter','options','includeAll','include','catch','show','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','params','getMessages','findOne','keys','mailbox','VoiceMailMessage','findAndCountAll','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count'];(function(_0x314b41,_0x59661c){var _0x508fbb=function(_0xf6ab0a){while(--_0xf6ab0a){_0x314b41['push'](_0x314b41['shift']());}};_0x508fbb(++_0x59661c);}(_0xc898,0x1a1));var _0x8c89=function(_0x5305ed,_0x2b25df){_0x5305ed=_0x5305ed-0x0;var _0x239820=_0xc898[_0x5305ed];return _0x239820;};'use strict';var emlformat=require(_0x8c89('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8c89('0x1'));var jsonpatch=require(_0x8c89('0x2'));var rp=require(_0x8c89('0x3'));var moment=require('moment');var BPromise=require(_0x8c89('0x4'));var Mustache=require(_0x8c89('0x5'));var util=require(_0x8c89('0x6'));var path=require(_0x8c89('0x7'));var sox=require('sox');var csv=require(_0x8c89('0x8'));var ejs=require(_0x8c89('0x9'));var fs=require('fs');var fs_extra=require(_0x8c89('0xa'));var _=require(_0x8c89('0xb'));var squel=require(_0x8c89('0xc'));var crypto=require(_0x8c89('0xd'));var jsforce=require(_0x8c89('0xe'));var deskjs=require(_0x8c89('0xf'));var toCsv=require(_0x8c89('0x8'));var querystring=require(_0x8c89('0x10'));var Papa=require('papaparse');var Redis=require(_0x8c89('0x11'));var authService=require(_0x8c89('0x12'));var qs=require(_0x8c89('0x13'));var as=require(_0x8c89('0x14'));var hardwareService=require(_0x8c89('0x15'));var logger=require(_0x8c89('0x16'))(_0x8c89('0x17'));var utils=require('../../config/utils');var config=require(_0x8c89('0x18'));var licenseUtil=require(_0x8c89('0x19'));var db=require(_0x8c89('0x1a'))['db'];function respondWithStatusCode(_0x238fe1,_0x41b04a){_0x41b04a=_0x41b04a||0xcc;return function(_0x3a4805){if(_0x3a4805){return _0x238fe1[_0x8c89('0x1b')](_0x41b04a);}return _0x238fe1[_0x8c89('0x1c')](_0x41b04a)['end']();};}function respondWithResult(_0x29a874,_0x25bf2b){_0x25bf2b=_0x25bf2b||0xc8;return function(_0x3075e9){if(_0x3075e9){return _0x29a874[_0x8c89('0x1c')](_0x25bf2b)['json'](_0x3075e9);}};}function respondWithFilteredResult(_0x3d84a1,_0x3d929f){return function(_0x24c35c){if(_0x24c35c){var _0x4f556e=typeof _0x3d929f[_0x8c89('0x1d')]===_0x8c89('0x1e')&&typeof _0x3d929f[_0x8c89('0x1f')]==='undefined';var _0x59c7a7=_0x24c35c['count'];var _0x5ba10c=_0x4f556e?0x0:_0x3d929f[_0x8c89('0x1d')];var _0x17c397=_0x4f556e?_0x24c35c[_0x8c89('0x20')]:_0x3d929f[_0x8c89('0x1d')]+_0x3d929f[_0x8c89('0x1f')];var _0x277145;if(_0x17c397>=_0x59c7a7){_0x17c397=_0x59c7a7;_0x277145=0xc8;}else{_0x277145=0xce;}_0x3d84a1[_0x8c89('0x1c')](_0x277145);return _0x3d84a1[_0x8c89('0x21')]('Content-Range',_0x5ba10c+'-'+_0x17c397+'/'+_0x59c7a7)['json'](_0x24c35c);}return null;};}function patchUpdates(_0x5b9eb1){return function(_0x1c5481){try{jsonpatch[_0x8c89('0x22')](_0x1c5481,_0x5b9eb1,!![]);}catch(_0x4d00e7){return BPromise[_0x8c89('0x23')](_0x4d00e7);}return _0x1c5481[_0x8c89('0x24')]();};}function saveUpdates(_0x3aa044,_0x4632fc){return function(_0x5e58ed){if(_0x5e58ed){return _0x5e58ed[_0x8c89('0x25')](_0x3aa044)[_0x8c89('0x26')](function(_0xa180a2){return _0xa180a2;});}return null;};}function removeEntity(_0x2bfad0,_0x3d2db2){return function(_0x47f4ad){if(_0x47f4ad){return _0x47f4ad[_0x8c89('0x27')]()['then'](function(){var _0x35dff3=_0x47f4ad[_0x8c89('0x28')]({'plain':!![]});var _0x6410c0=_0x8c89('0x29');return db[_0x8c89('0x2a')][_0x8c89('0x27')]({'where':{'type':_0x6410c0,'resourceId':_0x35dff3['id']}})[_0x8c89('0x26')](function(){return _0x47f4ad;});})[_0x8c89('0x26')](function(){_0x2bfad0[_0x8c89('0x1c')](0xcc)[_0x8c89('0x2b')]();});}};}function handleEntityNotFound(_0x568999,_0x41d601){return function(_0x1d6512){if(!_0x1d6512){_0x568999[_0x8c89('0x1b')](0x194);}return _0x1d6512;};}function handleError(_0x3dd88d,_0x380d4a){_0x380d4a=_0x380d4a||0x1f4;return function(_0x386404){logger[_0x8c89('0x2c')](_0x386404[_0x8c89('0x2d')]);if(_0x386404[_0x8c89('0x2e')]){delete _0x386404[_0x8c89('0x2e')];}_0x3dd88d['status'](_0x380d4a)[_0x8c89('0x2f')](_0x386404);};}exports[_0x8c89('0x30')]=function(_0x291e82,_0x32a0e1){var _0x1d9e13={},_0x55b80e={},_0x2b90ec={'count':0x0,'rows':[]};var _0x5f397d=_['map'](db[_0x8c89('0x31')][_0x8c89('0x32')],function(_0x112470){return{'name':_0x112470[_0x8c89('0x33')],'type':_0x112470['type'][_0x8c89('0x34')]};});_0x55b80e[_0x8c89('0x35')]=_[_0x8c89('0x36')](_0x5f397d,_0x8c89('0x2e'));_0x55b80e[_0x8c89('0x37')]=_['keys'](_0x291e82[_0x8c89('0x37')]);_0x55b80e[_0x8c89('0x38')]=_[_0x8c89('0x39')](_0x55b80e[_0x8c89('0x35')],_0x55b80e[_0x8c89('0x37')]);_0x1d9e13['attributes']=_[_0x8c89('0x39')](_0x55b80e[_0x8c89('0x35')],qs[_0x8c89('0x3a')](_0x291e82[_0x8c89('0x37')][_0x8c89('0x3a')]));_0x1d9e13['attributes']=_0x1d9e13[_0x8c89('0x3b')]['length']?_0x1d9e13['attributes']:_0x55b80e[_0x8c89('0x35')];if(!_0x291e82[_0x8c89('0x37')][_0x8c89('0x3c')](_0x8c89('0x3d'))){_0x1d9e13['limit']=qs[_0x8c89('0x1f')](_0x291e82[_0x8c89('0x37')][_0x8c89('0x1f')]);_0x1d9e13[_0x8c89('0x1d')]=qs['offset'](_0x291e82[_0x8c89('0x37')][_0x8c89('0x1d')]);}_0x1d9e13[_0x8c89('0x3e')]=qs[_0x8c89('0x3f')](_0x291e82['query']['sort']);_0x1d9e13[_0x8c89('0x40')]=qs[_0x8c89('0x38')](_[_0x8c89('0x41')](_0x291e82[_0x8c89('0x37')],_0x55b80e['filters']),_0x5f397d);if(_0x291e82['query']['filter']){_0x1d9e13[_0x8c89('0x40')]=_[_0x8c89('0x42')](_0x1d9e13[_0x8c89('0x40')],{'$or':_[_0x8c89('0x36')](_0x5f397d,function(_0xbc56dc){if(_0xbc56dc[_0x8c89('0x43')]!=='VIRTUAL'){var _0x1fbfb9={};_0x1fbfb9[_0xbc56dc[_0x8c89('0x2e')]]={'$like':'%'+_0x291e82[_0x8c89('0x37')][_0x8c89('0x44')]+'%'};return _0x1fbfb9;}})});}_0x1d9e13=_[_0x8c89('0x42')]({},_0x1d9e13,_0x291e82[_0x8c89('0x45')]);var _0x337900={'where':_0x1d9e13['where']};return db['VoiceMail'][_0x8c89('0x20')](_0x337900)[_0x8c89('0x26')](function(_0x525b09){_0x2b90ec[_0x8c89('0x20')]=_0x525b09;if(_0x291e82[_0x8c89('0x37')][_0x8c89('0x46')]){_0x1d9e13[_0x8c89('0x47')]=[{'all':!![]}];}return db['VoiceMail']['findAll'](_0x1d9e13);})[_0x8c89('0x26')](function(_0x4272a0){_0x2b90ec['rows']=_0x4272a0;return _0x2b90ec;})[_0x8c89('0x26')](respondWithFilteredResult(_0x32a0e1,_0x1d9e13))[_0x8c89('0x48')](handleError(_0x32a0e1,null));};exports[_0x8c89('0x49')]=function(_0x4fda1a,_0x480640){var _0xbda0b3={'raw':!![],'where':{'id':_0x4fda1a['params']['id']}},_0x3244a6={};_0x3244a6['model']=_['keys'](db['VoiceMail'][_0x8c89('0x32')]);_0x3244a6['query']=_['keys'](_0x4fda1a[_0x8c89('0x37')]);_0x3244a6['filters']=_[_0x8c89('0x39')](_0x3244a6[_0x8c89('0x35')],_0x3244a6[_0x8c89('0x37')]);_0xbda0b3[_0x8c89('0x3b')]=_[_0x8c89('0x39')](_0x3244a6[_0x8c89('0x35')],qs[_0x8c89('0x3a')](_0x4fda1a[_0x8c89('0x37')][_0x8c89('0x3a')]));_0xbda0b3[_0x8c89('0x3b')]=_0xbda0b3[_0x8c89('0x3b')]['length']?_0xbda0b3[_0x8c89('0x3b')]:_0x3244a6[_0x8c89('0x35')];if(_0x4fda1a[_0x8c89('0x37')]['includeAll']){_0xbda0b3['include']=[{'all':!![]}];}_0xbda0b3=_['merge']({},_0xbda0b3,_0x4fda1a[_0x8c89('0x45')]);return db[_0x8c89('0x31')]['find'](_0xbda0b3)[_0x8c89('0x26')](handleEntityNotFound(_0x480640,null))['then'](respondWithResult(_0x480640,null))['catch'](handleError(_0x480640,null));};exports[_0x8c89('0x4a')]=function(_0x41b37f,_0x209e86){return db[_0x8c89('0x31')][_0x8c89('0x4a')](_0x41b37f[_0x8c89('0x4b')],{})[_0x8c89('0x26')](function(_0x25673f){var _0x4f410a=_0x41b37f[_0x8c89('0x4c')][_0x8c89('0x28')]({'plain':!![]});if(!_0x4f410a)throw new Error(_0x8c89('0x4d'));if(_0x4f410a['role']===_0x8c89('0x4c')){var _0x30d28c=_0x25673f[_0x8c89('0x28')]({'plain':!![]});var _0x18cdf4=_0x8c89('0x29');return db[_0x8c89('0x4e')]['find']({'where':{'name':_0x18cdf4,'userProfileId':_0x4f410a[_0x8c89('0x4f')]},'raw':!![]})[_0x8c89('0x26')](function(_0x2c9af1){if(_0x2c9af1&&_0x2c9af1[_0x8c89('0x50')]===0x0){return db[_0x8c89('0x2a')][_0x8c89('0x4a')]({'name':_0x30d28c[_0x8c89('0x2e')],'resourceId':_0x30d28c['id'],'type':_0x2c9af1[_0x8c89('0x2e')],'sectionId':_0x2c9af1['id']},{})[_0x8c89('0x26')](function(){return _0x25673f;});}else{return _0x25673f;}})[_0x8c89('0x48')](function(_0x14969d){logger['error'](_0x8c89('0x51'),_0x14969d);throw _0x14969d;});}return _0x25673f;})[_0x8c89('0x26')](respondWithResult(_0x209e86,0xc9))['catch'](handleError(_0x209e86,null));};exports[_0x8c89('0x25')]=function(_0x46f7e9,_0x3b5ac3){if(_0x46f7e9[_0x8c89('0x4b')]['id']){delete _0x46f7e9[_0x8c89('0x4b')]['id'];}return db['VoiceMail'][_0x8c89('0x52')]({'where':{'id':_0x46f7e9['params']['id']}})[_0x8c89('0x26')](handleEntityNotFound(_0x3b5ac3,null))[_0x8c89('0x26')](saveUpdates(_0x46f7e9[_0x8c89('0x4b')],null))[_0x8c89('0x26')](respondWithResult(_0x3b5ac3,null))[_0x8c89('0x48')](handleError(_0x3b5ac3,null));};exports['destroy']=function(_0x5eda0b,_0x526cf4){return db[_0x8c89('0x31')][_0x8c89('0x52')]({'where':{'id':_0x5eda0b[_0x8c89('0x53')]['id']}})['then'](handleEntityNotFound(_0x526cf4,null))[_0x8c89('0x26')](removeEntity(_0x526cf4,null))[_0x8c89('0x48')](handleError(_0x526cf4,null));};exports[_0x8c89('0x54')]=function(_0xb777c8,_0x5c8efa,_0x412760){return db[_0x8c89('0x31')][_0x8c89('0x55')]({'where':{'id':_0xb777c8[_0x8c89('0x53')]['id']}})['then'](handleEntityNotFound(_0x5c8efa,null))[_0x8c89('0x26')](function(_0x59928d){var _0x38f24d;var _0x1bc515={},_0xd1a3b={};_0xd1a3b[_0x8c89('0x35')]=_['keys'](db['VoiceMailMessage'][_0x8c89('0x32')]);_0xd1a3b[_0x8c89('0x37')]=_[_0x8c89('0x56')](_0xb777c8['query']);_0xd1a3b[_0x8c89('0x38')]=_[_0x8c89('0x39')](_0xd1a3b[_0x8c89('0x35')],_0xd1a3b[_0x8c89('0x37')]);_0x1bc515[_0x8c89('0x3b')]=_[_0x8c89('0x39')](_0xd1a3b[_0x8c89('0x35')],qs[_0x8c89('0x3a')](_0xb777c8[_0x8c89('0x37')][_0x8c89('0x3a')]));_0x1bc515[_0x8c89('0x3b')]=_0x1bc515['attributes']['length']?_0x1bc515[_0x8c89('0x3b')]:_0xd1a3b[_0x8c89('0x35')];if(!_0xb777c8['query'][_0x8c89('0x3c')]('nolimit')){_0x1bc515[_0x8c89('0x1f')]=qs['limit'](_0xb777c8['query'][_0x8c89('0x1f')]);_0x1bc515[_0x8c89('0x1d')]=qs['offset'](_0xb777c8[_0x8c89('0x37')][_0x8c89('0x1d')]);}_0x1bc515['order']=qs[_0x8c89('0x3f')](_0xb777c8[_0x8c89('0x37')]['sort']);_0x1bc515[_0x8c89('0x40')]=qs[_0x8c89('0x38')](_['pick'](_0xb777c8[_0x8c89('0x37')],_0xd1a3b[_0x8c89('0x38')]));if(_0xb777c8['query'][_0x8c89('0x44')]){_0x1bc515[_0x8c89('0x40')]=_[_0x8c89('0x42')](_0x1bc515[_0x8c89('0x40')],{'$or':_[_0x8c89('0x36')](_0x1bc515[_0x8c89('0x3b')],function(_0x53655b){var _0x1153f2={};_0x1153f2[_0x53655b]={'$like':'%'+_0xb777c8[_0x8c89('0x37')]['filter']+'%'};return _0x1153f2;})});}_0x1bc515[_0x8c89('0x40')]=_[_0x8c89('0x42')](_0x1bc515['where'],{'mailboxuser':_0x59928d[_0x8c89('0x57')]});_0x1bc515=_[_0x8c89('0x42')]({},_0x1bc515,_0xb777c8[_0x8c89('0x45')]);return db[_0x8c89('0x58')][_0x8c89('0x59')](_0x1bc515)[_0x8c89('0x26')](respondWithFilteredResult(_0x5c8efa,_0x1bc515));})[_0x8c89('0x48')](handleError(_0x5c8efa,null));};