Built motion from commit (unavailable).|2.5.8
[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 _0x5386=['rawAttributes','fieldName','type','key','query','filters','intersection','attributes','fields','model','hasOwnProperty','nolimit','offset','sort','where','pick','filter','merge','VIRTUAL','options','findAll','catch','show','params','keys','length','includeAll','create','role','user','Voicemails','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','getMessages','findOne','VoiceMailMessage','mailbox','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','sendStatus','status','json','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','error','name','send','index','map','VoiceMail'];(function(_0x3722d4,_0x204032){var _0x23fec4=function(_0x2c87a7){while(--_0x2c87a7){_0x3722d4['push'](_0x3722d4['shift']());}};_0x23fec4(++_0x204032);}(_0x5386,0x1e1));var _0x6538=function(_0xf13ca6,_0x5735ea){_0xf13ca6=_0xf13ca6-0x0;var _0x4a4387=_0x5386[_0xf13ca6];return _0x4a4387;};'use strict';var pdf=require(_0x6538('0x0'));var emlformat=require(_0x6538('0x1'));var rimraf=require(_0x6538('0x2'));var zipdir=require(_0x6538('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6538('0x4'));var moment=require(_0x6538('0x5'));var BPromise=require(_0x6538('0x6'));var Mustache=require(_0x6538('0x7'));var util=require(_0x6538('0x8'));var path=require(_0x6538('0x9'));var sox=require(_0x6538('0xa'));var csv=require(_0x6538('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6538('0xc'));var squel=require('squel');var crypto=require(_0x6538('0xd'));var jsforce=require(_0x6538('0xe'));var deskjs=require(_0x6538('0xf'));var toCsv=require(_0x6538('0xb'));var querystring=require(_0x6538('0x10'));var Papa=require(_0x6538('0x11'));var Redis=require(_0x6538('0x12'));var authService=require(_0x6538('0x13'));var qs=require(_0x6538('0x14'));var as=require(_0x6538('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6538('0x16'))(_0x6538('0x17'));var utils=require(_0x6538('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x6538('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xebce91,_0x327e61){_0x327e61=_0x327e61||0xcc;return function(_0x515cf4){if(_0x515cf4){return _0xebce91[_0x6538('0x1a')](_0x327e61);}return _0xebce91[_0x6538('0x1b')](_0x327e61)['end']();};}function respondWithResult(_0x5f169,_0x31a06e){_0x31a06e=_0x31a06e||0xc8;return function(_0x266934){if(_0x266934){return _0x5f169['status'](_0x31a06e)[_0x6538('0x1c')](_0x266934);}};}function respondWithFilteredResult(_0x53d672,_0x27aa0e){return function(_0x266aeb){if(_0x266aeb){var _0x2407c0=_0x266aeb[_0x6538('0x1d')],_0x380edb=_0x27aa0e['offset'],_0x57071e=_0x27aa0e['offset']+_0x27aa0e[_0x6538('0x1e')],_0x7caa07;if(_0x57071e>=_0x2407c0){_0x57071e=_0x2407c0;_0x7caa07=0xc8;}else{_0x7caa07=0xce;}_0x53d672['status'](_0x7caa07);return _0x53d672[_0x6538('0x1f')](_0x6538('0x20'),_0x380edb+'-'+_0x57071e+'/'+_0x2407c0)[_0x6538('0x1c')](_0x266aeb);}return null;};}function patchUpdates(_0x47d955){return function(_0x261428){try{jsonpatch[_0x6538('0x21')](_0x261428,_0x47d955,!![]);}catch(_0x31fd9a){return BPromise[_0x6538('0x22')](_0x31fd9a);}return _0x261428[_0x6538('0x23')]();};}function saveUpdates(_0x3dd9ee,_0xbdbb3f){return function(_0x15e258){if(_0x15e258){return _0x15e258[_0x6538('0x24')](_0x3dd9ee)[_0x6538('0x25')](function(_0x4a0ff0){return _0x4a0ff0;});}return null;};}function removeEntity(_0x5492a9,_0xbc5321){return function(_0x5b6361){if(_0x5b6361){return _0x5b6361[_0x6538('0x26')]()[_0x6538('0x25')](function(){var _0x421cb8=_0x5b6361[_0x6538('0x27')]({'plain':!![]});var _0x4e56ae='Voicemails';return db[_0x6538('0x28')]['destroy']({'where':{'type':_0x4e56ae,'resourceId':_0x421cb8['id']}})[_0x6538('0x25')](function(){return _0x5b6361;});})['then'](function(){_0x5492a9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1cd5d2,_0x1f6037){return function(_0x5a3b63){if(!_0x5a3b63){_0x1cd5d2[_0x6538('0x1a')](0x194);}return _0x5a3b63;};}function handleError(_0x4dab32,_0x187962){_0x187962=_0x187962||0x1f4;return function(_0x249dcb){logger[_0x6538('0x29')](_0x249dcb['stack']);if(_0x249dcb['name']){delete _0x249dcb[_0x6538('0x2a')];}_0x4dab32[_0x6538('0x1b')](_0x187962)[_0x6538('0x2b')](_0x249dcb);};}exports[_0x6538('0x2c')]=function(_0x53b58e,_0xb1ef40){var _0x51d2d9={},_0x2c3c0b={},_0x51f5fa={'count':0x0,'rows':[]};var _0xe56356=_[_0x6538('0x2d')](db[_0x6538('0x2e')][_0x6538('0x2f')],function(_0x325354){return{'name':_0x325354[_0x6538('0x30')],'type':_0x325354[_0x6538('0x31')][_0x6538('0x32')]};});_0x2c3c0b['model']=_[_0x6538('0x2d')](_0xe56356,_0x6538('0x2a'));_0x2c3c0b[_0x6538('0x33')]=_['keys'](_0x53b58e[_0x6538('0x33')]);_0x2c3c0b[_0x6538('0x34')]=_[_0x6538('0x35')](_0x2c3c0b['model'],_0x2c3c0b['query']);_0x51d2d9[_0x6538('0x36')]=_[_0x6538('0x35')](_0x2c3c0b['model'],qs[_0x6538('0x37')](_0x53b58e[_0x6538('0x33')]['fields']));_0x51d2d9[_0x6538('0x36')]=_0x51d2d9[_0x6538('0x36')]['length']?_0x51d2d9[_0x6538('0x36')]:_0x2c3c0b[_0x6538('0x38')];if(!_0x53b58e[_0x6538('0x33')][_0x6538('0x39')](_0x6538('0x3a'))){_0x51d2d9['limit']=qs[_0x6538('0x1e')](_0x53b58e[_0x6538('0x33')][_0x6538('0x1e')]);_0x51d2d9['offset']=qs[_0x6538('0x3b')](_0x53b58e['query']['offset']);}_0x51d2d9['order']=qs['sort'](_0x53b58e[_0x6538('0x33')][_0x6538('0x3c')]);_0x51d2d9[_0x6538('0x3d')]=qs[_0x6538('0x34')](_[_0x6538('0x3e')](_0x53b58e[_0x6538('0x33')],_0x2c3c0b[_0x6538('0x34')]),_0xe56356);if(_0x53b58e[_0x6538('0x33')][_0x6538('0x3f')]){_0x51d2d9[_0x6538('0x3d')]=_[_0x6538('0x40')](_0x51d2d9[_0x6538('0x3d')],{'$or':_[_0x6538('0x2d')](_0xe56356,function(_0x5bf5a5){if(_0x5bf5a5[_0x6538('0x31')]!==_0x6538('0x41')){var _0x4403e1={};_0x4403e1[_0x5bf5a5['name']]={'$like':'%'+_0x53b58e[_0x6538('0x33')]['filter']+'%'};return _0x4403e1;}})});}_0x51d2d9=_[_0x6538('0x40')]({},_0x51d2d9,_0x53b58e[_0x6538('0x42')]);var _0x1f219d={'where':_0x51d2d9[_0x6538('0x3d')]};return db[_0x6538('0x2e')][_0x6538('0x1d')](_0x1f219d)[_0x6538('0x25')](function(_0x33ccee){_0x51f5fa[_0x6538('0x1d')]=_0x33ccee;if(_0x53b58e[_0x6538('0x33')]['includeAll']){_0x51d2d9['include']=[{'all':!![]}];}return db['VoiceMail'][_0x6538('0x43')](_0x51d2d9);})[_0x6538('0x25')](function(_0x499dea){_0x51f5fa['rows']=_0x499dea;return _0x51f5fa;})[_0x6538('0x25')](respondWithFilteredResult(_0xb1ef40,_0x51d2d9))[_0x6538('0x44')](handleError(_0xb1ef40,null));};exports[_0x6538('0x45')]=function(_0x3ae9fa,_0x273317){var _0x575c05={'raw':!![],'where':{'id':_0x3ae9fa[_0x6538('0x46')]['id']}},_0x41d486={};_0x41d486['model']=_[_0x6538('0x47')](db[_0x6538('0x2e')][_0x6538('0x2f')]);_0x41d486[_0x6538('0x33')]=_['keys'](_0x3ae9fa[_0x6538('0x33')]);_0x41d486[_0x6538('0x34')]=_[_0x6538('0x35')](_0x41d486[_0x6538('0x38')],_0x41d486['query']);_0x575c05[_0x6538('0x36')]=_[_0x6538('0x35')](_0x41d486[_0x6538('0x38')],qs[_0x6538('0x37')](_0x3ae9fa[_0x6538('0x33')]['fields']));_0x575c05[_0x6538('0x36')]=_0x575c05[_0x6538('0x36')][_0x6538('0x48')]?_0x575c05['attributes']:_0x41d486[_0x6538('0x38')];if(_0x3ae9fa[_0x6538('0x33')][_0x6538('0x49')]){_0x575c05['include']=[{'all':!![]}];}_0x575c05=_[_0x6538('0x40')]({},_0x575c05,_0x3ae9fa['options']);return db[_0x6538('0x2e')]['find'](_0x575c05)[_0x6538('0x25')](handleEntityNotFound(_0x273317,null))[_0x6538('0x25')](respondWithResult(_0x273317,null))[_0x6538('0x44')](handleError(_0x273317,null));};exports[_0x6538('0x4a')]=function(_0x57371b,_0x3d8809){return db[_0x6538('0x2e')][_0x6538('0x4a')](_0x57371b['body'],{})[_0x6538('0x25')](function(_0x86ac3e){var _0x2046a8=_0x57371b['user'][_0x6538('0x27')]({'plain':!![]});if(!_0x2046a8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2046a8[_0x6538('0x4b')]===_0x6538('0x4c')){var _0xc88989=_0x86ac3e[_0x6538('0x27')]({'plain':!![]});var _0x402ff6=_0x6538('0x4d');return db[_0x6538('0x4e')][_0x6538('0x4f')]({'where':{'name':_0x402ff6,'userProfileId':_0x2046a8['userProfileId']},'raw':!![]})['then'](function(_0x228228){if(_0x228228&&_0x228228[_0x6538('0x50')]===0x0){return db[_0x6538('0x28')]['create']({'name':_0xc88989['name'],'resourceId':_0xc88989['id'],'type':_0x228228['name'],'sectionId':_0x228228['id']},{})['then'](function(){return _0x86ac3e;});}else{return _0x86ac3e;}})[_0x6538('0x44')](function(_0x31ae2f){logger[_0x6538('0x29')](_0x6538('0x51'),_0x31ae2f);throw _0x31ae2f;});}return _0x86ac3e;})['then'](respondWithResult(_0x3d8809,0xc9))[_0x6538('0x44')](handleError(_0x3d8809,null));};exports[_0x6538('0x24')]=function(_0x34c365,_0xb5a707){if(_0x34c365[_0x6538('0x52')]['id']){delete _0x34c365[_0x6538('0x52')]['id'];}return db[_0x6538('0x2e')][_0x6538('0x4f')]({'where':{'id':_0x34c365[_0x6538('0x46')]['id']}})['then'](handleEntityNotFound(_0xb5a707,null))[_0x6538('0x25')](saveUpdates(_0x34c365[_0x6538('0x52')],null))[_0x6538('0x25')](respondWithResult(_0xb5a707,null))[_0x6538('0x44')](handleError(_0xb5a707,null));};exports[_0x6538('0x26')]=function(_0x114855,_0x4bbfa1){return db[_0x6538('0x2e')][_0x6538('0x4f')]({'where':{'id':_0x114855[_0x6538('0x46')]['id']}})[_0x6538('0x25')](handleEntityNotFound(_0x4bbfa1,null))['then'](removeEntity(_0x4bbfa1,null))[_0x6538('0x44')](handleError(_0x4bbfa1,null));};exports[_0x6538('0x53')]=function(_0x97559c,_0x35b23d,_0x491496){return db[_0x6538('0x2e')][_0x6538('0x54')]({'where':{'id':_0x97559c[_0x6538('0x46')]['id']}})['then'](handleEntityNotFound(_0x35b23d,null))['then'](function(_0x4f1167){var _0x5879f8;var _0x1a0d80={},_0x3dd5ef={};_0x3dd5ef[_0x6538('0x38')]=_[_0x6538('0x47')](db[_0x6538('0x55')][_0x6538('0x2f')]);_0x3dd5ef[_0x6538('0x33')]=_[_0x6538('0x47')](_0x97559c[_0x6538('0x33')]);_0x3dd5ef[_0x6538('0x34')]=_[_0x6538('0x35')](_0x3dd5ef[_0x6538('0x38')],_0x3dd5ef[_0x6538('0x33')]);_0x1a0d80[_0x6538('0x36')]=_['intersection'](_0x3dd5ef[_0x6538('0x38')],qs[_0x6538('0x37')](_0x97559c['query'][_0x6538('0x37')]));_0x1a0d80['attributes']=_0x1a0d80[_0x6538('0x36')][_0x6538('0x48')]?_0x1a0d80[_0x6538('0x36')]:_0x3dd5ef[_0x6538('0x38')];if(!_0x97559c[_0x6538('0x33')][_0x6538('0x39')]('nolimit')){_0x1a0d80[_0x6538('0x1e')]=qs[_0x6538('0x1e')](_0x97559c[_0x6538('0x33')][_0x6538('0x1e')]);_0x1a0d80[_0x6538('0x3b')]=qs['offset'](_0x97559c[_0x6538('0x33')][_0x6538('0x3b')]);}_0x1a0d80['order']=qs[_0x6538('0x3c')](_0x97559c[_0x6538('0x33')][_0x6538('0x3c')]);_0x1a0d80['where']=qs[_0x6538('0x34')](_[_0x6538('0x3e')](_0x97559c[_0x6538('0x33')],_0x3dd5ef['filters']));if(_0x97559c[_0x6538('0x33')][_0x6538('0x3f')]){_0x1a0d80[_0x6538('0x3d')]=_[_0x6538('0x40')](_0x1a0d80[_0x6538('0x3d')],{'$or':_[_0x6538('0x2d')](_0x1a0d80[_0x6538('0x36')],function(_0x55d0f8){var _0x5a4c95={};_0x5a4c95[_0x55d0f8]={'$like':'%'+_0x97559c[_0x6538('0x33')][_0x6538('0x3f')]+'%'};return _0x5a4c95;})});}_0x1a0d80[_0x6538('0x3d')]=_[_0x6538('0x40')](_0x1a0d80[_0x6538('0x3d')],{'mailboxuser':_0x4f1167[_0x6538('0x56')]});_0x1a0d80=_[_0x6538('0x40')]({},_0x1a0d80,_0x97559c['options']);return db[_0x6538('0x55')][_0x6538('0x57')](_0x1a0d80)['then'](respondWithFilteredResult(_0x35b23d,_0x1a0d80));})[_0x6538('0x44')](handleError(_0x35b23d,null));};