Built motion from commit (unavailable).|2.5.14
[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 _0x1c52=['VoiceMail','rawAttributes','fieldName','type','key','model','map','query','filters','attributes','intersection','fields','length','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','rows','catch','show','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','findOne','VoiceMailMessage','hasOwnProperty','findAndCountAll','html-pdf','eml-format','rimraf','zip-dir','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','set','reject','save','update','then','destroy','get','Voicemails','UserProfileResource','name','send'];(function(_0x31a576,_0x424419){var _0x30b1d3=function(_0x4710e8){while(--_0x4710e8){_0x31a576['push'](_0x31a576['shift']());}};_0x30b1d3(++_0x424419);}(_0x1c52,0x7c));var _0x21c5=function(_0x464230,_0x48c150){_0x464230=_0x464230-0x0;var _0x250879=_0x1c52[_0x464230];return _0x250879;};'use strict';var pdf=require(_0x21c5('0x0'));var emlformat=require(_0x21c5('0x1'));var rimraf=require(_0x21c5('0x2'));var zipdir=require(_0x21c5('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x21c5('0x4'));var Mustache=require(_0x21c5('0x5'));var util=require('util');var path=require(_0x21c5('0x6'));var sox=require(_0x21c5('0x7'));var csv=require(_0x21c5('0x8'));var ejs=require(_0x21c5('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x21c5('0xa'));var crypto=require(_0x21c5('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x21c5('0xc'));var toCsv=require(_0x21c5('0x8'));var querystring=require(_0x21c5('0xd'));var Papa=require(_0x21c5('0xe'));var Redis=require('ioredis');var authService=require(_0x21c5('0xf'));var qs=require(_0x21c5('0x10'));var as=require(_0x21c5('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x21c5('0x12'))('api');var utils=require(_0x21c5('0x13'));var config=require(_0x21c5('0x14'));var licenseUtil=require(_0x21c5('0x15'));var db=require(_0x21c5('0x16'))['db'];function respondWithStatusCode(_0x511e96,_0x36b869){_0x36b869=_0x36b869||0xcc;return function(_0x59bfc2){if(_0x59bfc2){return _0x511e96[_0x21c5('0x17')](_0x36b869);}return _0x511e96[_0x21c5('0x18')](_0x36b869)['end']();};}function respondWithResult(_0x17be3d,_0x4afb87){_0x4afb87=_0x4afb87||0xc8;return function(_0x4791f7){if(_0x4791f7){return _0x17be3d[_0x21c5('0x18')](_0x4afb87)[_0x21c5('0x19')](_0x4791f7);}};}function respondWithFilteredResult(_0x47030b,_0x20902a){return function(_0x15de0c){if(_0x15de0c){var _0x102433=_0x15de0c['count'],_0x41b810=_0x20902a['offset'],_0x4bdf72=_0x20902a[_0x21c5('0x1a')]+_0x20902a['limit'],_0x331080;if(_0x4bdf72>=_0x102433){_0x4bdf72=_0x102433;_0x331080=0xc8;}else{_0x331080=0xce;}_0x47030b['status'](_0x331080);return _0x47030b[_0x21c5('0x1b')]('Content-Range',_0x41b810+'-'+_0x4bdf72+'/'+_0x102433)[_0x21c5('0x19')](_0x15de0c);}return null;};}function patchUpdates(_0x5770e6){return function(_0x30fb8a){try{jsonpatch['apply'](_0x30fb8a,_0x5770e6,!![]);}catch(_0x4bf01b){return BPromise[_0x21c5('0x1c')](_0x4bf01b);}return _0x30fb8a[_0x21c5('0x1d')]();};}function saveUpdates(_0x2840b7,_0x300178){return function(_0xd23b55){if(_0xd23b55){return _0xd23b55[_0x21c5('0x1e')](_0x2840b7)[_0x21c5('0x1f')](function(_0x117e93){return _0x117e93;});}return null;};}function removeEntity(_0x1905a9,_0x493fbf){return function(_0x8021db){if(_0x8021db){return _0x8021db[_0x21c5('0x20')]()[_0x21c5('0x1f')](function(){var _0x1aa54e=_0x8021db[_0x21c5('0x21')]({'plain':!![]});var _0x4bf186=_0x21c5('0x22');return db[_0x21c5('0x23')][_0x21c5('0x20')]({'where':{'type':_0x4bf186,'resourceId':_0x1aa54e['id']}})[_0x21c5('0x1f')](function(){return _0x8021db;});})[_0x21c5('0x1f')](function(){_0x1905a9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f877c,_0x2ac36b){return function(_0x200bc4){if(!_0x200bc4){_0x4f877c[_0x21c5('0x17')](0x194);}return _0x200bc4;};}function handleError(_0x2ae029,_0x25aba4){_0x25aba4=_0x25aba4||0x1f4;return function(_0x531cf4){logger['error'](_0x531cf4['stack']);if(_0x531cf4[_0x21c5('0x24')]){delete _0x531cf4[_0x21c5('0x24')];}_0x2ae029[_0x21c5('0x18')](_0x25aba4)[_0x21c5('0x25')](_0x531cf4);};}exports['index']=function(_0x887b,_0x428b60){var _0x26dc04={},_0x1f3892={},_0x3b66f9={'count':0x0,'rows':[]};var _0x526174=_['map'](db[_0x21c5('0x26')][_0x21c5('0x27')],function(_0x3353b3){return{'name':_0x3353b3[_0x21c5('0x28')],'type':_0x3353b3[_0x21c5('0x29')][_0x21c5('0x2a')]};});_0x1f3892[_0x21c5('0x2b')]=_[_0x21c5('0x2c')](_0x526174,_0x21c5('0x24'));_0x1f3892[_0x21c5('0x2d')]=_['keys'](_0x887b['query']);_0x1f3892[_0x21c5('0x2e')]=_['intersection'](_0x1f3892[_0x21c5('0x2b')],_0x1f3892[_0x21c5('0x2d')]);_0x26dc04[_0x21c5('0x2f')]=_[_0x21c5('0x30')](_0x1f3892['model'],qs[_0x21c5('0x31')](_0x887b['query'][_0x21c5('0x31')]));_0x26dc04['attributes']=_0x26dc04[_0x21c5('0x2f')][_0x21c5('0x32')]?_0x26dc04[_0x21c5('0x2f')]:_0x1f3892['model'];if(!_0x887b[_0x21c5('0x2d')]['hasOwnProperty'](_0x21c5('0x33'))){_0x26dc04[_0x21c5('0x34')]=qs[_0x21c5('0x34')](_0x887b['query'][_0x21c5('0x34')]);_0x26dc04['offset']=qs['offset'](_0x887b[_0x21c5('0x2d')][_0x21c5('0x1a')]);}_0x26dc04[_0x21c5('0x35')]=qs[_0x21c5('0x36')](_0x887b['query'][_0x21c5('0x36')]);_0x26dc04[_0x21c5('0x37')]=qs[_0x21c5('0x2e')](_[_0x21c5('0x38')](_0x887b[_0x21c5('0x2d')],_0x1f3892[_0x21c5('0x2e')]),_0x526174);if(_0x887b[_0x21c5('0x2d')][_0x21c5('0x39')]){_0x26dc04['where']=_[_0x21c5('0x3a')](_0x26dc04[_0x21c5('0x37')],{'$or':_[_0x21c5('0x2c')](_0x526174,function(_0x5348ff){if(_0x5348ff[_0x21c5('0x29')]!==_0x21c5('0x3b')){var _0x32634f={};_0x32634f[_0x5348ff[_0x21c5('0x24')]]={'$like':'%'+_0x887b[_0x21c5('0x2d')]['filter']+'%'};return _0x32634f;}})});}_0x26dc04=_[_0x21c5('0x3a')]({},_0x26dc04,_0x887b[_0x21c5('0x3c')]);var _0x6358ae={'where':_0x26dc04[_0x21c5('0x37')]};return db[_0x21c5('0x26')]['count'](_0x6358ae)[_0x21c5('0x1f')](function(_0x169c0d){_0x3b66f9[_0x21c5('0x3d')]=_0x169c0d;if(_0x887b[_0x21c5('0x2d')]['includeAll']){_0x26dc04[_0x21c5('0x3e')]=[{'all':!![]}];}return db[_0x21c5('0x26')]['findAll'](_0x26dc04);})[_0x21c5('0x1f')](function(_0x1915a4){_0x3b66f9[_0x21c5('0x3f')]=_0x1915a4;return _0x3b66f9;})['then'](respondWithFilteredResult(_0x428b60,_0x26dc04))[_0x21c5('0x40')](handleError(_0x428b60,null));};exports[_0x21c5('0x41')]=function(_0x19d698,_0x56547e){var _0x2c079b={'raw':!![],'where':{'id':_0x19d698[_0x21c5('0x42')]['id']}},_0x5d0140={};_0x5d0140[_0x21c5('0x2b')]=_[_0x21c5('0x43')](db[_0x21c5('0x26')][_0x21c5('0x27')]);_0x5d0140['query']=_['keys'](_0x19d698['query']);_0x5d0140[_0x21c5('0x2e')]=_['intersection'](_0x5d0140[_0x21c5('0x2b')],_0x5d0140[_0x21c5('0x2d')]);_0x2c079b[_0x21c5('0x2f')]=_[_0x21c5('0x30')](_0x5d0140['model'],qs[_0x21c5('0x31')](_0x19d698[_0x21c5('0x2d')][_0x21c5('0x31')]));_0x2c079b[_0x21c5('0x2f')]=_0x2c079b[_0x21c5('0x2f')][_0x21c5('0x32')]?_0x2c079b[_0x21c5('0x2f')]:_0x5d0140[_0x21c5('0x2b')];if(_0x19d698[_0x21c5('0x2d')]['includeAll']){_0x2c079b[_0x21c5('0x3e')]=[{'all':!![]}];}_0x2c079b=_['merge']({},_0x2c079b,_0x19d698[_0x21c5('0x3c')]);return db[_0x21c5('0x26')][_0x21c5('0x44')](_0x2c079b)[_0x21c5('0x1f')](handleEntityNotFound(_0x56547e,null))[_0x21c5('0x1f')](respondWithResult(_0x56547e,null))[_0x21c5('0x40')](handleError(_0x56547e,null));};exports[_0x21c5('0x45')]=function(_0x132eec,_0x30328f){return db[_0x21c5('0x26')][_0x21c5('0x45')](_0x132eec[_0x21c5('0x46')],{})['then'](function(_0x5e4586){var _0x5513c5=_0x132eec[_0x21c5('0x47')][_0x21c5('0x21')]({'plain':!![]});if(!_0x5513c5)throw new Error(_0x21c5('0x48'));if(_0x5513c5['role']===_0x21c5('0x47')){var _0x1a8015=_0x5e4586[_0x21c5('0x21')]({'plain':!![]});var _0x4fb63f='Voicemails';return db[_0x21c5('0x49')][_0x21c5('0x44')]({'where':{'name':_0x4fb63f,'userProfileId':_0x5513c5[_0x21c5('0x4a')]},'raw':!![]})[_0x21c5('0x1f')](function(_0x59f8cf){if(_0x59f8cf&&_0x59f8cf[_0x21c5('0x4b')]===0x0){return db[_0x21c5('0x23')][_0x21c5('0x45')]({'name':_0x1a8015[_0x21c5('0x24')],'resourceId':_0x1a8015['id'],'type':_0x59f8cf['name'],'sectionId':_0x59f8cf['id']},{})[_0x21c5('0x1f')](function(){return _0x5e4586;});}else{return _0x5e4586;}})[_0x21c5('0x40')](function(_0x385a61){logger['error'](_0x21c5('0x4c'),_0x385a61);throw _0x385a61;});}return _0x5e4586;})['then'](respondWithResult(_0x30328f,0xc9))['catch'](handleError(_0x30328f,null));};exports[_0x21c5('0x1e')]=function(_0x2daf92,_0x26007f){if(_0x2daf92[_0x21c5('0x46')]['id']){delete _0x2daf92[_0x21c5('0x46')]['id'];}return db['VoiceMail']['find']({'where':{'id':_0x2daf92['params']['id']}})[_0x21c5('0x1f')](handleEntityNotFound(_0x26007f,null))[_0x21c5('0x1f')](saveUpdates(_0x2daf92['body'],null))[_0x21c5('0x1f')](respondWithResult(_0x26007f,null))[_0x21c5('0x40')](handleError(_0x26007f,null));};exports[_0x21c5('0x20')]=function(_0x67f482,_0x4b85be){return db[_0x21c5('0x26')][_0x21c5('0x44')]({'where':{'id':_0x67f482[_0x21c5('0x42')]['id']}})[_0x21c5('0x1f')](handleEntityNotFound(_0x4b85be,null))[_0x21c5('0x1f')](removeEntity(_0x4b85be,null))['catch'](handleError(_0x4b85be,null));};exports['getMessages']=function(_0x2de46c,_0x3d7144,_0x100f02){return db[_0x21c5('0x26')][_0x21c5('0x4d')]({'where':{'id':_0x2de46c['params']['id']}})[_0x21c5('0x1f')](handleEntityNotFound(_0x3d7144,null))[_0x21c5('0x1f')](function(_0x564acd){var _0xeb6ad9;var _0x4640f5={},_0x4fbbd8={};_0x4fbbd8[_0x21c5('0x2b')]=_['keys'](db[_0x21c5('0x4e')]['rawAttributes']);_0x4fbbd8[_0x21c5('0x2d')]=_[_0x21c5('0x43')](_0x2de46c[_0x21c5('0x2d')]);_0x4fbbd8[_0x21c5('0x2e')]=_[_0x21c5('0x30')](_0x4fbbd8['model'],_0x4fbbd8[_0x21c5('0x2d')]);_0x4640f5['attributes']=_[_0x21c5('0x30')](_0x4fbbd8['model'],qs[_0x21c5('0x31')](_0x2de46c[_0x21c5('0x2d')][_0x21c5('0x31')]));_0x4640f5[_0x21c5('0x2f')]=_0x4640f5[_0x21c5('0x2f')][_0x21c5('0x32')]?_0x4640f5[_0x21c5('0x2f')]:_0x4fbbd8[_0x21c5('0x2b')];if(!_0x2de46c['query'][_0x21c5('0x4f')]('nolimit')){_0x4640f5[_0x21c5('0x34')]=qs[_0x21c5('0x34')](_0x2de46c[_0x21c5('0x2d')][_0x21c5('0x34')]);_0x4640f5[_0x21c5('0x1a')]=qs['offset'](_0x2de46c['query'][_0x21c5('0x1a')]);}_0x4640f5[_0x21c5('0x35')]=qs[_0x21c5('0x36')](_0x2de46c[_0x21c5('0x2d')][_0x21c5('0x36')]);_0x4640f5['where']=qs[_0x21c5('0x2e')](_[_0x21c5('0x38')](_0x2de46c['query'],_0x4fbbd8[_0x21c5('0x2e')]));if(_0x2de46c['query'][_0x21c5('0x39')]){_0x4640f5[_0x21c5('0x37')]=_[_0x21c5('0x3a')](_0x4640f5[_0x21c5('0x37')],{'$or':_[_0x21c5('0x2c')](_0x4640f5['attributes'],function(_0x9a7d28){var _0x23a1f0={};_0x23a1f0[_0x9a7d28]={'$like':'%'+_0x2de46c[_0x21c5('0x2d')]['filter']+'%'};return _0x23a1f0;})});}_0x4640f5[_0x21c5('0x37')]=_['merge'](_0x4640f5[_0x21c5('0x37')],{'mailboxuser':_0x564acd['mailbox']});_0x4640f5=_[_0x21c5('0x3a')]({},_0x4640f5,_0x2de46c[_0x21c5('0x3c')]);return db[_0x21c5('0x4e')][_0x21c5('0x50')](_0x4640f5)[_0x21c5('0x1f')](respondWithFilteredResult(_0x3d7144,_0x4640f5));})['catch'](handleError(_0x3d7144,null));};