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 _0xf49b=['then','destroy','get','Voicemails','UserProfileResource','error','stack','name','send','index','map','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','VoiceMail','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMessages','findOne','mailbox','VoiceMailMessage','findAndCountAll','rimraf','zip-dir','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update'];(function(_0x19ca59,_0x30efbb){var _0x2a7282=function(_0x5d14f4){while(--_0x5d14f4){_0x19ca59['push'](_0x19ca59['shift']());}};_0x2a7282(++_0x30efbb);}(_0xf49b,0xeb));var _0xbf49=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xf49b[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbf49('0x0'));var zipdir=require(_0xbf49('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xbf49('0x2'));var Mustache=require(_0xbf49('0x3'));var util=require(_0xbf49('0x4'));var path=require(_0xbf49('0x5'));var sox=require(_0xbf49('0x6'));var csv=require(_0xbf49('0x7'));var ejs=require(_0xbf49('0x8'));var fs=require('fs');var fs_extra=require(_0xbf49('0x9'));var _=require('lodash');var squel=require(_0xbf49('0xa'));var crypto=require(_0xbf49('0xb'));var jsforce=require(_0xbf49('0xc'));var deskjs=require(_0xbf49('0xd'));var toCsv=require(_0xbf49('0x7'));var querystring=require(_0xbf49('0xe'));var Papa=require(_0xbf49('0xf'));var Redis=require(_0xbf49('0x10'));var authService=require(_0xbf49('0x11'));var qs=require(_0xbf49('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbf49('0x13'));var logger=require('../../config/logger')(_0xbf49('0x14'));var utils=require(_0xbf49('0x15'));var config=require(_0xbf49('0x16'));var licenseUtil=require(_0xbf49('0x17'));var db=require(_0xbf49('0x18'))['db'];function respondWithStatusCode(_0x17bee2,_0x1b7607){_0x1b7607=_0x1b7607||0xcc;return function(_0x30ab66){if(_0x30ab66){return _0x17bee2[_0xbf49('0x19')](_0x1b7607);}return _0x17bee2[_0xbf49('0x1a')](_0x1b7607)[_0xbf49('0x1b')]();};}function respondWithResult(_0x420e6d,_0x45fd89){_0x45fd89=_0x45fd89||0xc8;return function(_0xd71cf6){if(_0xd71cf6){return _0x420e6d[_0xbf49('0x1a')](_0x45fd89)[_0xbf49('0x1c')](_0xd71cf6);}};}function respondWithFilteredResult(_0x5f4159,_0x4f7a2d){return function(_0x4cf253){if(_0x4cf253){var _0x74cdd4=typeof _0x4f7a2d[_0xbf49('0x1d')]===_0xbf49('0x1e')&&typeof _0x4f7a2d['limit']===_0xbf49('0x1e');var _0x50b9ca=_0x4cf253[_0xbf49('0x1f')];var _0xe516b2=_0x74cdd4?0x0:_0x4f7a2d[_0xbf49('0x1d')];var _0x5db7f9=_0x74cdd4?_0x4cf253[_0xbf49('0x1f')]:_0x4f7a2d[_0xbf49('0x1d')]+_0x4f7a2d[_0xbf49('0x20')];var _0x17403d;if(_0x5db7f9>=_0x50b9ca){_0x5db7f9=_0x50b9ca;_0x17403d=0xc8;}else{_0x17403d=0xce;}_0x5f4159['status'](_0x17403d);return _0x5f4159[_0xbf49('0x21')](_0xbf49('0x22'),_0xe516b2+'-'+_0x5db7f9+'/'+_0x50b9ca)[_0xbf49('0x1c')](_0x4cf253);}return null;};}function patchUpdates(_0x5e1d6f){return function(_0x27b40b){try{jsonpatch[_0xbf49('0x23')](_0x27b40b,_0x5e1d6f,!![]);}catch(_0xda64f2){return BPromise[_0xbf49('0x24')](_0xda64f2);}return _0x27b40b['save']();};}function saveUpdates(_0x1c356c,_0x166891){return function(_0x1af797){if(_0x1af797){return _0x1af797[_0xbf49('0x25')](_0x1c356c)[_0xbf49('0x26')](function(_0x4704b1){return _0x4704b1;});}return null;};}function removeEntity(_0x13b8f2,_0x3b8da1){return function(_0x3593fb){if(_0x3593fb){return _0x3593fb[_0xbf49('0x27')]()['then'](function(){var _0x219d50=_0x3593fb[_0xbf49('0x28')]({'plain':!![]});var _0x34ac55=_0xbf49('0x29');return db[_0xbf49('0x2a')]['destroy']({'where':{'type':_0x34ac55,'resourceId':_0x219d50['id']}})[_0xbf49('0x26')](function(){return _0x3593fb;});})[_0xbf49('0x26')](function(){_0x13b8f2[_0xbf49('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x21ecd0,_0x57898b){return function(_0x318fae){if(!_0x318fae){_0x21ecd0['sendStatus'](0x194);}return _0x318fae;};}function handleError(_0x47230e,_0x575cba){_0x575cba=_0x575cba||0x1f4;return function(_0x45e227){logger[_0xbf49('0x2b')](_0x45e227[_0xbf49('0x2c')]);if(_0x45e227['name']){delete _0x45e227[_0xbf49('0x2d')];}_0x47230e[_0xbf49('0x1a')](_0x575cba)[_0xbf49('0x2e')](_0x45e227);};}exports[_0xbf49('0x2f')]=function(_0x2e7727,_0xbeba86){var _0x46d916={},_0x561351={},_0x52b9c8={'count':0x0,'rows':[]};var _0x5c97ac=_[_0xbf49('0x30')](db['VoiceMail']['rawAttributes'],function(_0x27e49f){return{'name':_0x27e49f['fieldName'],'type':_0x27e49f[_0xbf49('0x31')][_0xbf49('0x32')]};});_0x561351[_0xbf49('0x33')]=_[_0xbf49('0x30')](_0x5c97ac,_0xbf49('0x2d'));_0x561351[_0xbf49('0x34')]=_[_0xbf49('0x35')](_0x2e7727[_0xbf49('0x34')]);_0x561351[_0xbf49('0x36')]=_[_0xbf49('0x37')](_0x561351[_0xbf49('0x33')],_0x561351[_0xbf49('0x34')]);_0x46d916[_0xbf49('0x38')]=_[_0xbf49('0x37')](_0x561351[_0xbf49('0x33')],qs['fields'](_0x2e7727['query'][_0xbf49('0x39')]));_0x46d916[_0xbf49('0x38')]=_0x46d916[_0xbf49('0x38')][_0xbf49('0x3a')]?_0x46d916['attributes']:_0x561351[_0xbf49('0x33')];if(!_0x2e7727['query'][_0xbf49('0x3b')](_0xbf49('0x3c'))){_0x46d916[_0xbf49('0x20')]=qs[_0xbf49('0x20')](_0x2e7727[_0xbf49('0x34')][_0xbf49('0x20')]);_0x46d916[_0xbf49('0x1d')]=qs['offset'](_0x2e7727[_0xbf49('0x34')][_0xbf49('0x1d')]);}_0x46d916[_0xbf49('0x3d')]=qs['sort'](_0x2e7727['query'][_0xbf49('0x3e')]);_0x46d916[_0xbf49('0x3f')]=qs[_0xbf49('0x36')](_[_0xbf49('0x40')](_0x2e7727['query'],_0x561351[_0xbf49('0x36')]),_0x5c97ac);if(_0x2e7727[_0xbf49('0x34')][_0xbf49('0x41')]){_0x46d916['where']=_[_0xbf49('0x42')](_0x46d916[_0xbf49('0x3f')],{'$or':_[_0xbf49('0x30')](_0x5c97ac,function(_0x58f1f2){if(_0x58f1f2[_0xbf49('0x31')]!==_0xbf49('0x43')){var _0x218927={};_0x218927[_0x58f1f2[_0xbf49('0x2d')]]={'$like':'%'+_0x2e7727[_0xbf49('0x34')][_0xbf49('0x41')]+'%'};return _0x218927;}})});}_0x46d916=_[_0xbf49('0x42')]({},_0x46d916,_0x2e7727[_0xbf49('0x44')]);var _0x3f9e66={'where':_0x46d916[_0xbf49('0x3f')]};return db['VoiceMail'][_0xbf49('0x1f')](_0x3f9e66)[_0xbf49('0x26')](function(_0x20989a){_0x52b9c8['count']=_0x20989a;if(_0x2e7727['query'][_0xbf49('0x45')]){_0x46d916[_0xbf49('0x46')]=[{'all':!![]}];}return db['VoiceMail']['findAll'](_0x46d916);})[_0xbf49('0x26')](function(_0x1b5d7d){_0x52b9c8[_0xbf49('0x47')]=_0x1b5d7d;return _0x52b9c8;})[_0xbf49('0x26')](respondWithFilteredResult(_0xbeba86,_0x46d916))[_0xbf49('0x48')](handleError(_0xbeba86,null));};exports[_0xbf49('0x49')]=function(_0x1080f7,_0x47ed24){var _0x3a7816={'raw':!![],'where':{'id':_0x1080f7[_0xbf49('0x4a')]['id']}},_0x34f4cc={};_0x34f4cc['model']=_[_0xbf49('0x35')](db[_0xbf49('0x4b')][_0xbf49('0x4c')]);_0x34f4cc['query']=_[_0xbf49('0x35')](_0x1080f7[_0xbf49('0x34')]);_0x34f4cc['filters']=_[_0xbf49('0x37')](_0x34f4cc[_0xbf49('0x33')],_0x34f4cc[_0xbf49('0x34')]);_0x3a7816[_0xbf49('0x38')]=_[_0xbf49('0x37')](_0x34f4cc['model'],qs['fields'](_0x1080f7[_0xbf49('0x34')][_0xbf49('0x39')]));_0x3a7816[_0xbf49('0x38')]=_0x3a7816['attributes'][_0xbf49('0x3a')]?_0x3a7816[_0xbf49('0x38')]:_0x34f4cc[_0xbf49('0x33')];if(_0x1080f7['query'][_0xbf49('0x45')]){_0x3a7816['include']=[{'all':!![]}];}_0x3a7816=_[_0xbf49('0x42')]({},_0x3a7816,_0x1080f7[_0xbf49('0x44')]);return db[_0xbf49('0x4b')][_0xbf49('0x4d')](_0x3a7816)[_0xbf49('0x26')](handleEntityNotFound(_0x47ed24,null))['then'](respondWithResult(_0x47ed24,null))[_0xbf49('0x48')](handleError(_0x47ed24,null));};exports[_0xbf49('0x4e')]=function(_0x1d55f6,_0x5692bf){return db[_0xbf49('0x4b')][_0xbf49('0x4e')](_0x1d55f6[_0xbf49('0x4f')],{})[_0xbf49('0x26')](function(_0x56eea7){var _0xe2c6d7=_0x1d55f6[_0xbf49('0x50')]['get']({'plain':!![]});if(!_0xe2c6d7)throw new Error(_0xbf49('0x51'));if(_0xe2c6d7[_0xbf49('0x52')]===_0xbf49('0x50')){var _0x30d44b=_0x56eea7['get']({'plain':!![]});var _0x23512b=_0xbf49('0x29');return db[_0xbf49('0x53')][_0xbf49('0x4d')]({'where':{'name':_0x23512b,'userProfileId':_0xe2c6d7['userProfileId']},'raw':!![]})[_0xbf49('0x26')](function(_0x157d9d){if(_0x157d9d&&_0x157d9d[_0xbf49('0x54')]===0x0){return db[_0xbf49('0x2a')][_0xbf49('0x4e')]({'name':_0x30d44b['name'],'resourceId':_0x30d44b['id'],'type':_0x157d9d[_0xbf49('0x2d')],'sectionId':_0x157d9d['id']},{})['then'](function(){return _0x56eea7;});}else{return _0x56eea7;}})[_0xbf49('0x48')](function(_0x43c837){logger['error'](_0xbf49('0x55'),_0x43c837);throw _0x43c837;});}return _0x56eea7;})[_0xbf49('0x26')](respondWithResult(_0x5692bf,0xc9))[_0xbf49('0x48')](handleError(_0x5692bf,null));};exports[_0xbf49('0x25')]=function(_0x32a952,_0x554e5c){if(_0x32a952[_0xbf49('0x4f')]['id']){delete _0x32a952[_0xbf49('0x4f')]['id'];}return db[_0xbf49('0x4b')][_0xbf49('0x4d')]({'where':{'id':_0x32a952[_0xbf49('0x4a')]['id']}})[_0xbf49('0x26')](handleEntityNotFound(_0x554e5c,null))['then'](saveUpdates(_0x32a952[_0xbf49('0x4f')],null))['then'](respondWithResult(_0x554e5c,null))['catch'](handleError(_0x554e5c,null));};exports[_0xbf49('0x27')]=function(_0x3df6df,_0x14fbbc){return db[_0xbf49('0x4b')][_0xbf49('0x4d')]({'where':{'id':_0x3df6df[_0xbf49('0x4a')]['id']}})['then'](handleEntityNotFound(_0x14fbbc,null))[_0xbf49('0x26')](removeEntity(_0x14fbbc,null))[_0xbf49('0x48')](handleError(_0x14fbbc,null));};exports[_0xbf49('0x56')]=function(_0x2460f9,_0x16ac49,_0x429d37){return db[_0xbf49('0x4b')][_0xbf49('0x57')]({'where':{'id':_0x2460f9[_0xbf49('0x4a')]['id']}})[_0xbf49('0x26')](handleEntityNotFound(_0x16ac49,null))[_0xbf49('0x26')](function(_0x5a3710){var _0x4e5280;var _0x29d00d={},_0x23bdcc={};_0x23bdcc['model']=_[_0xbf49('0x35')](db['VoiceMailMessage']['rawAttributes']);_0x23bdcc[_0xbf49('0x34')]=_[_0xbf49('0x35')](_0x2460f9[_0xbf49('0x34')]);_0x23bdcc['filters']=_[_0xbf49('0x37')](_0x23bdcc[_0xbf49('0x33')],_0x23bdcc['query']);_0x29d00d[_0xbf49('0x38')]=_['intersection'](_0x23bdcc[_0xbf49('0x33')],qs['fields'](_0x2460f9['query'][_0xbf49('0x39')]));_0x29d00d['attributes']=_0x29d00d['attributes']['length']?_0x29d00d[_0xbf49('0x38')]:_0x23bdcc[_0xbf49('0x33')];if(!_0x2460f9[_0xbf49('0x34')]['hasOwnProperty'](_0xbf49('0x3c'))){_0x29d00d[_0xbf49('0x20')]=qs[_0xbf49('0x20')](_0x2460f9[_0xbf49('0x34')]['limit']);_0x29d00d[_0xbf49('0x1d')]=qs[_0xbf49('0x1d')](_0x2460f9['query'][_0xbf49('0x1d')]);}_0x29d00d[_0xbf49('0x3d')]=qs[_0xbf49('0x3e')](_0x2460f9['query'][_0xbf49('0x3e')]);_0x29d00d[_0xbf49('0x3f')]=qs[_0xbf49('0x36')](_[_0xbf49('0x40')](_0x2460f9[_0xbf49('0x34')],_0x23bdcc['filters']));if(_0x2460f9[_0xbf49('0x34')][_0xbf49('0x41')]){_0x29d00d[_0xbf49('0x3f')]=_['merge'](_0x29d00d[_0xbf49('0x3f')],{'$or':_[_0xbf49('0x30')](_0x29d00d[_0xbf49('0x38')],function(_0xdda6d9){var _0x4514e1={};_0x4514e1[_0xdda6d9]={'$like':'%'+_0x2460f9[_0xbf49('0x34')][_0xbf49('0x41')]+'%'};return _0x4514e1;})});}_0x29d00d[_0xbf49('0x3f')]=_[_0xbf49('0x42')](_0x29d00d[_0xbf49('0x3f')],{'mailboxuser':_0x5a3710[_0xbf49('0x58')]});_0x29d00d=_[_0xbf49('0x42')]({},_0x29d00d,_0x2460f9[_0xbf49('0x44')]);return db[_0xbf49('0x59')][_0xbf49('0x5a')](_0x29d00d)[_0xbf49('0x26')](respondWithFilteredResult(_0x16ac49,_0x29d00d));})[_0xbf49('0x48')](handleError(_0x16ac49,null));};