Built motion from commit (unavailable).|2.5.7
[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 _0x34bd=['keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','type','options','includeAll','include','catch','params','rawAttributes','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMessages','findOne','VoiceMailMessage','mailbox','findAndCountAll','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Voicemails','error','stack','name','index','VoiceMail','fieldName','key','model','map','query'];(function(_0x287542,_0x14be5c){var _0x2fa35b=function(_0x4a10e4){while(--_0x4a10e4){_0x287542['push'](_0x287542['shift']());}};_0x2fa35b(++_0x14be5c);}(_0x34bd,0x1d2));var _0xd34b=function(_0x34bbd5,_0x3c810a){_0x34bbd5=_0x34bbd5-0x0;var _0x46244f=_0x34bd[_0x34bbd5];return _0x46244f;};'use strict';var pdf=require(_0xd34b('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd34b('0x1'));var jsonpatch=require(_0xd34b('0x2'));var rp=require(_0xd34b('0x3'));var moment=require(_0xd34b('0x4'));var BPromise=require(_0xd34b('0x5'));var Mustache=require(_0xd34b('0x6'));var util=require(_0xd34b('0x7'));var path=require('path');var sox=require(_0xd34b('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xd34b('0x9'));var crypto=require(_0xd34b('0xa'));var jsforce=require(_0xd34b('0xb'));var deskjs=require(_0xd34b('0xc'));var toCsv=require(_0xd34b('0xd'));var querystring=require(_0xd34b('0xe'));var Papa=require(_0xd34b('0xf'));var Redis=require(_0xd34b('0x10'));var authService=require(_0xd34b('0x11'));var qs=require(_0xd34b('0x12'));var as=require(_0xd34b('0x13'));var hardwareService=require(_0xd34b('0x14'));var logger=require('../../config/logger')(_0xd34b('0x15'));var utils=require('../../config/utils');var config=require(_0xd34b('0x16'));var licenseUtil=require(_0xd34b('0x17'));var db=require(_0xd34b('0x18'))['db'];function respondWithStatusCode(_0x2fb7a8,_0x44c84c){_0x44c84c=_0x44c84c||0xcc;return function(_0x3a11b2){if(_0x3a11b2){return _0x2fb7a8['sendStatus'](_0x44c84c);}return _0x2fb7a8[_0xd34b('0x19')](_0x44c84c)[_0xd34b('0x1a')]();};}function respondWithResult(_0x4a2dbf,_0x14e108){_0x14e108=_0x14e108||0xc8;return function(_0x2f4fe4){if(_0x2f4fe4){return _0x4a2dbf[_0xd34b('0x19')](_0x14e108)['json'](_0x2f4fe4);}};}function respondWithFilteredResult(_0x326f00,_0x214c65){return function(_0x5a46be){if(_0x5a46be){var _0x3c74e2=_0x5a46be[_0xd34b('0x1b')],_0x4ce87b=_0x214c65['offset'],_0xe11907=_0x214c65[_0xd34b('0x1c')]+_0x214c65[_0xd34b('0x1d')],_0x438b61;if(_0xe11907>=_0x3c74e2){_0xe11907=_0x3c74e2;_0x438b61=0xc8;}else{_0x438b61=0xce;}_0x326f00[_0xd34b('0x19')](_0x438b61);return _0x326f00[_0xd34b('0x1e')](_0xd34b('0x1f'),_0x4ce87b+'-'+_0xe11907+'/'+_0x3c74e2)['json'](_0x5a46be);}return null;};}function patchUpdates(_0x4c8c37){return function(_0x16cab0){try{jsonpatch[_0xd34b('0x20')](_0x16cab0,_0x4c8c37,!![]);}catch(_0xdfcc11){return BPromise[_0xd34b('0x21')](_0xdfcc11);}return _0x16cab0[_0xd34b('0x22')]();};}function saveUpdates(_0x3152a9,_0x4a3273){return function(_0xa8ffe5){if(_0xa8ffe5){return _0xa8ffe5[_0xd34b('0x23')](_0x3152a9)[_0xd34b('0x24')](function(_0x17466c){return _0x17466c;});}return null;};}function removeEntity(_0x5f1f0d,_0x45c569){return function(_0x259abb){if(_0x259abb){return _0x259abb[_0xd34b('0x25')]()[_0xd34b('0x24')](function(){var _0x3a0972=_0x259abb[_0xd34b('0x26')]({'plain':!![]});var _0x5afc42=_0xd34b('0x27');return db['UserProfileResource'][_0xd34b('0x25')]({'where':{'type':_0x5afc42,'resourceId':_0x3a0972['id']}})[_0xd34b('0x24')](function(){return _0x259abb;});})['then'](function(){_0x5f1f0d['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d4c8b,_0x187b33){return function(_0x14b8b9){if(!_0x14b8b9){_0x1d4c8b['sendStatus'](0x194);}return _0x14b8b9;};}function handleError(_0x34b192,_0x36b108){_0x36b108=_0x36b108||0x1f4;return function(_0x5bac80){logger[_0xd34b('0x28')](_0x5bac80[_0xd34b('0x29')]);if(_0x5bac80[_0xd34b('0x2a')]){delete _0x5bac80['name'];}_0x34b192[_0xd34b('0x19')](_0x36b108)['send'](_0x5bac80);};}exports[_0xd34b('0x2b')]=function(_0x27c392,_0x28e20c){var _0x554e44={},_0x3c0c37={},_0x4f59fb={'count':0x0,'rows':[]};var _0x9daa97=_['map'](db[_0xd34b('0x2c')]['rawAttributes'],function(_0x24ef6c){return{'name':_0x24ef6c[_0xd34b('0x2d')],'type':_0x24ef6c['type'][_0xd34b('0x2e')]};});_0x3c0c37[_0xd34b('0x2f')]=_[_0xd34b('0x30')](_0x9daa97,'name');_0x3c0c37[_0xd34b('0x31')]=_[_0xd34b('0x32')](_0x27c392[_0xd34b('0x31')]);_0x3c0c37['filters']=_[_0xd34b('0x33')](_0x3c0c37[_0xd34b('0x2f')],_0x3c0c37[_0xd34b('0x31')]);_0x554e44[_0xd34b('0x34')]=_[_0xd34b('0x33')](_0x3c0c37[_0xd34b('0x2f')],qs[_0xd34b('0x35')](_0x27c392['query'][_0xd34b('0x35')]));_0x554e44[_0xd34b('0x34')]=_0x554e44[_0xd34b('0x34')][_0xd34b('0x36')]?_0x554e44[_0xd34b('0x34')]:_0x3c0c37['model'];if(!_0x27c392[_0xd34b('0x31')][_0xd34b('0x37')](_0xd34b('0x38'))){_0x554e44['limit']=qs['limit'](_0x27c392[_0xd34b('0x31')][_0xd34b('0x1d')]);_0x554e44[_0xd34b('0x1c')]=qs['offset'](_0x27c392[_0xd34b('0x31')][_0xd34b('0x1c')]);}_0x554e44[_0xd34b('0x39')]=qs[_0xd34b('0x3a')](_0x27c392['query']['sort']);_0x554e44[_0xd34b('0x3b')]=qs[_0xd34b('0x3c')](_['pick'](_0x27c392['query'],_0x3c0c37['filters']),_0x9daa97);if(_0x27c392[_0xd34b('0x31')][_0xd34b('0x3d')]){_0x554e44['where']=_[_0xd34b('0x3e')](_0x554e44[_0xd34b('0x3b')],{'$or':_[_0xd34b('0x30')](_0x9daa97,function(_0x3ae580){if(_0x3ae580[_0xd34b('0x3f')]!=='VIRTUAL'){var _0x435d1c={};_0x435d1c[_0x3ae580[_0xd34b('0x2a')]]={'$like':'%'+_0x27c392[_0xd34b('0x31')][_0xd34b('0x3d')]+'%'};return _0x435d1c;}})});}_0x554e44=_['merge']({},_0x554e44,_0x27c392[_0xd34b('0x40')]);var _0x1c974e={'where':_0x554e44['where']};return db['VoiceMail'][_0xd34b('0x1b')](_0x1c974e)[_0xd34b('0x24')](function(_0x1c9365){_0x4f59fb[_0xd34b('0x1b')]=_0x1c9365;if(_0x27c392['query'][_0xd34b('0x41')]){_0x554e44[_0xd34b('0x42')]=[{'all':!![]}];}return db['VoiceMail']['findAll'](_0x554e44);})['then'](function(_0x24e158){_0x4f59fb['rows']=_0x24e158;return _0x4f59fb;})['then'](respondWithFilteredResult(_0x28e20c,_0x554e44))[_0xd34b('0x43')](handleError(_0x28e20c,null));};exports['show']=function(_0x44ee0c,_0x5579d7){var _0x10dd5b={'raw':!![],'where':{'id':_0x44ee0c[_0xd34b('0x44')]['id']}},_0x28ee20={};_0x28ee20[_0xd34b('0x2f')]=_[_0xd34b('0x32')](db['VoiceMail'][_0xd34b('0x45')]);_0x28ee20[_0xd34b('0x31')]=_[_0xd34b('0x32')](_0x44ee0c[_0xd34b('0x31')]);_0x28ee20[_0xd34b('0x3c')]=_[_0xd34b('0x33')](_0x28ee20[_0xd34b('0x2f')],_0x28ee20[_0xd34b('0x31')]);_0x10dd5b[_0xd34b('0x34')]=_[_0xd34b('0x33')](_0x28ee20[_0xd34b('0x2f')],qs[_0xd34b('0x35')](_0x44ee0c['query']['fields']));_0x10dd5b[_0xd34b('0x34')]=_0x10dd5b[_0xd34b('0x34')]['length']?_0x10dd5b[_0xd34b('0x34')]:_0x28ee20[_0xd34b('0x2f')];if(_0x44ee0c['query'][_0xd34b('0x41')]){_0x10dd5b[_0xd34b('0x42')]=[{'all':!![]}];}_0x10dd5b=_['merge']({},_0x10dd5b,_0x44ee0c['options']);return db[_0xd34b('0x2c')][_0xd34b('0x46')](_0x10dd5b)[_0xd34b('0x24')](handleEntityNotFound(_0x5579d7,null))['then'](respondWithResult(_0x5579d7,null))[_0xd34b('0x43')](handleError(_0x5579d7,null));};exports['create']=function(_0x1818bb,_0x560834){return db[_0xd34b('0x2c')]['create'](_0x1818bb[_0xd34b('0x47')],{})[_0xd34b('0x24')](function(_0x2fee4e){var _0x334661=_0x1818bb[_0xd34b('0x48')][_0xd34b('0x26')]({'plain':!![]});if(!_0x334661)throw new Error(_0xd34b('0x49'));if(_0x334661[_0xd34b('0x4a')]===_0xd34b('0x48')){var _0x149b3f=_0x2fee4e[_0xd34b('0x26')]({'plain':!![]});var _0x3a7d82=_0xd34b('0x27');return db[_0xd34b('0x4b')][_0xd34b('0x46')]({'where':{'name':_0x3a7d82,'userProfileId':_0x334661[_0xd34b('0x4c')]},'raw':!![]})['then'](function(_0x12d59f){if(_0x12d59f&&_0x12d59f[_0xd34b('0x4d')]===0x0){return db[_0xd34b('0x4e')][_0xd34b('0x4f')]({'name':_0x149b3f[_0xd34b('0x2a')],'resourceId':_0x149b3f['id'],'type':_0x12d59f[_0xd34b('0x2a')],'sectionId':_0x12d59f['id']},{})[_0xd34b('0x24')](function(){return _0x2fee4e;});}else{return _0x2fee4e;}})[_0xd34b('0x43')](function(_0x4b02ad){logger[_0xd34b('0x28')](_0xd34b('0x50'),_0x4b02ad);throw _0x4b02ad;});}return _0x2fee4e;})[_0xd34b('0x24')](respondWithResult(_0x560834,0xc9))[_0xd34b('0x43')](handleError(_0x560834,null));};exports['update']=function(_0x1c1a6d,_0x2ad613){if(_0x1c1a6d[_0xd34b('0x47')]['id']){delete _0x1c1a6d[_0xd34b('0x47')]['id'];}return db[_0xd34b('0x2c')][_0xd34b('0x46')]({'where':{'id':_0x1c1a6d[_0xd34b('0x44')]['id']}})[_0xd34b('0x24')](handleEntityNotFound(_0x2ad613,null))[_0xd34b('0x24')](saveUpdates(_0x1c1a6d[_0xd34b('0x47')],null))[_0xd34b('0x24')](respondWithResult(_0x2ad613,null))[_0xd34b('0x43')](handleError(_0x2ad613,null));};exports[_0xd34b('0x25')]=function(_0x2556e4,_0x725274){return db['VoiceMail'][_0xd34b('0x46')]({'where':{'id':_0x2556e4[_0xd34b('0x44')]['id']}})[_0xd34b('0x24')](handleEntityNotFound(_0x725274,null))['then'](removeEntity(_0x725274,null))[_0xd34b('0x43')](handleError(_0x725274,null));};exports[_0xd34b('0x51')]=function(_0x1d92f8,_0x373522,_0x26e6a0){return db[_0xd34b('0x2c')][_0xd34b('0x52')]({'where':{'id':_0x1d92f8['params']['id']}})[_0xd34b('0x24')](handleEntityNotFound(_0x373522,null))[_0xd34b('0x24')](function(_0x35d484){var _0x4cae9e;var _0x2753d9={},_0x184ac4={};_0x184ac4[_0xd34b('0x2f')]=_[_0xd34b('0x32')](db[_0xd34b('0x53')][_0xd34b('0x45')]);_0x184ac4[_0xd34b('0x31')]=_[_0xd34b('0x32')](_0x1d92f8['query']);_0x184ac4[_0xd34b('0x3c')]=_[_0xd34b('0x33')](_0x184ac4['model'],_0x184ac4[_0xd34b('0x31')]);_0x2753d9[_0xd34b('0x34')]=_['intersection'](_0x184ac4['model'],qs[_0xd34b('0x35')](_0x1d92f8[_0xd34b('0x31')][_0xd34b('0x35')]));_0x2753d9[_0xd34b('0x34')]=_0x2753d9['attributes'][_0xd34b('0x36')]?_0x2753d9[_0xd34b('0x34')]:_0x184ac4[_0xd34b('0x2f')];if(!_0x1d92f8[_0xd34b('0x31')][_0xd34b('0x37')]('nolimit')){_0x2753d9[_0xd34b('0x1d')]=qs[_0xd34b('0x1d')](_0x1d92f8[_0xd34b('0x31')]['limit']);_0x2753d9[_0xd34b('0x1c')]=qs[_0xd34b('0x1c')](_0x1d92f8[_0xd34b('0x31')][_0xd34b('0x1c')]);}_0x2753d9[_0xd34b('0x39')]=qs[_0xd34b('0x3a')](_0x1d92f8[_0xd34b('0x31')]['sort']);_0x2753d9['where']=qs[_0xd34b('0x3c')](_['pick'](_0x1d92f8[_0xd34b('0x31')],_0x184ac4[_0xd34b('0x3c')]));if(_0x1d92f8[_0xd34b('0x31')]['filter']){_0x2753d9['where']=_[_0xd34b('0x3e')](_0x2753d9[_0xd34b('0x3b')],{'$or':_[_0xd34b('0x30')](_0x2753d9[_0xd34b('0x34')],function(_0x52e61b){var _0x59d4a4={};_0x59d4a4[_0x52e61b]={'$like':'%'+_0x1d92f8[_0xd34b('0x31')][_0xd34b('0x3d')]+'%'};return _0x59d4a4;})});}_0x2753d9[_0xd34b('0x3b')]=_['merge'](_0x2753d9['where'],{'mailboxuser':_0x35d484[_0xd34b('0x54')]});_0x2753d9=_[_0xd34b('0x3e')]({},_0x2753d9,_0x1d92f8[_0xd34b('0x40')]);return db[_0xd34b('0x53')][_0xd34b('0x55')](_0x2753d9)[_0xd34b('0x24')](respondWithFilteredResult(_0x373522,_0x2753d9));})[_0xd34b('0x43')](handleError(_0x373522,null));};