Built motion from commit (unavailable).|2.5.21
[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 _0xbdfb=['end','json','offset','limit','set','apply','reject','save','update','then','get','Voicemails','UserProfileResource','destroy','sendStatus','error','stack','name','send','map','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','filter','options','VoiceMail','count','include','findAll','rows','show','params','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','catch','getMessages','VoiceMailMessage','order','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0xbdfb,0x1ef));var _0xbbdf=function(_0x14915a,_0x222f6b){_0x14915a=_0x14915a-0x0;var _0x2f683c=_0xbdfb[_0x14915a];return _0x2f683c;};'use strict';var pdf=require(_0xbbdf('0x0'));var emlformat=require(_0xbbdf('0x1'));var rimraf=require(_0xbbdf('0x2'));var zipdir=require(_0xbbdf('0x3'));var jsonpatch=require(_0xbbdf('0x4'));var rp=require(_0xbbdf('0x5'));var moment=require(_0xbbdf('0x6'));var BPromise=require(_0xbbdf('0x7'));var Mustache=require(_0xbbdf('0x8'));var util=require(_0xbbdf('0x9'));var path=require('path');var sox=require(_0xbbdf('0xa'));var csv=require(_0xbbdf('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbbdf('0xc'));var squel=require(_0xbbdf('0xd'));var crypto=require('crypto');var jsforce=require(_0xbbdf('0xe'));var deskjs=require(_0xbbdf('0xf'));var toCsv=require(_0xbbdf('0xb'));var querystring=require(_0xbbdf('0x10'));var Papa=require('papaparse');var Redis=require(_0xbbdf('0x11'));var authService=require(_0xbbdf('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xbbdf('0x13'));var hardwareService=require(_0xbbdf('0x14'));var logger=require(_0xbbdf('0x15'))(_0xbbdf('0x16'));var utils=require('../../config/utils');var config=require(_0xbbdf('0x17'));var licenseUtil=require(_0xbbdf('0x18'));var db=require(_0xbbdf('0x19'))['db'];function respondWithStatusCode(_0x54e89d,_0x58b953){_0x58b953=_0x58b953||0xcc;return function(_0x4ab69f){if(_0x4ab69f){return _0x54e89d['sendStatus'](_0x58b953);}return _0x54e89d[_0xbbdf('0x1a')](_0x58b953)[_0xbbdf('0x1b')]();};}function respondWithResult(_0x320eb6,_0x53b667){_0x53b667=_0x53b667||0xc8;return function(_0x215cba){if(_0x215cba){return _0x320eb6[_0xbbdf('0x1a')](_0x53b667)[_0xbbdf('0x1c')](_0x215cba);}};}function respondWithFilteredResult(_0x132743,_0x34b12e){return function(_0x584939){if(_0x584939){var _0x41a6e2=_0x584939['count'],_0x46968e=_0x34b12e[_0xbbdf('0x1d')],_0x1f1a7f=_0x34b12e[_0xbbdf('0x1d')]+_0x34b12e[_0xbbdf('0x1e')],_0x547b94;if(_0x1f1a7f>=_0x41a6e2){_0x1f1a7f=_0x41a6e2;_0x547b94=0xc8;}else{_0x547b94=0xce;}_0x132743[_0xbbdf('0x1a')](_0x547b94);return _0x132743[_0xbbdf('0x1f')]('Content-Range',_0x46968e+'-'+_0x1f1a7f+'/'+_0x41a6e2)['json'](_0x584939);}return null;};}function patchUpdates(_0x448a14){return function(_0x3e9ac9){try{jsonpatch[_0xbbdf('0x20')](_0x3e9ac9,_0x448a14,!![]);}catch(_0x43e3f6){return BPromise[_0xbbdf('0x21')](_0x43e3f6);}return _0x3e9ac9[_0xbbdf('0x22')]();};}function saveUpdates(_0x36bc9b,_0x3e0929){return function(_0x2c7862){if(_0x2c7862){return _0x2c7862[_0xbbdf('0x23')](_0x36bc9b)[_0xbbdf('0x24')](function(_0x31ed33){return _0x31ed33;});}return null;};}function removeEntity(_0x568dc5,_0x585199){return function(_0xb39b4b){if(_0xb39b4b){return _0xb39b4b['destroy']()[_0xbbdf('0x24')](function(){var _0x32fcf6=_0xb39b4b[_0xbbdf('0x25')]({'plain':!![]});var _0x5d03a5=_0xbbdf('0x26');return db[_0xbbdf('0x27')][_0xbbdf('0x28')]({'where':{'type':_0x5d03a5,'resourceId':_0x32fcf6['id']}})[_0xbbdf('0x24')](function(){return _0xb39b4b;});})['then'](function(){_0x568dc5[_0xbbdf('0x1a')](0xcc)[_0xbbdf('0x1b')]();});}};}function handleEntityNotFound(_0x9d9067,_0x5c8824){return function(_0x5d1427){if(!_0x5d1427){_0x9d9067[_0xbbdf('0x29')](0x194);}return _0x5d1427;};}function handleError(_0x49b3f1,_0x493d45){_0x493d45=_0x493d45||0x1f4;return function(_0x3ff60d){logger[_0xbbdf('0x2a')](_0x3ff60d[_0xbbdf('0x2b')]);if(_0x3ff60d[_0xbbdf('0x2c')]){delete _0x3ff60d[_0xbbdf('0x2c')];}_0x49b3f1[_0xbbdf('0x1a')](_0x493d45)[_0xbbdf('0x2d')](_0x3ff60d);};}exports['index']=function(_0x2f5471,_0x392265){var _0x392a04={},_0x292ab7={},_0x86db77={'count':0x0,'rows':[]};var _0x137999=_[_0xbbdf('0x2e')](db['VoiceMail']['rawAttributes'],function(_0x42ce4d){return{'name':_0x42ce4d['fieldName'],'type':_0x42ce4d[_0xbbdf('0x2f')][_0xbbdf('0x30')]};});_0x292ab7[_0xbbdf('0x31')]=_[_0xbbdf('0x2e')](_0x137999,_0xbbdf('0x2c'));_0x292ab7[_0xbbdf('0x32')]=_[_0xbbdf('0x33')](_0x2f5471[_0xbbdf('0x32')]);_0x292ab7[_0xbbdf('0x34')]=_[_0xbbdf('0x35')](_0x292ab7[_0xbbdf('0x31')],_0x292ab7['query']);_0x392a04[_0xbbdf('0x36')]=_[_0xbbdf('0x35')](_0x292ab7[_0xbbdf('0x31')],qs['fields'](_0x2f5471[_0xbbdf('0x32')][_0xbbdf('0x37')]));_0x392a04[_0xbbdf('0x36')]=_0x392a04[_0xbbdf('0x36')][_0xbbdf('0x38')]?_0x392a04[_0xbbdf('0x36')]:_0x292ab7[_0xbbdf('0x31')];if(!_0x2f5471['query'][_0xbbdf('0x39')](_0xbbdf('0x3a'))){_0x392a04[_0xbbdf('0x1e')]=qs[_0xbbdf('0x1e')](_0x2f5471[_0xbbdf('0x32')][_0xbbdf('0x1e')]);_0x392a04['offset']=qs[_0xbbdf('0x1d')](_0x2f5471[_0xbbdf('0x32')]['offset']);}_0x392a04['order']=qs[_0xbbdf('0x3b')](_0x2f5471[_0xbbdf('0x32')][_0xbbdf('0x3b')]);_0x392a04[_0xbbdf('0x3c')]=qs['filters'](_[_0xbbdf('0x3d')](_0x2f5471[_0xbbdf('0x32')],_0x292ab7[_0xbbdf('0x34')]),_0x137999);if(_0x2f5471[_0xbbdf('0x32')]['filter']){_0x392a04['where']=_[_0xbbdf('0x3e')](_0x392a04[_0xbbdf('0x3c')],{'$or':_[_0xbbdf('0x2e')](_0x137999,function(_0x2acaa3){if(_0x2acaa3[_0xbbdf('0x2f')]!=='VIRTUAL'){var _0x8fe607={};_0x8fe607[_0x2acaa3[_0xbbdf('0x2c')]]={'$like':'%'+_0x2f5471[_0xbbdf('0x32')][_0xbbdf('0x3f')]+'%'};return _0x8fe607;}})});}_0x392a04=_[_0xbbdf('0x3e')]({},_0x392a04,_0x2f5471[_0xbbdf('0x40')]);var _0x317cc1={'where':_0x392a04[_0xbbdf('0x3c')]};return db[_0xbbdf('0x41')][_0xbbdf('0x42')](_0x317cc1)[_0xbbdf('0x24')](function(_0x37181a){_0x86db77[_0xbbdf('0x42')]=_0x37181a;if(_0x2f5471[_0xbbdf('0x32')]['includeAll']){_0x392a04[_0xbbdf('0x43')]=[{'all':!![]}];}return db['VoiceMail'][_0xbbdf('0x44')](_0x392a04);})[_0xbbdf('0x24')](function(_0x14dcc4){_0x86db77[_0xbbdf('0x45')]=_0x14dcc4;return _0x86db77;})[_0xbbdf('0x24')](respondWithFilteredResult(_0x392265,_0x392a04))['catch'](handleError(_0x392265,null));};exports[_0xbbdf('0x46')]=function(_0x1b7b3d,_0x4595dd){var _0x2e6b5d={'raw':!![],'where':{'id':_0x1b7b3d[_0xbbdf('0x47')]['id']}},_0x327828={};_0x327828['model']=_[_0xbbdf('0x33')](db['VoiceMail'][_0xbbdf('0x48')]);_0x327828['query']=_[_0xbbdf('0x33')](_0x1b7b3d['query']);_0x327828[_0xbbdf('0x34')]=_[_0xbbdf('0x35')](_0x327828[_0xbbdf('0x31')],_0x327828[_0xbbdf('0x32')]);_0x2e6b5d[_0xbbdf('0x36')]=_['intersection'](_0x327828[_0xbbdf('0x31')],qs[_0xbbdf('0x37')](_0x1b7b3d[_0xbbdf('0x32')]['fields']));_0x2e6b5d[_0xbbdf('0x36')]=_0x2e6b5d[_0xbbdf('0x36')][_0xbbdf('0x38')]?_0x2e6b5d[_0xbbdf('0x36')]:_0x327828[_0xbbdf('0x31')];if(_0x1b7b3d['query'][_0xbbdf('0x49')]){_0x2e6b5d['include']=[{'all':!![]}];}_0x2e6b5d=_[_0xbbdf('0x3e')]({},_0x2e6b5d,_0x1b7b3d['options']);return db['VoiceMail'][_0xbbdf('0x4a')](_0x2e6b5d)[_0xbbdf('0x24')](handleEntityNotFound(_0x4595dd,null))[_0xbbdf('0x24')](respondWithResult(_0x4595dd,null))['catch'](handleError(_0x4595dd,null));};exports['create']=function(_0x2bbbeb,_0x488d73){return db['VoiceMail'][_0xbbdf('0x4b')](_0x2bbbeb[_0xbbdf('0x4c')],{})[_0xbbdf('0x24')](function(_0x344b92){var _0x23ecde=_0x2bbbeb[_0xbbdf('0x4d')][_0xbbdf('0x25')]({'plain':!![]});if(!_0x23ecde)throw new Error(_0xbbdf('0x4e'));if(_0x23ecde['role']===_0xbbdf('0x4d')){var _0x1511d8=_0x344b92[_0xbbdf('0x25')]({'plain':!![]});var _0x3d2fdf=_0xbbdf('0x26');return db['UserProfileSection'][_0xbbdf('0x4a')]({'where':{'name':_0x3d2fdf,'userProfileId':_0x23ecde[_0xbbdf('0x4f')]},'raw':!![]})['then'](function(_0x3fbae0){if(_0x3fbae0&&_0x3fbae0[_0xbbdf('0x50')]===0x0){return db['UserProfileResource'][_0xbbdf('0x4b')]({'name':_0x1511d8[_0xbbdf('0x2c')],'resourceId':_0x1511d8['id'],'type':_0x3fbae0[_0xbbdf('0x2c')],'sectionId':_0x3fbae0['id']},{})[_0xbbdf('0x24')](function(){return _0x344b92;});}else{return _0x344b92;}})['catch'](function(_0x3d0f8b){logger['error'](_0xbbdf('0x51'),_0x3d0f8b);throw _0x3d0f8b;});}return _0x344b92;})[_0xbbdf('0x24')](respondWithResult(_0x488d73,0xc9))[_0xbbdf('0x52')](handleError(_0x488d73,null));};exports['update']=function(_0x4a8f88,_0x4e5d6){if(_0x4a8f88[_0xbbdf('0x4c')]['id']){delete _0x4a8f88['body']['id'];}return db[_0xbbdf('0x41')][_0xbbdf('0x4a')]({'where':{'id':_0x4a8f88[_0xbbdf('0x47')]['id']}})[_0xbbdf('0x24')](handleEntityNotFound(_0x4e5d6,null))[_0xbbdf('0x24')](saveUpdates(_0x4a8f88[_0xbbdf('0x4c')],null))[_0xbbdf('0x24')](respondWithResult(_0x4e5d6,null))['catch'](handleError(_0x4e5d6,null));};exports[_0xbbdf('0x28')]=function(_0x767654,_0xb1badd){return db[_0xbbdf('0x41')][_0xbbdf('0x4a')]({'where':{'id':_0x767654[_0xbbdf('0x47')]['id']}})[_0xbbdf('0x24')](handleEntityNotFound(_0xb1badd,null))[_0xbbdf('0x24')](removeEntity(_0xb1badd,null))['catch'](handleError(_0xb1badd,null));};exports[_0xbbdf('0x53')]=function(_0x23f6e2,_0x57b95e,_0x27bd2f){return db['VoiceMail']['findOne']({'where':{'id':_0x23f6e2['params']['id']}})[_0xbbdf('0x24')](handleEntityNotFound(_0x57b95e,null))[_0xbbdf('0x24')](function(_0x59816c){var _0x2059a6;var _0x4bc9ed={},_0x512084={};_0x512084[_0xbbdf('0x31')]=_[_0xbbdf('0x33')](db[_0xbbdf('0x54')][_0xbbdf('0x48')]);_0x512084[_0xbbdf('0x32')]=_[_0xbbdf('0x33')](_0x23f6e2[_0xbbdf('0x32')]);_0x512084[_0xbbdf('0x34')]=_[_0xbbdf('0x35')](_0x512084[_0xbbdf('0x31')],_0x512084['query']);_0x4bc9ed['attributes']=_['intersection'](_0x512084[_0xbbdf('0x31')],qs[_0xbbdf('0x37')](_0x23f6e2[_0xbbdf('0x32')][_0xbbdf('0x37')]));_0x4bc9ed[_0xbbdf('0x36')]=_0x4bc9ed['attributes'][_0xbbdf('0x38')]?_0x4bc9ed[_0xbbdf('0x36')]:_0x512084[_0xbbdf('0x31')];if(!_0x23f6e2[_0xbbdf('0x32')][_0xbbdf('0x39')](_0xbbdf('0x3a'))){_0x4bc9ed['limit']=qs[_0xbbdf('0x1e')](_0x23f6e2[_0xbbdf('0x32')][_0xbbdf('0x1e')]);_0x4bc9ed['offset']=qs[_0xbbdf('0x1d')](_0x23f6e2['query'][_0xbbdf('0x1d')]);}_0x4bc9ed[_0xbbdf('0x55')]=qs[_0xbbdf('0x3b')](_0x23f6e2['query'][_0xbbdf('0x3b')]);_0x4bc9ed[_0xbbdf('0x3c')]=qs[_0xbbdf('0x34')](_[_0xbbdf('0x3d')](_0x23f6e2[_0xbbdf('0x32')],_0x512084[_0xbbdf('0x34')]));if(_0x23f6e2[_0xbbdf('0x32')]['filter']){_0x4bc9ed['where']=_['merge'](_0x4bc9ed[_0xbbdf('0x3c')],{'$or':_[_0xbbdf('0x2e')](_0x4bc9ed['attributes'],function(_0x12eb62){var _0x4bf0bc={};_0x4bf0bc[_0x12eb62]={'$like':'%'+_0x23f6e2[_0xbbdf('0x32')][_0xbbdf('0x3f')]+'%'};return _0x4bf0bc;})});}_0x4bc9ed[_0xbbdf('0x3c')]=_[_0xbbdf('0x3e')](_0x4bc9ed[_0xbbdf('0x3c')],{'mailboxuser':_0x59816c['mailbox']});_0x4bc9ed=_[_0xbbdf('0x3e')]({},_0x4bc9ed,_0x23f6e2[_0xbbdf('0x40')]);return db[_0xbbdf('0x54')][_0xbbdf('0x56')](_0x4bc9ed)[_0xbbdf('0x24')](respondWithFilteredResult(_0x57b95e,_0x4bc9ed));})[_0xbbdf('0x52')](handleError(_0x57b95e,null));};