Built motion from commit f7863d46.|2.5.41
[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 _0xa14f=['findOne','save_name','server/files/sounds/converted','format','%s.%s','basename','extname','converted_format','symlinkSync','removeSound','createdAt','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','offset','undefined','limit','count','status','set','Content-Range','json','apply','reject','save','update','then','destroy','get','MusicOnHolds','UserProfileResource','stack','name','send','index','VoiceMusicOnHold','rawAttributes','fieldName','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','includeAll','include','rows','catch','show','params','keys','options','find','body','create','sequelize','transaction','mode','files','directory','root','server/files/moh','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','readdirSync','forEach','unlinkSync','join','rmdirSync','Sequelize','ValidationError','message','addSound','Sound'];(function(_0x31913a,_0x4027eb){var _0x26dbc5=function(_0x2e12ef){while(--_0x2e12ef){_0x31913a['push'](_0x31913a['shift']());}};_0x26dbc5(++_0x4027eb);}(_0xa14f,0xf7));var _0xfa14=function(_0x2377e5,_0x40095e){_0x2377e5=_0x2377e5-0x0;var _0x51e8d2=_0xa14f[_0x2377e5];return _0x51e8d2;};'use strict';var emlformat=require(_0xfa14('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfa14('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfa14('0x2'));var moment=require(_0xfa14('0x3'));var BPromise=require(_0xfa14('0x4'));var Mustache=require(_0xfa14('0x5'));var util=require(_0xfa14('0x6'));var path=require(_0xfa14('0x7'));var sox=require('sox');var csv=require(_0xfa14('0x8'));var ejs=require(_0xfa14('0x9'));var fs=require('fs');var fs_extra=require(_0xfa14('0xa'));var _=require(_0xfa14('0xb'));var squel=require(_0xfa14('0xc'));var crypto=require(_0xfa14('0xd'));var jsforce=require(_0xfa14('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xfa14('0x8'));var querystring=require(_0xfa14('0xf'));var Papa=require(_0xfa14('0x10'));var Redis=require(_0xfa14('0x11'));var authService=require(_0xfa14('0x12'));var qs=require(_0xfa14('0x13'));var as=require(_0xfa14('0x14'));var hardwareService=require(_0xfa14('0x15'));var logger=require(_0xfa14('0x16'))(_0xfa14('0x17'));var utils=require(_0xfa14('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xfa14('0x19'));var db=require(_0xfa14('0x1a'))['db'];function respondWithStatusCode(_0x216910,_0x2220ae){_0x2220ae=_0x2220ae||0xcc;return function(_0x1ee2fb){if(_0x1ee2fb){return _0x216910['sendStatus'](_0x2220ae);}return _0x216910['status'](_0x2220ae)[_0xfa14('0x1b')]();};}function respondWithResult(_0x467367,_0x1c0f31){_0x1c0f31=_0x1c0f31||0xc8;return function(_0x4a3c59){if(_0x4a3c59){return _0x467367['status'](_0x1c0f31)['json'](_0x4a3c59);}};}function respondWithFilteredResult(_0x27ff25,_0x57feaf){return function(_0x37cf12){if(_0x37cf12){var _0x375c9a=typeof _0x57feaf[_0xfa14('0x1c')]===_0xfa14('0x1d')&&typeof _0x57feaf[_0xfa14('0x1e')]===_0xfa14('0x1d');var _0x41ca92=_0x37cf12['count'];var _0x33610b=_0x375c9a?0x0:_0x57feaf[_0xfa14('0x1c')];var _0x2cc84b=_0x375c9a?_0x37cf12[_0xfa14('0x1f')]:_0x57feaf[_0xfa14('0x1c')]+_0x57feaf[_0xfa14('0x1e')];var _0x3645f1;if(_0x2cc84b>=_0x41ca92){_0x2cc84b=_0x41ca92;_0x3645f1=0xc8;}else{_0x3645f1=0xce;}_0x27ff25[_0xfa14('0x20')](_0x3645f1);return _0x27ff25[_0xfa14('0x21')](_0xfa14('0x22'),_0x33610b+'-'+_0x2cc84b+'/'+_0x41ca92)[_0xfa14('0x23')](_0x37cf12);}return null;};}function patchUpdates(_0x317239){return function(_0x2ba53d){try{jsonpatch[_0xfa14('0x24')](_0x2ba53d,_0x317239,!![]);}catch(_0xb3f232){return BPromise[_0xfa14('0x25')](_0xb3f232);}return _0x2ba53d[_0xfa14('0x26')]();};}function saveUpdates(_0x4a6589,_0xb52a1b){return function(_0xbd8be3){if(_0xbd8be3){return _0xbd8be3[_0xfa14('0x27')](_0x4a6589)[_0xfa14('0x28')](function(_0x573e8f){return _0x573e8f;});}return null;};}function removeEntity(_0x267b86,_0x3891d9){return function(_0x3b37a8){if(_0x3b37a8){return _0x3b37a8[_0xfa14('0x29')]()[_0xfa14('0x28')](function(){var _0x65a538=_0x3b37a8[_0xfa14('0x2a')]({'plain':!![]});var _0x4429b7=_0xfa14('0x2b');return db[_0xfa14('0x2c')][_0xfa14('0x29')]({'where':{'type':_0x4429b7,'resourceId':_0x65a538['id']}})[_0xfa14('0x28')](function(){return _0x3b37a8;});})[_0xfa14('0x28')](function(){_0x267b86['status'](0xcc)[_0xfa14('0x1b')]();});}};}function handleEntityNotFound(_0xc53985,_0x50d1ff){return function(_0x1b7266){if(!_0x1b7266){_0xc53985['sendStatus'](0x194);}return _0x1b7266;};}function handleError(_0x11c93a,_0x580217){_0x580217=_0x580217||0x1f4;return function(_0x1200b6){logger['error'](_0x1200b6[_0xfa14('0x2d')]);if(_0x1200b6[_0xfa14('0x2e')]){delete _0x1200b6[_0xfa14('0x2e')];}_0x11c93a[_0xfa14('0x20')](_0x580217)[_0xfa14('0x2f')](_0x1200b6);};}exports[_0xfa14('0x30')]=function(_0x55d741,_0x352068){var _0x389d8d={},_0x2f42b7={},_0x2c3d4f={'count':0x0,'rows':[]};var _0x1bcec4=_['map'](db[_0xfa14('0x31')][_0xfa14('0x32')],function(_0x533f39){return{'name':_0x533f39[_0xfa14('0x33')],'type':_0x533f39['type'][_0xfa14('0x34')]};});_0x2f42b7[_0xfa14('0x35')]=_[_0xfa14('0x36')](_0x1bcec4,_0xfa14('0x2e'));_0x2f42b7[_0xfa14('0x37')]=_['keys'](_0x55d741[_0xfa14('0x37')]);_0x2f42b7[_0xfa14('0x38')]=_['intersection'](_0x2f42b7[_0xfa14('0x35')],_0x2f42b7[_0xfa14('0x37')]);_0x389d8d['attributes']=_[_0xfa14('0x39')](_0x2f42b7[_0xfa14('0x35')],qs[_0xfa14('0x3a')](_0x55d741['query'][_0xfa14('0x3a')]));_0x389d8d[_0xfa14('0x3b')]=_0x389d8d[_0xfa14('0x3b')][_0xfa14('0x3c')]?_0x389d8d[_0xfa14('0x3b')]:_0x2f42b7[_0xfa14('0x35')];if(!_0x55d741[_0xfa14('0x37')][_0xfa14('0x3d')](_0xfa14('0x3e'))){_0x389d8d[_0xfa14('0x1e')]=qs[_0xfa14('0x1e')](_0x55d741['query'][_0xfa14('0x1e')]);_0x389d8d[_0xfa14('0x1c')]=qs[_0xfa14('0x1c')](_0x55d741[_0xfa14('0x37')][_0xfa14('0x1c')]);}_0x389d8d[_0xfa14('0x3f')]=qs['sort'](_0x55d741[_0xfa14('0x37')][_0xfa14('0x40')]);delete _0x55d741[_0xfa14('0x37')][_0xfa14('0x40')];_0x389d8d[_0xfa14('0x41')]=qs[_0xfa14('0x38')](_[_0xfa14('0x42')](_0x55d741['query'],_0x2f42b7[_0xfa14('0x38')]),_0x1bcec4);if(_0x55d741[_0xfa14('0x37')]['filter']){_0x389d8d[_0xfa14('0x41')]=_[_0xfa14('0x43')](_0x389d8d[_0xfa14('0x41')],{'$or':_[_0xfa14('0x36')](_0x1bcec4,function(_0x533c15){if(_0x533c15[_0xfa14('0x44')]!==_0xfa14('0x45')){var _0x1d1757={};_0x1d1757[_0x533c15[_0xfa14('0x2e')]]={'$like':'%'+_0x55d741[_0xfa14('0x37')][_0xfa14('0x46')]+'%'};return _0x1d1757;}})});}_0x389d8d=_[_0xfa14('0x43')]({},_0x389d8d,_0x55d741['options']);var _0x15e4bb={'where':_0x389d8d[_0xfa14('0x41')]};return db['VoiceMusicOnHold'][_0xfa14('0x1f')](_0x15e4bb)[_0xfa14('0x28')](function(_0xa039cb){_0x2c3d4f[_0xfa14('0x1f')]=_0xa039cb;if(_0x55d741[_0xfa14('0x37')][_0xfa14('0x47')]){_0x389d8d[_0xfa14('0x48')]=[{'all':!![]}];}return db['VoiceMusicOnHold']['findAll'](_0x389d8d);})[_0xfa14('0x28')](function(_0x5a7e33){_0x2c3d4f[_0xfa14('0x49')]=_0x5a7e33;return _0x2c3d4f;})[_0xfa14('0x28')](respondWithFilteredResult(_0x352068,_0x389d8d))[_0xfa14('0x4a')](handleError(_0x352068,null));};exports[_0xfa14('0x4b')]=function(_0x49edab,_0x6251c6){var _0x20198f={'raw':![],'where':{'id':_0x49edab[_0xfa14('0x4c')]['id']}},_0x108237={};_0x108237['model']=_[_0xfa14('0x4d')](db[_0xfa14('0x31')][_0xfa14('0x32')]);_0x108237[_0xfa14('0x37')]=_[_0xfa14('0x4d')](_0x49edab[_0xfa14('0x37')]);_0x108237[_0xfa14('0x38')]=_[_0xfa14('0x39')](_0x108237[_0xfa14('0x35')],_0x108237['query']);_0x20198f[_0xfa14('0x3b')]=_[_0xfa14('0x39')](_0x108237[_0xfa14('0x35')],qs['fields'](_0x49edab['query']['fields']));_0x20198f['attributes']=_0x20198f['attributes'][_0xfa14('0x3c')]?_0x20198f[_0xfa14('0x3b')]:_0x108237[_0xfa14('0x35')];if(_0x49edab[_0xfa14('0x37')][_0xfa14('0x47')]){_0x20198f[_0xfa14('0x48')]=[{'all':!![]}];}_0x20198f=_[_0xfa14('0x43')]({},_0x20198f,_0x49edab[_0xfa14('0x4e')]);return db['VoiceMusicOnHold'][_0xfa14('0x4f')](_0x20198f)['then'](handleEntityNotFound(_0x6251c6,null))[_0xfa14('0x28')](respondWithResult(_0x6251c6,null))[_0xfa14('0x4a')](handleError(_0x6251c6,null));};exports[_0xfa14('0x27')]=function(_0xbc107a,_0x48e9ab){if(_0xbc107a[_0xfa14('0x50')]['id']){delete _0xbc107a[_0xfa14('0x50')]['id'];}return db[_0xfa14('0x31')][_0xfa14('0x4f')]({'where':{'id':_0xbc107a['params']['id']}})[_0xfa14('0x28')](handleEntityNotFound(_0x48e9ab,null))[_0xfa14('0x28')](saveUpdates(_0xbc107a[_0xfa14('0x50')],null))[_0xfa14('0x28')](respondWithResult(_0x48e9ab,null))[_0xfa14('0x4a')](handleError(_0x48e9ab,null));};exports[_0xfa14('0x51')]=function(_0x586685,_0x52705e,_0x880916){return db[_0xfa14('0x52')][_0xfa14('0x53')](function(_0x54b0e6){if(_0x586685[_0xfa14('0x50')][_0xfa14('0x54')]===_0xfa14('0x55')){_0x586685[_0xfa14('0x50')][_0xfa14('0x56')]=path['join'](config[_0xfa14('0x57')],_0xfa14('0x58'),_0x586685[_0xfa14('0x50')]['name']);}return db[_0xfa14('0x31')][_0xfa14('0x51')](_0x586685['body'],{'transaction':_0x54b0e6})[_0xfa14('0x28')](function(_0x4d2d77){if(_0x586685[_0xfa14('0x50')][_0xfa14('0x54')]===_0xfa14('0x55')){fs[_0xfa14('0x59')](_0x4d2d77['directory'],parseInt(_0xfa14('0x5a'),0x8));}var _0xbc3af0=_0x586685[_0xfa14('0x5b')][_0xfa14('0x2a')]({'plain':!![]});if(!_0xbc3af0)throw new Error(_0xfa14('0x5c'));if(_0xbc3af0[_0xfa14('0x5d')]===_0xfa14('0x5b')){var _0xc286ce=_0x4d2d77[_0xfa14('0x2a')]({'plain':!![]});return db[_0xfa14('0x5e')][_0xfa14('0x4f')]({'where':{'name':_0xfa14('0x2b'),'userProfileId':_0xbc3af0[_0xfa14('0x5f')]},'raw':!![]})[_0xfa14('0x28')](function(_0x220b3e){if(_0x220b3e&&_0x220b3e[_0xfa14('0x60')]===0x0){return db['UserProfileResource'][_0xfa14('0x51')]({'name':_0xc286ce[_0xfa14('0x2e')],'resourceId':_0xc286ce['id'],'type':_0x220b3e[_0xfa14('0x2e')],'sectionId':_0x220b3e['id']},{})[_0xfa14('0x28')](function(){return _0x4d2d77;});}else{return _0x4d2d77;}})[_0xfa14('0x4a')](function(_0xa10ff){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xa10ff);});}return _0x4d2d77;});})['then'](respondWithResult(_0x52705e,0xc9))[_0xfa14('0x4a')](handleError(_0x52705e,null));};exports[_0xfa14('0x29')]=function(_0x2924e1,_0x5ccbce,_0x292b0d){var _0x4cfe28;return db['VoiceMusicOnHold'][_0xfa14('0x4f')]({'where':{'id':_0x2924e1[_0xfa14('0x4c')]['id']}})['then'](function(_0x38513c){if(_0x38513c){return db[_0xfa14('0x52')][_0xfa14('0x53')](function(_0x2dd9ee){return _0x38513c[_0xfa14('0x29')]({'transaction':_0x2dd9ee,'raw':!![]})['then'](function(_0x3735d2){if(_0x3735d2[_0xfa14('0x56')]){fs[_0xfa14('0x61')](_0x3735d2[_0xfa14('0x56')])[_0xfa14('0x62')](function(_0x4c45f1){fs[_0xfa14('0x63')](path[_0xfa14('0x64')](_0x3735d2['directory'],_0x4c45f1));});fs[_0xfa14('0x65')](_0x3735d2[_0xfa14('0x56')]);}return _0x3735d2;});})['catch'](function(_0x4abbe3){throw new db[(_0xfa14('0x66'))][(_0xfa14('0x67'))](_0x4abbe3[_0xfa14('0x68')]);});}})['then'](handleEntityNotFound(_0x5ccbce,null))[_0xfa14('0x28')](removeEntity(_0x5ccbce,null))[_0xfa14('0x4a')](handleError(_0x5ccbce,null));};exports[_0xfa14('0x69')]=function(_0x4d3ac8,_0x43fd0a,_0x49e7c5){return db[_0xfa14('0x52')][_0xfa14('0x53')](function(_0x427746){var _0x496dfe;return db[_0xfa14('0x31')]['find']({'where':{'id':_0x4d3ac8['params']['id']}})['then'](function(_0x41a2ed){if(_0x41a2ed){_0x496dfe=_0x41a2ed;return _0x41a2ed[_0xfa14('0x69')](_0x4d3ac8[_0xfa14('0x50')]['id'],{'transaction':_0x427746});}})[_0xfa14('0x28')](function(_0x31d849){if(_0x31d849){return db[_0xfa14('0x6a')][_0xfa14('0x6b')]({'where':{'id':_0x4d3ac8[_0xfa14('0x50')]['id']},'attributes':['id',_0xfa14('0x2e'),_0xfa14('0x6c'),'converted_format','createdAt'],'raw':!![]});}})['then'](function(_0x5d9857){if(_0x5d9857){var _0x810c60=path[_0xfa14('0x64')](config['root'],_0xfa14('0x6d'),util[_0xfa14('0x6e')](_0xfa14('0x6f'),path[_0xfa14('0x70')](_0x5d9857[_0xfa14('0x6c')],path[_0xfa14('0x71')](_0x5d9857[_0xfa14('0x6c')])),_0x5d9857['converted_format']));var _0x33ec8c=path['join'](config['root'],'server/files/moh',_0x496dfe['name'],util[_0xfa14('0x6e')](_0xfa14('0x6f'),_0x5d9857[_0xfa14('0x2e')],_0x5d9857[_0xfa14('0x72')]));fs[_0xfa14('0x73')](_0x810c60,_0x33ec8c);return _0x5d9857;}})[_0xfa14('0x4a')](function(_0x1ea901){throw new db[(_0xfa14('0x66'))][(_0xfa14('0x67'))](_0x1ea901[_0xfa14('0x68')]);});})['then'](handleEntityNotFound(_0x43fd0a,null))[_0xfa14('0x28')](respondWithResult(_0x43fd0a,0xc9))['catch'](handleError(_0x43fd0a,null));};exports['removeSound']=function(_0x21b2c6,_0xa29485,_0x18e169){return db[_0xfa14('0x52')]['transaction'](function(_0x55dfac){var _0xfb71;return db[_0xfa14('0x31')]['findOne']({'where':{'id':_0x21b2c6[_0xfa14('0x4c')]['id']}})['then'](handleEntityNotFound(_0xa29485,null))[_0xfa14('0x28')](function(_0x505c45){if(_0x505c45){_0xfb71=_0x505c45;return _0x505c45[_0xfa14('0x74')](_0x21b2c6['params']['id2']);}})[_0xfa14('0x28')](function(_0xf89506){if(_0xf89506){return db[_0xfa14('0x6a')][_0xfa14('0x6b')]({'where':{'id':_0x21b2c6['params']['id2']},'attributes':['id',_0xfa14('0x2e'),_0xfa14('0x6c'),'converted_format',_0xfa14('0x75')],'raw':!![]});}})['then'](function(_0x4eb410){if(_0x4eb410){fs[_0xfa14('0x63')](path[_0xfa14('0x64')](_0xfb71[_0xfa14('0x56')],util['format']('%s.%s',_0x4eb410[_0xfa14('0x2e')],_0x4eb410[_0xfa14('0x72')])));return _0x4eb410;}})['catch'](function(_0x468d06){throw new db[(_0xfa14('0x66'))][(_0xfa14('0x67'))](_0x468d06[_0xfa14('0x68')]);});})[_0xfa14('0x28')](handleEntityNotFound(_0xa29485,null))['then'](respondWithStatusCode(_0xa29485,0xcc))['catch'](handleError(_0xa29485,null));};exports['getSounds']=function(_0x150d55,_0x38e5f7,_0x237366){var _0x2a3f8a={};var _0x36740e={};var _0x1384de;var _0x5be641;return db[_0xfa14('0x31')][_0xfa14('0x6b')]({'where':{'id':_0x150d55['params']['id']}})[_0xfa14('0x28')](handleEntityNotFound(_0x38e5f7,null))[_0xfa14('0x28')](function(_0x180235){if(_0x180235){_0x1384de=_0x180235;_0x36740e[_0xfa14('0x35')]=_[_0xfa14('0x4d')](db[_0xfa14('0x6a')][_0xfa14('0x32')]);_0x36740e[_0xfa14('0x37')]=_[_0xfa14('0x4d')](_0x150d55['query']);_0x36740e[_0xfa14('0x38')]=_[_0xfa14('0x39')](_0x36740e['model'],_0x36740e['query']);_0x2a3f8a[_0xfa14('0x3b')]=_[_0xfa14('0x39')](_0x36740e[_0xfa14('0x35')],qs['fields'](_0x150d55['query'][_0xfa14('0x3a')]));_0x2a3f8a[_0xfa14('0x3b')]=_0x2a3f8a[_0xfa14('0x3b')][_0xfa14('0x3c')]?_0x2a3f8a[_0xfa14('0x3b')]:_0x36740e[_0xfa14('0x35')];_0x2a3f8a['order']=qs[_0xfa14('0x40')](_0x150d55[_0xfa14('0x37')][_0xfa14('0x40')]);_0x2a3f8a[_0xfa14('0x41')]=qs[_0xfa14('0x38')](_['pick'](_0x150d55['query'],_0x36740e['filters']));if(_0x150d55['query']['filter']){_0x2a3f8a[_0xfa14('0x41')]=_['merge'](_0x2a3f8a[_0xfa14('0x41')],{'$or':_[_0xfa14('0x36')](_0x2a3f8a['attributes'],function(_0x12da85){var _0x56c772={};_0x56c772[_0x12da85]={'$like':'%'+_0x150d55[_0xfa14('0x37')][_0xfa14('0x46')]+'%'};return _0x56c772;})});}_0x2a3f8a=_['merge']({},_0x2a3f8a,_0x150d55[_0xfa14('0x4e')]);return _0x1384de['getSounds'](_0x2a3f8a);}})[_0xfa14('0x28')](function(_0x1d8918){if(_0x1d8918){_0x5be641=_0x1d8918[_0xfa14('0x3c')];if(!_0x150d55['query'][_0xfa14('0x3d')](_0xfa14('0x3e'))){_0x2a3f8a[_0xfa14('0x1e')]=qs[_0xfa14('0x1e')](_0x150d55[_0xfa14('0x37')][_0xfa14('0x1e')]);_0x2a3f8a['offset']=qs['offset'](_0x150d55[_0xfa14('0x37')][_0xfa14('0x1c')]);}return _0x1384de['getSounds'](_0x2a3f8a);}})[_0xfa14('0x28')](function(_0x24345c){if(_0x24345c){return _0x24345c?{'count':_0x5be641,'rows':_0x24345c}:null;}})[_0xfa14('0x28')](respondWithResult(_0x38e5f7,null))['catch'](handleError(_0x38e5f7,null));};