Built motion from commit (unavailable).|2.5.1
[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 _0xd506=['rawAttributes','filters','catch','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','find','autoAssociation','create','update','getMessages','findOne','nolimit','VoiceMailMessage','findAndCountAll','html-pdf','mustache','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','limit','set','save','get','Voicemails','UserProfileResource','destroy','then','error','name','send','index','map','VoiceMail','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','show','params'];(function(_0xee1228,_0x2df586){var _0x210f17=function(_0x5b4d31){while(--_0x5b4d31){_0xee1228['push'](_0xee1228['shift']());}};_0x210f17(++_0x2df586);}(_0xd506,0x197));var _0x6d50=function(_0x1beef3,_0x57c4b8){_0x1beef3=_0x1beef3-0x0;var _0x5af964=_0xd506[_0x1beef3];return _0x5af964;};'use strict';var pdf=require(_0x6d50('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x6d50('0x1'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x6d50('0x2'));var ejs=require(_0x6d50('0x3'));var fs=require('fs');var _=require(_0x6d50('0x4'));var squel=require('squel');var crypto=require(_0x6d50('0x5'));var jsforce=require(_0x6d50('0x6'));var deskjs=require(_0x6d50('0x7'));var toCsv=require('to-csv');var querystring=require(_0x6d50('0x8'));var Papa=require('papaparse');var Redis=require(_0x6d50('0x9'));var authService=require(_0x6d50('0xa'));var qs=require(_0x6d50('0xb'));var as=require(_0x6d50('0xc'));var hardwareService=require(_0x6d50('0xd'));var logger=require(_0x6d50('0xe'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x6d50('0xf'));var db=require(_0x6d50('0x10'))['db'];function respondWithStatusCode(_0x39e10e,_0xf9f397){_0xf9f397=_0xf9f397||0xcc;return function(_0x5d7ad1){if(_0x5d7ad1){return _0x39e10e[_0x6d50('0x11')](_0xf9f397);}return _0x39e10e['status'](_0xf9f397)[_0x6d50('0x12')]();};}function respondWithResult(_0x5f5dcf,_0x5adb8e){_0x5adb8e=_0x5adb8e||0xc8;return function(_0x4da1c4){if(_0x4da1c4){return _0x5f5dcf[_0x6d50('0x13')](_0x5adb8e)['json'](_0x4da1c4);}};}function respondWithFilteredResult(_0x3d8e17,_0x3807a3){return function(_0x59090d){if(_0x59090d){var _0x599f10=_0x59090d['count'],_0xcb07fd=_0x3807a3[_0x6d50('0x14')],_0x2ee296=_0x3807a3[_0x6d50('0x14')]+_0x3807a3[_0x6d50('0x15')],_0x38068e;if(_0x2ee296>=_0x599f10){_0x2ee296=_0x599f10;_0x38068e=0xc8;}else{_0x38068e=0xce;}_0x3d8e17[_0x6d50('0x13')](_0x38068e);return _0x3d8e17[_0x6d50('0x16')]('Content-Range',_0xcb07fd+'-'+_0x2ee296+'/'+_0x599f10)['json'](_0x59090d);}return null;};}function patchUpdates(_0x15a666){return function(_0xb87dad){try{jsonpatch['apply'](_0xb87dad,_0x15a666,!![]);}catch(_0x463165){return BPromise['reject'](_0x463165);}return _0xb87dad[_0x6d50('0x17')]();};}function saveUpdates(_0x37a0a5,_0x138e7d){return function(_0x578533){if(_0x578533){return _0x578533['update'](_0x37a0a5)['then'](function(_0x305d1b){return _0x305d1b;});}return null;};}function removeEntity(_0x3e70b6,_0x582bca){return function(_0x48d452){if(_0x48d452){return _0x48d452['destroy']()['then'](function(){var _0x171fa2=_0x48d452[_0x6d50('0x18')]({'plain':!![]});var _0x2095e3=_0x6d50('0x19');return db[_0x6d50('0x1a')][_0x6d50('0x1b')]({'where':{'type':_0x2095e3,'resourceId':_0x171fa2['id']}})[_0x6d50('0x1c')](function(){return _0x48d452;});})['then'](function(){_0x3e70b6[_0x6d50('0x13')](0xcc)[_0x6d50('0x12')]();});}};}function handleEntityNotFound(_0x54d67e,_0x120ac2){return function(_0xaa4971){if(!_0xaa4971){_0x54d67e['sendStatus'](0x194);}return _0xaa4971;};}function handleError(_0x5c6b39,_0x15600a){_0x15600a=_0x15600a||0x1f4;return function(_0x221391){logger[_0x6d50('0x1d')](_0x221391['stack']);if(_0x221391['name']){delete _0x221391[_0x6d50('0x1e')];}_0x5c6b39[_0x6d50('0x13')](_0x15600a)[_0x6d50('0x1f')](_0x221391);};}exports[_0x6d50('0x20')]=function(_0x377334,_0x287d3c){var _0x151555={},_0x41d20b={},_0x4d5fc7={'count':0x0,'rows':[]};var _0x2454ea=_[_0x6d50('0x21')](db[_0x6d50('0x22')]['rawAttributes'],function(_0x123216){return{'name':_0x123216[_0x6d50('0x23')],'type':_0x123216[_0x6d50('0x24')][_0x6d50('0x25')]};});_0x41d20b[_0x6d50('0x26')]=_[_0x6d50('0x21')](_0x2454ea,_0x6d50('0x1e'));_0x41d20b[_0x6d50('0x27')]=_[_0x6d50('0x28')](_0x377334[_0x6d50('0x27')]);_0x41d20b['filters']=_[_0x6d50('0x29')](_0x41d20b[_0x6d50('0x26')],_0x41d20b[_0x6d50('0x27')]);_0x151555[_0x6d50('0x2a')]=_[_0x6d50('0x29')](_0x41d20b[_0x6d50('0x26')],qs['fields'](_0x377334[_0x6d50('0x27')][_0x6d50('0x2b')]));_0x151555[_0x6d50('0x2a')]=_0x151555[_0x6d50('0x2a')][_0x6d50('0x2c')]?_0x151555['attributes']:_0x41d20b['model'];if(!_0x377334[_0x6d50('0x27')][_0x6d50('0x2d')]('nolimit')){_0x151555[_0x6d50('0x15')]=qs[_0x6d50('0x15')](_0x377334[_0x6d50('0x27')][_0x6d50('0x15')]);_0x151555[_0x6d50('0x14')]=qs[_0x6d50('0x14')](_0x377334['query']['offset']);}_0x151555[_0x6d50('0x2e')]=qs[_0x6d50('0x2f')](_0x377334[_0x6d50('0x27')][_0x6d50('0x2f')]);_0x151555[_0x6d50('0x30')]=qs['filters'](_[_0x6d50('0x31')](_0x377334['query'],_0x41d20b['filters']),_0x2454ea);if(_0x377334['query'][_0x6d50('0x32')]){_0x151555[_0x6d50('0x30')]=_[_0x6d50('0x33')](_0x151555['where'],{'$or':_['map'](_0x2454ea,function(_0x84d2c7){if(_0x84d2c7[_0x6d50('0x24')]!==_0x6d50('0x34')){var _0x5bc48f={};_0x5bc48f[_0x84d2c7[_0x6d50('0x1e')]]={'$like':'%'+_0x377334[_0x6d50('0x27')][_0x6d50('0x32')]+'%'};return _0x5bc48f;}})});}_0x151555=_[_0x6d50('0x33')]({},_0x151555,_0x377334[_0x6d50('0x35')]);var _0x58e385={'where':_0x151555['where']};return db[_0x6d50('0x22')][_0x6d50('0x36')](_0x58e385)[_0x6d50('0x1c')](function(_0xe6318){_0x4d5fc7[_0x6d50('0x36')]=_0xe6318;if(_0x377334[_0x6d50('0x27')][_0x6d50('0x37')]){_0x151555[_0x6d50('0x38')]=[{'all':!![]}];}return db[_0x6d50('0x22')][_0x6d50('0x39')](_0x151555);})[_0x6d50('0x1c')](function(_0x5905e6){_0x4d5fc7[_0x6d50('0x3a')]=_0x5905e6;return _0x4d5fc7;})[_0x6d50('0x1c')](respondWithFilteredResult(_0x287d3c,_0x151555))['catch'](handleError(_0x287d3c,null));};exports[_0x6d50('0x3b')]=function(_0x5323d1,_0x51fd2a){var _0x1c9b12={'raw':!![],'where':{'id':_0x5323d1[_0x6d50('0x3c')]['id']}},_0x50b493={};_0x50b493[_0x6d50('0x26')]=_['keys'](db[_0x6d50('0x22')][_0x6d50('0x3d')]);_0x50b493[_0x6d50('0x27')]=_['keys'](_0x5323d1['query']);_0x50b493[_0x6d50('0x3e')]=_[_0x6d50('0x29')](_0x50b493[_0x6d50('0x26')],_0x50b493['query']);_0x1c9b12[_0x6d50('0x2a')]=_[_0x6d50('0x29')](_0x50b493[_0x6d50('0x26')],qs[_0x6d50('0x2b')](_0x5323d1[_0x6d50('0x27')]['fields']));_0x1c9b12[_0x6d50('0x2a')]=_0x1c9b12[_0x6d50('0x2a')][_0x6d50('0x2c')]?_0x1c9b12[_0x6d50('0x2a')]:_0x50b493['model'];if(_0x5323d1['query'][_0x6d50('0x37')]){_0x1c9b12[_0x6d50('0x38')]=[{'all':!![]}];}_0x1c9b12=_['merge']({},_0x1c9b12,_0x5323d1['options']);return db['VoiceMail']['find'](_0x1c9b12)[_0x6d50('0x1c')](handleEntityNotFound(_0x51fd2a,null))[_0x6d50('0x1c')](respondWithResult(_0x51fd2a,null))[_0x6d50('0x3f')](handleError(_0x51fd2a,null));};exports['create']=function(_0xc022ce,_0x11f406){return db[_0x6d50('0x22')]['create'](_0xc022ce[_0x6d50('0x40')],{})[_0x6d50('0x1c')](function(_0xd10795){var _0x4b895a=_0xc022ce['user'][_0x6d50('0x18')]({'plain':!![]});if(!_0x4b895a)throw new Error(_0x6d50('0x41'));if(_0x4b895a[_0x6d50('0x42')]===_0x6d50('0x43')){var _0x3de16c=_0xd10795[_0x6d50('0x18')]({'plain':!![]});var _0xeabb2a=_0x6d50('0x19');return db[_0x6d50('0x44')][_0x6d50('0x45')]({'where':{'name':_0xeabb2a,'userProfileId':_0x4b895a['userProfileId']},'raw':!![]})[_0x6d50('0x1c')](function(_0x1e4b16){if(_0x1e4b16&&_0x1e4b16[_0x6d50('0x46')]===0x0){return db[_0x6d50('0x1a')][_0x6d50('0x47')]({'name':_0x3de16c[_0x6d50('0x1e')],'resourceId':_0x3de16c['id'],'type':_0x1e4b16['name'],'sectionId':_0x1e4b16['id']},{})[_0x6d50('0x1c')](function(){return _0xd10795;});}else{return _0xd10795;}})[_0x6d50('0x3f')](function(_0x428950){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x428950);throw _0x428950;});}return _0xd10795;})[_0x6d50('0x1c')](respondWithResult(_0x11f406,0xc9))[_0x6d50('0x3f')](handleError(_0x11f406,null));};exports[_0x6d50('0x48')]=function(_0x1344e0,_0x12582a){if(_0x1344e0[_0x6d50('0x40')]['id']){delete _0x1344e0['body']['id'];}return db[_0x6d50('0x22')][_0x6d50('0x45')]({'where':{'id':_0x1344e0[_0x6d50('0x3c')]['id']}})[_0x6d50('0x1c')](handleEntityNotFound(_0x12582a,null))['then'](saveUpdates(_0x1344e0[_0x6d50('0x40')],null))[_0x6d50('0x1c')](respondWithResult(_0x12582a,null))[_0x6d50('0x3f')](handleError(_0x12582a,null));};exports[_0x6d50('0x1b')]=function(_0x280ff8,_0x21fd68){return db['VoiceMail']['find']({'where':{'id':_0x280ff8[_0x6d50('0x3c')]['id']}})[_0x6d50('0x1c')](handleEntityNotFound(_0x21fd68,null))[_0x6d50('0x1c')](removeEntity(_0x21fd68,null))['catch'](handleError(_0x21fd68,null));};exports[_0x6d50('0x49')]=function(_0x124abe,_0x2e816c,_0x2fc8c7){return db['VoiceMail'][_0x6d50('0x4a')]({'where':{'id':_0x124abe['params']['id']}})['then'](handleEntityNotFound(_0x2e816c,null))[_0x6d50('0x1c')](function(_0xa18425){var _0x4f5bfa;var _0x3f0250={},_0x4c4316={};_0x4c4316[_0x6d50('0x26')]=_['keys'](db['VoiceMailMessage'][_0x6d50('0x3d')]);_0x4c4316[_0x6d50('0x27')]=_[_0x6d50('0x28')](_0x124abe['query']);_0x4c4316[_0x6d50('0x3e')]=_['intersection'](_0x4c4316['model'],_0x4c4316[_0x6d50('0x27')]);_0x3f0250[_0x6d50('0x2a')]=_[_0x6d50('0x29')](_0x4c4316[_0x6d50('0x26')],qs[_0x6d50('0x2b')](_0x124abe[_0x6d50('0x27')]['fields']));_0x3f0250[_0x6d50('0x2a')]=_0x3f0250[_0x6d50('0x2a')][_0x6d50('0x2c')]?_0x3f0250[_0x6d50('0x2a')]:_0x4c4316[_0x6d50('0x26')];if(!_0x124abe[_0x6d50('0x27')][_0x6d50('0x2d')](_0x6d50('0x4b'))){_0x3f0250[_0x6d50('0x15')]=qs[_0x6d50('0x15')](_0x124abe[_0x6d50('0x27')][_0x6d50('0x15')]);_0x3f0250[_0x6d50('0x14')]=qs['offset'](_0x124abe['query'][_0x6d50('0x14')]);}_0x3f0250[_0x6d50('0x2e')]=qs[_0x6d50('0x2f')](_0x124abe[_0x6d50('0x27')]['sort']);_0x3f0250[_0x6d50('0x30')]=qs[_0x6d50('0x3e')](_[_0x6d50('0x31')](_0x124abe[_0x6d50('0x27')],_0x4c4316[_0x6d50('0x3e')]));if(_0x124abe[_0x6d50('0x27')][_0x6d50('0x32')]){_0x3f0250['where']=_['merge'](_0x3f0250[_0x6d50('0x30')],{'$or':_[_0x6d50('0x21')](_0x3f0250[_0x6d50('0x2a')],function(_0x28329a){var _0x187851={};_0x187851[_0x28329a]={'$like':'%'+_0x124abe[_0x6d50('0x27')][_0x6d50('0x32')]+'%'};return _0x187851;})});}_0x3f0250[_0x6d50('0x30')]=_['merge'](_0x3f0250[_0x6d50('0x30')],{'mailboxuser':_0xa18425['mailbox']});_0x3f0250=_[_0x6d50('0x33')]({},_0x3f0250,_0x124abe[_0x6d50('0x35')]);return db[_0x6d50('0x4c')][_0x6d50('0x4d')](_0x3f0250)[_0x6d50('0x1c')](respondWithFilteredResult(_0x2e816c,_0x3f0250));})['catch'](handleError(_0x2e816c,null));};