Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / voiceMusicOnHold / voiceMusicOnHold.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 _0xe326=['basename','extname','%s.%s','symlinkSync','removeSound','id2','Sound','getSounds','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','util','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','set','json','apply','save','update','destroy','get','MusicOnHolds','UserProfileResource','then','error','name','send','index','VoiceMusicOnHold','rawAttributes','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','rows','catch','show','params','find','body','create','sequelize','transaction','mode','files','directory','join','root','server/files/moh','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','format'];(function(_0x266f39,_0x397dda){var _0x412f6d=function(_0x40d86d){while(--_0x40d86d){_0x266f39['push'](_0x266f39['shift']());}};_0x412f6d(++_0x397dda);}(_0xe326,0x1bc));var _0x6e32=function(_0x3bab09,_0x217c29){_0x3bab09=_0x3bab09-0x0;var _0x164376=_0xe326[_0x3bab09];return _0x164376;};'use strict';var pdf=require(_0x6e32('0x0'));var emlformat=require(_0x6e32('0x1'));var rimraf=require(_0x6e32('0x2'));var zipdir=require(_0x6e32('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x6e32('0x4'));var BPromise=require(_0x6e32('0x5'));var Mustache=require('mustache');var util=require(_0x6e32('0x6'));var path=require('path');var sox=require(_0x6e32('0x7'));var csv=require(_0x6e32('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6e32('0x9'));var squel=require('squel');var crypto=require(_0x6e32('0xa'));var jsforce=require(_0x6e32('0xb'));var deskjs=require(_0x6e32('0xc'));var toCsv=require(_0x6e32('0x8'));var querystring=require(_0x6e32('0xd'));var Papa=require(_0x6e32('0xe'));var Redis=require('ioredis');var authService=require(_0x6e32('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x6e32('0x10'));var hardwareService=require(_0x6e32('0x11'));var logger=require(_0x6e32('0x12'))(_0x6e32('0x13'));var utils=require('../../config/utils');var config=require(_0x6e32('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x6e32('0x15'))['db'];function respondWithStatusCode(_0x3f86ab,_0x5081a7){_0x5081a7=_0x5081a7||0xcc;return function(_0x340a17){if(_0x340a17){return _0x3f86ab[_0x6e32('0x16')](_0x5081a7);}return _0x3f86ab[_0x6e32('0x17')](_0x5081a7)[_0x6e32('0x18')]();};}function respondWithResult(_0xd5ad8b,_0x24cb82){_0x24cb82=_0x24cb82||0xc8;return function(_0x18d995){if(_0x18d995){return _0xd5ad8b[_0x6e32('0x17')](_0x24cb82)['json'](_0x18d995);}};}function respondWithFilteredResult(_0x38c5a2,_0x394363){return function(_0x112351){if(_0x112351){var _0x300aa8=_0x112351['count'],_0x84c278=_0x394363['offset'],_0x156dc5=_0x394363[_0x6e32('0x19')]+_0x394363[_0x6e32('0x1a')],_0x51f89b;if(_0x156dc5>=_0x300aa8){_0x156dc5=_0x300aa8;_0x51f89b=0xc8;}else{_0x51f89b=0xce;}_0x38c5a2[_0x6e32('0x17')](_0x51f89b);return _0x38c5a2[_0x6e32('0x1b')]('Content-Range',_0x84c278+'-'+_0x156dc5+'/'+_0x300aa8)[_0x6e32('0x1c')](_0x112351);}return null;};}function patchUpdates(_0x1f5c3b){return function(_0x454738){try{jsonpatch[_0x6e32('0x1d')](_0x454738,_0x1f5c3b,!![]);}catch(_0x1f956c){return BPromise['reject'](_0x1f956c);}return _0x454738[_0x6e32('0x1e')]();};}function saveUpdates(_0x59b40b,_0x2aa0d8){return function(_0x4c7608){if(_0x4c7608){return _0x4c7608[_0x6e32('0x1f')](_0x59b40b)['then'](function(_0x175602){return _0x175602;});}return null;};}function removeEntity(_0x3d43c7,_0x32cfc2){return function(_0x1cb92d){if(_0x1cb92d){return _0x1cb92d[_0x6e32('0x20')]()['then'](function(){var _0x32dd46=_0x1cb92d[_0x6e32('0x21')]({'plain':!![]});var _0x4ae48f=_0x6e32('0x22');return db[_0x6e32('0x23')][_0x6e32('0x20')]({'where':{'type':_0x4ae48f,'resourceId':_0x32dd46['id']}})['then'](function(){return _0x1cb92d;});})[_0x6e32('0x24')](function(){_0x3d43c7['status'](0xcc)[_0x6e32('0x18')]();});}};}function handleEntityNotFound(_0x24cd3b,_0x3b47a2){return function(_0x2066fd){if(!_0x2066fd){_0x24cd3b[_0x6e32('0x16')](0x194);}return _0x2066fd;};}function handleError(_0x9eb9cf,_0x3fc068){_0x3fc068=_0x3fc068||0x1f4;return function(_0xb6dc3b){logger[_0x6e32('0x25')](_0xb6dc3b['stack']);if(_0xb6dc3b['name']){delete _0xb6dc3b[_0x6e32('0x26')];}_0x9eb9cf[_0x6e32('0x17')](_0x3fc068)[_0x6e32('0x27')](_0xb6dc3b);};}exports[_0x6e32('0x28')]=function(_0x56d35c,_0xb937b8){var _0x358607={},_0x196ef1={},_0x54c3fe={'count':0x0,'rows':[]};var _0x2408d9=_['map'](db[_0x6e32('0x29')][_0x6e32('0x2a')],function(_0x11add6){return{'name':_0x11add6['fieldName'],'type':_0x11add6['type']['key']};});_0x196ef1['model']=_['map'](_0x2408d9,_0x6e32('0x26'));_0x196ef1[_0x6e32('0x2b')]=_[_0x6e32('0x2c')](_0x56d35c[_0x6e32('0x2b')]);_0x196ef1[_0x6e32('0x2d')]=_['intersection'](_0x196ef1['model'],_0x196ef1[_0x6e32('0x2b')]);_0x358607[_0x6e32('0x2e')]=_[_0x6e32('0x2f')](_0x196ef1[_0x6e32('0x30')],qs[_0x6e32('0x31')](_0x56d35c[_0x6e32('0x2b')]['fields']));_0x358607['attributes']=_0x358607[_0x6e32('0x2e')][_0x6e32('0x32')]?_0x358607['attributes']:_0x196ef1['model'];if(!_0x56d35c['query'][_0x6e32('0x33')](_0x6e32('0x34'))){_0x358607[_0x6e32('0x1a')]=qs[_0x6e32('0x1a')](_0x56d35c[_0x6e32('0x2b')][_0x6e32('0x1a')]);_0x358607['offset']=qs[_0x6e32('0x19')](_0x56d35c[_0x6e32('0x2b')][_0x6e32('0x19')]);}_0x358607[_0x6e32('0x35')]=qs[_0x6e32('0x36')](_0x56d35c[_0x6e32('0x2b')][_0x6e32('0x36')]);_0x358607[_0x6e32('0x37')]=qs[_0x6e32('0x2d')](_[_0x6e32('0x38')](_0x56d35c[_0x6e32('0x2b')],_0x196ef1[_0x6e32('0x2d')]),_0x2408d9);if(_0x56d35c[_0x6e32('0x2b')][_0x6e32('0x39')]){_0x358607[_0x6e32('0x37')]=_[_0x6e32('0x3a')](_0x358607[_0x6e32('0x37')],{'$or':_['map'](_0x2408d9,function(_0x565a97){if(_0x565a97['type']!==_0x6e32('0x3b')){var _0x330b17={};_0x330b17[_0x565a97[_0x6e32('0x26')]]={'$like':'%'+_0x56d35c['query'][_0x6e32('0x39')]+'%'};return _0x330b17;}})});}_0x358607=_[_0x6e32('0x3a')]({},_0x358607,_0x56d35c[_0x6e32('0x3c')]);var _0x9c0f38={'where':_0x358607['where']};return db[_0x6e32('0x29')][_0x6e32('0x3d')](_0x9c0f38)['then'](function(_0x33a819){_0x54c3fe['count']=_0x33a819;if(_0x56d35c[_0x6e32('0x2b')][_0x6e32('0x3e')]){_0x358607[_0x6e32('0x3f')]=[{'all':!![]}];}return db['VoiceMusicOnHold']['findAll'](_0x358607);})[_0x6e32('0x24')](function(_0x16ca13){_0x54c3fe[_0x6e32('0x40')]=_0x16ca13;return _0x54c3fe;})['then'](respondWithFilteredResult(_0xb937b8,_0x358607))[_0x6e32('0x41')](handleError(_0xb937b8,null));};exports[_0x6e32('0x42')]=function(_0x431e71,_0x435cfe){var _0x2b9333={'raw':![],'where':{'id':_0x431e71[_0x6e32('0x43')]['id']}},_0x4d8a00={};_0x4d8a00['model']=_[_0x6e32('0x2c')](db[_0x6e32('0x29')][_0x6e32('0x2a')]);_0x4d8a00[_0x6e32('0x2b')]=_[_0x6e32('0x2c')](_0x431e71[_0x6e32('0x2b')]);_0x4d8a00[_0x6e32('0x2d')]=_['intersection'](_0x4d8a00[_0x6e32('0x30')],_0x4d8a00[_0x6e32('0x2b')]);_0x2b9333[_0x6e32('0x2e')]=_[_0x6e32('0x2f')](_0x4d8a00[_0x6e32('0x30')],qs[_0x6e32('0x31')](_0x431e71[_0x6e32('0x2b')]['fields']));_0x2b9333[_0x6e32('0x2e')]=_0x2b9333['attributes']['length']?_0x2b9333[_0x6e32('0x2e')]:_0x4d8a00[_0x6e32('0x30')];if(_0x431e71[_0x6e32('0x2b')][_0x6e32('0x3e')]){_0x2b9333['include']=[{'all':!![]}];}_0x2b9333=_[_0x6e32('0x3a')]({},_0x2b9333,_0x431e71[_0x6e32('0x3c')]);return db[_0x6e32('0x29')][_0x6e32('0x44')](_0x2b9333)[_0x6e32('0x24')](handleEntityNotFound(_0x435cfe,null))[_0x6e32('0x24')](respondWithResult(_0x435cfe,null))[_0x6e32('0x41')](handleError(_0x435cfe,null));};exports[_0x6e32('0x1f')]=function(_0x2334ec,_0x5cc559){if(_0x2334ec[_0x6e32('0x45')]['id']){delete _0x2334ec[_0x6e32('0x45')]['id'];}return db['VoiceMusicOnHold'][_0x6e32('0x44')]({'where':{'id':_0x2334ec[_0x6e32('0x43')]['id']}})['then'](handleEntityNotFound(_0x5cc559,null))[_0x6e32('0x24')](saveUpdates(_0x2334ec[_0x6e32('0x45')],null))[_0x6e32('0x24')](respondWithResult(_0x5cc559,null))[_0x6e32('0x41')](handleError(_0x5cc559,null));};exports[_0x6e32('0x46')]=function(_0x312a24,_0xd29f6d,_0x7c848b){return db[_0x6e32('0x47')][_0x6e32('0x48')](function(_0x1896ac){if(_0x312a24['body'][_0x6e32('0x49')]===_0x6e32('0x4a')){_0x312a24['body'][_0x6e32('0x4b')]=path[_0x6e32('0x4c')](config[_0x6e32('0x4d')],_0x6e32('0x4e'),_0x312a24[_0x6e32('0x45')][_0x6e32('0x26')]);}return db[_0x6e32('0x29')][_0x6e32('0x46')](_0x312a24[_0x6e32('0x45')],{'transaction':_0x1896ac})[_0x6e32('0x24')](function(_0x56d3aa){if(_0x312a24[_0x6e32('0x45')][_0x6e32('0x49')]===_0x6e32('0x4a')){fs[_0x6e32('0x4f')](_0x56d3aa['directory'],parseInt(_0x6e32('0x50'),0x8));}var _0x5377e1=_0x312a24[_0x6e32('0x51')]['get']({'plain':!![]});if(!_0x5377e1)throw new Error(_0x6e32('0x52'));if(_0x5377e1[_0x6e32('0x53')]===_0x6e32('0x51')){var _0x2fa25d=_0x56d3aa[_0x6e32('0x21')]({'plain':!![]});return db[_0x6e32('0x54')][_0x6e32('0x44')]({'where':{'name':_0x6e32('0x22'),'userProfileId':_0x5377e1[_0x6e32('0x55')]},'raw':!![]})[_0x6e32('0x24')](function(_0x10860a){if(_0x10860a&&_0x10860a[_0x6e32('0x56')]===0x0){return db[_0x6e32('0x23')][_0x6e32('0x46')]({'name':_0x2fa25d[_0x6e32('0x26')],'resourceId':_0x2fa25d['id'],'type':_0x10860a[_0x6e32('0x26')],'sectionId':_0x10860a['id']},{})[_0x6e32('0x24')](function(){return _0x56d3aa;});}else{return _0x56d3aa;}})[_0x6e32('0x41')](function(_0x42937d){logger[_0x6e32('0x25')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x42937d);});}return _0x56d3aa;});})[_0x6e32('0x24')](respondWithResult(_0xd29f6d,0xc9))['catch'](handleError(_0xd29f6d,null));};exports[_0x6e32('0x20')]=function(_0xb9b561,_0x5dcfc0,_0x227cee){var _0x407700;return db[_0x6e32('0x29')][_0x6e32('0x44')]({'where':{'id':_0xb9b561[_0x6e32('0x43')]['id']}})[_0x6e32('0x24')](function(_0x28ae65){if(_0x28ae65){return db[_0x6e32('0x47')][_0x6e32('0x48')](function(_0xef3e90){return _0x28ae65[_0x6e32('0x20')]({'transaction':_0xef3e90,'raw':!![]})[_0x6e32('0x24')](function(_0x25fbb0){if(_0x25fbb0[_0x6e32('0x4b')]){fs[_0x6e32('0x57')](_0x25fbb0['directory'])[_0x6e32('0x58')](function(_0x1cdaf1){fs[_0x6e32('0x59')](path[_0x6e32('0x4c')](_0x25fbb0[_0x6e32('0x4b')],_0x1cdaf1));});fs[_0x6e32('0x5a')](_0x25fbb0[_0x6e32('0x4b')]);}return _0x25fbb0;});})[_0x6e32('0x41')](function(_0x2301ca){throw new db[(_0x6e32('0x5b'))][(_0x6e32('0x5c'))](_0x2301ca[_0x6e32('0x5d')]);});}})['then'](handleEntityNotFound(_0x5dcfc0,null))[_0x6e32('0x24')](removeEntity(_0x5dcfc0,null))[_0x6e32('0x41')](handleError(_0x5dcfc0,null));};exports[_0x6e32('0x5e')]=function(_0x1e9c85,_0x2908cb,_0x4dea16){return db[_0x6e32('0x47')][_0x6e32('0x48')](function(_0x10c12f){var _0x443a47;return db[_0x6e32('0x29')][_0x6e32('0x44')]({'where':{'id':_0x1e9c85[_0x6e32('0x43')]['id']}})['then'](function(_0x57256a){if(_0x57256a){_0x443a47=_0x57256a;return _0x57256a[_0x6e32('0x5e')](_0x1e9c85['body']['id'],{'transaction':_0x10c12f});}})[_0x6e32('0x24')](function(_0x4d6ad4){if(_0x4d6ad4){return db['Sound'][_0x6e32('0x5f')]({'where':{'id':_0x1e9c85['body']['id']},'attributes':['id',_0x6e32('0x26'),_0x6e32('0x60'),_0x6e32('0x61'),_0x6e32('0x62')],'raw':!![]});}})['then'](function(_0x30181c){if(_0x30181c){var _0x5bdb17=path[_0x6e32('0x4c')](config['root'],_0x6e32('0x63'),util[_0x6e32('0x64')]('%s.%s',path[_0x6e32('0x65')](_0x30181c['save_name'],path[_0x6e32('0x66')](_0x30181c[_0x6e32('0x60')])),_0x30181c['converted_format']));var _0x3557f7=path['join'](config[_0x6e32('0x4d')],'server/files/moh',_0x443a47[_0x6e32('0x26')],util[_0x6e32('0x64')](_0x6e32('0x67'),_0x30181c[_0x6e32('0x26')],_0x30181c[_0x6e32('0x61')]));fs[_0x6e32('0x68')](_0x5bdb17,_0x3557f7);return _0x30181c;}})[_0x6e32('0x41')](function(_0x4f2b01){throw new db[(_0x6e32('0x5b'))][(_0x6e32('0x5c'))](_0x4f2b01['message']);});})[_0x6e32('0x24')](handleEntityNotFound(_0x2908cb,null))[_0x6e32('0x24')](respondWithResult(_0x2908cb,0xc9))[_0x6e32('0x41')](handleError(_0x2908cb,null));};exports[_0x6e32('0x69')]=function(_0x551ea7,_0x32b05c,_0x14ff97){return db[_0x6e32('0x47')][_0x6e32('0x48')](function(_0x43e1aa){var _0x42bf99;return db['VoiceMusicOnHold'][_0x6e32('0x5f')]({'where':{'id':_0x551ea7['params']['id']}})['then'](handleEntityNotFound(_0x32b05c,null))[_0x6e32('0x24')](function(_0x24162d){if(_0x24162d){_0x42bf99=_0x24162d;return _0x24162d[_0x6e32('0x69')](_0x551ea7[_0x6e32('0x43')][_0x6e32('0x6a')]);}})[_0x6e32('0x24')](function(_0x18ab24){if(_0x18ab24){return db[_0x6e32('0x6b')][_0x6e32('0x5f')]({'where':{'id':_0x551ea7[_0x6e32('0x43')][_0x6e32('0x6a')]},'attributes':['id',_0x6e32('0x26'),_0x6e32('0x60'),'converted_format',_0x6e32('0x62')],'raw':!![]});}})['then'](function(_0x2847b4){if(_0x2847b4){fs['unlinkSync'](path['join'](_0x42bf99[_0x6e32('0x4b')],util[_0x6e32('0x64')](_0x6e32('0x67'),_0x2847b4[_0x6e32('0x26')],_0x2847b4[_0x6e32('0x61')])));return _0x2847b4;}})['catch'](function(_0x5e0c4f){throw new db[(_0x6e32('0x5b'))]['ValidationError'](_0x5e0c4f[_0x6e32('0x5d')]);});})[_0x6e32('0x24')](handleEntityNotFound(_0x32b05c,null))[_0x6e32('0x24')](respondWithStatusCode(_0x32b05c,0xcc))[_0x6e32('0x41')](handleError(_0x32b05c,null));};exports['getSounds']=function(_0x112a5d,_0x49322c,_0x536915){var _0x1813aa={};var _0x36802d={};var _0x15a409;var _0x5a8fe2;return db[_0x6e32('0x29')][_0x6e32('0x5f')]({'where':{'id':_0x112a5d[_0x6e32('0x43')]['id']}})[_0x6e32('0x24')](handleEntityNotFound(_0x49322c,null))[_0x6e32('0x24')](function(_0x5cc1c5){if(_0x5cc1c5){_0x15a409=_0x5cc1c5;_0x36802d[_0x6e32('0x30')]=_['keys'](db[_0x6e32('0x6b')][_0x6e32('0x2a')]);_0x36802d[_0x6e32('0x2b')]=_[_0x6e32('0x2c')](_0x112a5d[_0x6e32('0x2b')]);_0x36802d[_0x6e32('0x2d')]=_[_0x6e32('0x2f')](_0x36802d[_0x6e32('0x30')],_0x36802d[_0x6e32('0x2b')]);_0x1813aa[_0x6e32('0x2e')]=_[_0x6e32('0x2f')](_0x36802d['model'],qs[_0x6e32('0x31')](_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x31')]));_0x1813aa[_0x6e32('0x2e')]=_0x1813aa[_0x6e32('0x2e')][_0x6e32('0x32')]?_0x1813aa[_0x6e32('0x2e')]:_0x36802d[_0x6e32('0x30')];_0x1813aa[_0x6e32('0x35')]=qs[_0x6e32('0x36')](_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x36')]);_0x1813aa[_0x6e32('0x37')]=qs[_0x6e32('0x2d')](_['pick'](_0x112a5d['query'],_0x36802d[_0x6e32('0x2d')]));if(_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x39')]){_0x1813aa[_0x6e32('0x37')]=_[_0x6e32('0x3a')](_0x1813aa[_0x6e32('0x37')],{'$or':_['map'](_0x1813aa[_0x6e32('0x2e')],function(_0x291eda){var _0x4229be={};_0x4229be[_0x291eda]={'$like':'%'+_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x39')]+'%'};return _0x4229be;})});}_0x1813aa=_[_0x6e32('0x3a')]({},_0x1813aa,_0x112a5d['options']);return _0x15a409[_0x6e32('0x6c')](_0x1813aa);}})[_0x6e32('0x24')](function(_0x331a18){if(_0x331a18){_0x5a8fe2=_0x331a18[_0x6e32('0x32')];if(!_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x33')](_0x6e32('0x34'))){_0x1813aa[_0x6e32('0x1a')]=qs[_0x6e32('0x1a')](_0x112a5d['query'][_0x6e32('0x1a')]);_0x1813aa['offset']=qs[_0x6e32('0x19')](_0x112a5d[_0x6e32('0x2b')][_0x6e32('0x19')]);}return _0x15a409[_0x6e32('0x6c')](_0x1813aa);}})[_0x6e32('0x24')](function(_0x4c77df){if(_0x4c77df){return _0x4c77df?{'count':_0x5a8fe2,'rows':_0x4c77df}:null;}})[_0x6e32('0x24')](respondWithResult(_0x49322c,null))[_0x6e32('0x41')](handleError(_0x49322c,null));};