Built motion from commit d5e4af8c.|2.6.23
[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 _0xe90d=['sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','filters','length','find','body','create','sequelize','files','directory','join','server/files/moh','mode','mkdirSync','0777','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','transaction','readdirSync','forEach','rmdirSync','ValidationError','message','addSound','Sound','save_name','createdAt','root','server/files/sounds/converted','%s.%s','basename','extname','converted_format','format','symlinkSync','Sequelize','removeSound','id2','findOne','unlinkSync','getSounds','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','get','MusicOnHolds','UserProfileResource','destroy','sendStatus','error','stack','name','index','map','VoiceMusicOnHold','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order'];(function(_0xe86415,_0x4fe3ab){var _0x4dc900=function(_0xc4dd21){while(--_0xc4dd21){_0xe86415['push'](_0xe86415['shift']());}};_0x4dc900(++_0x4fe3ab);}(_0xe90d,0x123));var _0xde90=function(_0x1c80c,_0x20f7ce){_0x1c80c=_0x1c80c-0x0;var _0x347317=_0xe90d[_0x1c80c];return _0x347317;};'use strict';var emlformat=require(_0xde90('0x0'));var rimraf=require(_0xde90('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xde90('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xde90('0x3'));var Mustache=require(_0xde90('0x4'));var util=require(_0xde90('0x5'));var path=require(_0xde90('0x6'));var sox=require('sox');var csv=require(_0xde90('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xde90('0x8'));var _=require(_0xde90('0x9'));var squel=require(_0xde90('0xa'));var crypto=require(_0xde90('0xb'));var jsforce=require(_0xde90('0xc'));var deskjs=require(_0xde90('0xd'));var toCsv=require(_0xde90('0x7'));var querystring=require('querystring');var Papa=require(_0xde90('0xe'));var Redis=require('ioredis');var authService=require(_0xde90('0xf'));var qs=require(_0xde90('0x10'));var as=require(_0xde90('0x11'));var hardwareService=require(_0xde90('0x12'));var logger=require(_0xde90('0x13'))(_0xde90('0x14'));var utils=require(_0xde90('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xde90('0x16'));var db=require(_0xde90('0x17'))['db'];function respondWithStatusCode(_0xc6fbaf,_0x8258dc){_0x8258dc=_0x8258dc||0xcc;return function(_0x63ed0e){if(_0x63ed0e){return _0xc6fbaf['sendStatus'](_0x8258dc);}return _0xc6fbaf[_0xde90('0x18')](_0x8258dc)[_0xde90('0x19')]();};}function respondWithResult(_0x317c18,_0x261853){_0x261853=_0x261853||0xc8;return function(_0x30220b){if(_0x30220b){return _0x317c18[_0xde90('0x18')](_0x261853)[_0xde90('0x1a')](_0x30220b);}};}function respondWithFilteredResult(_0x22633f,_0x27e426){return function(_0x547ef8){if(_0x547ef8){var _0x246383=typeof _0x27e426[_0xde90('0x1b')]===_0xde90('0x1c')&&typeof _0x27e426[_0xde90('0x1d')]==='undefined';var _0x893881=_0x547ef8[_0xde90('0x1e')];var _0x263899=_0x246383?0x0:_0x27e426[_0xde90('0x1b')];var _0x5b4865=_0x246383?_0x547ef8[_0xde90('0x1e')]:_0x27e426['offset']+_0x27e426[_0xde90('0x1d')];var _0x24817b;if(_0x5b4865>=_0x893881){_0x5b4865=_0x893881;_0x24817b=0xc8;}else{_0x24817b=0xce;}_0x22633f[_0xde90('0x18')](_0x24817b);return _0x22633f['set'](_0xde90('0x1f'),_0x263899+'-'+_0x5b4865+'/'+_0x893881)['json'](_0x547ef8);}return null;};}function patchUpdates(_0x250598){return function(_0x119545){try{jsonpatch[_0xde90('0x20')](_0x119545,_0x250598,!![]);}catch(_0x5317d6){return BPromise[_0xde90('0x21')](_0x5317d6);}return _0x119545[_0xde90('0x22')]();};}function saveUpdates(_0x1070bc,_0x523cba){return function(_0x375596){if(_0x375596){return _0x375596[_0xde90('0x23')](_0x1070bc)[_0xde90('0x24')](function(_0x3bc6c1){return _0x3bc6c1;});}return null;};}function removeEntity(_0x485759,_0x51f095){return function(_0x313eff){if(_0x313eff){return _0x313eff['destroy']()[_0xde90('0x24')](function(){var _0x18d10a=_0x313eff[_0xde90('0x25')]({'plain':!![]});var _0x29f064=_0xde90('0x26');return db[_0xde90('0x27')][_0xde90('0x28')]({'where':{'type':_0x29f064,'resourceId':_0x18d10a['id']}})[_0xde90('0x24')](function(){return _0x313eff;});})['then'](function(){_0x485759[_0xde90('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c0ff2,_0x210944){return function(_0x10f041){if(!_0x10f041){_0x2c0ff2[_0xde90('0x29')](0x194);}return _0x10f041;};}function handleError(_0xbf56c6,_0x55f859){_0x55f859=_0x55f859||0x1f4;return function(_0x2bb5c3){logger[_0xde90('0x2a')](_0x2bb5c3[_0xde90('0x2b')]);if(_0x2bb5c3[_0xde90('0x2c')]){delete _0x2bb5c3['name'];}_0xbf56c6[_0xde90('0x18')](_0x55f859)['send'](_0x2bb5c3);};}exports[_0xde90('0x2d')]=function(_0x5d812d,_0x5df18c){var _0x2c99a5={},_0x2301e7={},_0x3f0d84={'count':0x0,'rows':[]};var _0x360c89=_[_0xde90('0x2e')](db[_0xde90('0x2f')]['rawAttributes'],function(_0x48cb93){return{'name':_0x48cb93[_0xde90('0x30')],'type':_0x48cb93[_0xde90('0x31')][_0xde90('0x32')]};});_0x2301e7[_0xde90('0x33')]=_['map'](_0x360c89,_0xde90('0x2c'));_0x2301e7[_0xde90('0x34')]=_[_0xde90('0x35')](_0x5d812d['query']);_0x2301e7['filters']=_[_0xde90('0x36')](_0x2301e7['model'],_0x2301e7[_0xde90('0x34')]);_0x2c99a5[_0xde90('0x37')]=_[_0xde90('0x36')](_0x2301e7[_0xde90('0x33')],qs[_0xde90('0x38')](_0x5d812d['query']['fields']));_0x2c99a5['attributes']=_0x2c99a5[_0xde90('0x37')]['length']?_0x2c99a5[_0xde90('0x37')]:_0x2301e7['model'];if(!_0x5d812d['query'][_0xde90('0x39')](_0xde90('0x3a'))){_0x2c99a5['limit']=qs[_0xde90('0x1d')](_0x5d812d['query'][_0xde90('0x1d')]);_0x2c99a5[_0xde90('0x1b')]=qs[_0xde90('0x1b')](_0x5d812d[_0xde90('0x34')][_0xde90('0x1b')]);}_0x2c99a5[_0xde90('0x3b')]=qs['sort'](_0x5d812d[_0xde90('0x34')][_0xde90('0x3c')]);delete _0x5d812d['query'][_0xde90('0x3c')];_0x2c99a5['where']=qs['filters'](_[_0xde90('0x3d')](_0x5d812d[_0xde90('0x34')],_0x2301e7['filters']),_0x360c89);if(_0x5d812d['query'][_0xde90('0x3e')]){_0x2c99a5[_0xde90('0x3f')]=_[_0xde90('0x40')](_0x2c99a5['where'],{'$or':_[_0xde90('0x2e')](_0x360c89,function(_0x38b8ed){if(_0x38b8ed[_0xde90('0x31')]!=='VIRTUAL'){var _0x115f93={};_0x115f93[_0x38b8ed[_0xde90('0x2c')]]={'$like':'%'+_0x5d812d[_0xde90('0x34')][_0xde90('0x3e')]+'%'};return _0x115f93;}})});}_0x2c99a5=_[_0xde90('0x40')]({},_0x2c99a5,_0x5d812d[_0xde90('0x41')]);var _0xfc77c5={'where':_0x2c99a5[_0xde90('0x3f')]};return db['VoiceMusicOnHold'][_0xde90('0x1e')](_0xfc77c5)[_0xde90('0x24')](function(_0x14e99d){_0x3f0d84[_0xde90('0x1e')]=_0x14e99d;if(_0x5d812d['query'][_0xde90('0x42')]){_0x2c99a5[_0xde90('0x43')]=[{'all':!![]}];}return db[_0xde90('0x2f')][_0xde90('0x44')](_0x2c99a5);})[_0xde90('0x24')](function(_0x3eb0d5){_0x3f0d84[_0xde90('0x45')]=_0x3eb0d5;return _0x3f0d84;})[_0xde90('0x24')](respondWithFilteredResult(_0x5df18c,_0x2c99a5))[_0xde90('0x46')](handleError(_0x5df18c,null));};exports[_0xde90('0x47')]=function(_0x423932,_0x1018ad){var _0x117c5e={'raw':![],'where':{'id':_0x423932[_0xde90('0x48')]['id']}},_0x45789d={};_0x45789d[_0xde90('0x33')]=_[_0xde90('0x35')](db[_0xde90('0x2f')][_0xde90('0x49')]);_0x45789d[_0xde90('0x34')]=_[_0xde90('0x35')](_0x423932[_0xde90('0x34')]);_0x45789d[_0xde90('0x4a')]=_[_0xde90('0x36')](_0x45789d[_0xde90('0x33')],_0x45789d['query']);_0x117c5e[_0xde90('0x37')]=_['intersection'](_0x45789d[_0xde90('0x33')],qs[_0xde90('0x38')](_0x423932[_0xde90('0x34')][_0xde90('0x38')]));_0x117c5e[_0xde90('0x37')]=_0x117c5e[_0xde90('0x37')][_0xde90('0x4b')]?_0x117c5e[_0xde90('0x37')]:_0x45789d[_0xde90('0x33')];if(_0x423932[_0xde90('0x34')]['includeAll']){_0x117c5e[_0xde90('0x43')]=[{'all':!![]}];}_0x117c5e=_[_0xde90('0x40')]({},_0x117c5e,_0x423932[_0xde90('0x41')]);return db[_0xde90('0x2f')][_0xde90('0x4c')](_0x117c5e)[_0xde90('0x24')](handleEntityNotFound(_0x1018ad,null))[_0xde90('0x24')](respondWithResult(_0x1018ad,null))[_0xde90('0x46')](handleError(_0x1018ad,null));};exports[_0xde90('0x23')]=function(_0x4c6673,_0x35cdb8){if(_0x4c6673[_0xde90('0x4d')]['id']){delete _0x4c6673[_0xde90('0x4d')]['id'];}return db['VoiceMusicOnHold']['find']({'where':{'id':_0x4c6673[_0xde90('0x48')]['id']}})[_0xde90('0x24')](handleEntityNotFound(_0x35cdb8,null))[_0xde90('0x24')](saveUpdates(_0x4c6673[_0xde90('0x4d')],null))['then'](respondWithResult(_0x35cdb8,null))[_0xde90('0x46')](handleError(_0x35cdb8,null));};exports[_0xde90('0x4e')]=function(_0x487236,_0x22308d,_0x1dcb1d){return db[_0xde90('0x4f')]['transaction'](function(_0xd84282){if(_0x487236[_0xde90('0x4d')]['mode']===_0xde90('0x50')){_0x487236['body'][_0xde90('0x51')]=path[_0xde90('0x52')](config['root'],_0xde90('0x53'),_0x487236[_0xde90('0x4d')][_0xde90('0x2c')]);}return db[_0xde90('0x2f')][_0xde90('0x4e')](_0x487236[_0xde90('0x4d')],{'transaction':_0xd84282})[_0xde90('0x24')](function(_0x27fe46){if(_0x487236[_0xde90('0x4d')][_0xde90('0x54')]===_0xde90('0x50')){fs[_0xde90('0x55')](_0x27fe46[_0xde90('0x51')],parseInt(_0xde90('0x56'),0x8));}var _0x3206dd=_0x487236['user'][_0xde90('0x25')]({'plain':!![]});if(!_0x3206dd)throw new Error(_0xde90('0x57'));if(_0x3206dd['role']===_0xde90('0x58')){var _0x2d48e1=_0x27fe46[_0xde90('0x25')]({'plain':!![]});return db[_0xde90('0x59')][_0xde90('0x4c')]({'where':{'name':_0xde90('0x26'),'userProfileId':_0x3206dd[_0xde90('0x5a')]},'raw':!![]})['then'](function(_0x1af60c){if(_0x1af60c&&_0x1af60c[_0xde90('0x5b')]===0x0){return db[_0xde90('0x27')][_0xde90('0x4e')]({'name':_0x2d48e1[_0xde90('0x2c')],'resourceId':_0x2d48e1['id'],'type':_0x1af60c[_0xde90('0x2c')],'sectionId':_0x1af60c['id']},{})[_0xde90('0x24')](function(){return _0x27fe46;});}else{return _0x27fe46;}})[_0xde90('0x46')](function(_0x20358c){logger['error'](_0xde90('0x5c'),_0x20358c);});}return _0x27fe46;});})[_0xde90('0x24')](respondWithResult(_0x22308d,0xc9))[_0xde90('0x46')](handleError(_0x22308d,null));};exports[_0xde90('0x28')]=function(_0x15f08b,_0x35dc97,_0x4bc371){var _0x1cc323;return db['VoiceMusicOnHold'][_0xde90('0x4c')]({'where':{'id':_0x15f08b[_0xde90('0x48')]['id']}})[_0xde90('0x24')](function(_0x59d858){if(_0x59d858){return db[_0xde90('0x4f')][_0xde90('0x5d')](function(_0x142a36){return _0x59d858['destroy']({'transaction':_0x142a36,'raw':!![]})['then'](function(_0x10fbc5){if(_0x10fbc5[_0xde90('0x51')]){fs[_0xde90('0x5e')](_0x10fbc5[_0xde90('0x51')])[_0xde90('0x5f')](function(_0x4f512b){fs['unlinkSync'](path['join'](_0x10fbc5[_0xde90('0x51')],_0x4f512b));});fs[_0xde90('0x60')](_0x10fbc5[_0xde90('0x51')]);}return _0x10fbc5;});})[_0xde90('0x46')](function(_0x76d5f7){throw new db['Sequelize'][(_0xde90('0x61'))](_0x76d5f7[_0xde90('0x62')]);});}})['then'](handleEntityNotFound(_0x35dc97,null))[_0xde90('0x24')](removeEntity(_0x35dc97,null))[_0xde90('0x46')](handleError(_0x35dc97,null));};exports[_0xde90('0x63')]=function(_0x3ec1a5,_0x181b45,_0x1f7c70){return db[_0xde90('0x4f')]['transaction'](function(_0x199242){var _0x1a4691;return db[_0xde90('0x2f')]['find']({'where':{'id':_0x3ec1a5['params']['id']}})[_0xde90('0x24')](function(_0x5a6128){if(_0x5a6128){_0x1a4691=_0x5a6128;return _0x5a6128['addSound'](_0x3ec1a5[_0xde90('0x4d')]['id'],{'transaction':_0x199242});}})['then'](function(_0x571b41){if(_0x571b41){return db[_0xde90('0x64')]['findOne']({'where':{'id':_0x3ec1a5[_0xde90('0x4d')]['id']},'attributes':['id',_0xde90('0x2c'),_0xde90('0x65'),'converted_format',_0xde90('0x66')],'raw':!![]});}})[_0xde90('0x24')](function(_0x444182){if(_0x444182){var _0xe5df77=path[_0xde90('0x52')](config[_0xde90('0x67')],_0xde90('0x68'),util['format'](_0xde90('0x69'),path[_0xde90('0x6a')](_0x444182[_0xde90('0x65')],path[_0xde90('0x6b')](_0x444182['save_name'])),_0x444182[_0xde90('0x6c')]));var _0x34e7f8=path[_0xde90('0x52')](config[_0xde90('0x67')],'server/files/moh',_0x1a4691[_0xde90('0x2c')],util[_0xde90('0x6d')](_0xde90('0x69'),_0x444182['name'],_0x444182['converted_format']));fs[_0xde90('0x6e')](_0xe5df77,_0x34e7f8);return _0x444182;}})[_0xde90('0x46')](function(_0x30453f){throw new db[(_0xde90('0x6f'))][(_0xde90('0x61'))](_0x30453f[_0xde90('0x62')]);});})['then'](handleEntityNotFound(_0x181b45,null))[_0xde90('0x24')](respondWithResult(_0x181b45,0xc9))[_0xde90('0x46')](handleError(_0x181b45,null));};exports[_0xde90('0x70')]=function(_0x429fde,_0x2e4cdf,_0x127ee0){return db[_0xde90('0x4f')][_0xde90('0x5d')](function(_0x973343){var _0x47b756;return db[_0xde90('0x2f')]['findOne']({'where':{'id':_0x429fde[_0xde90('0x48')]['id']}})[_0xde90('0x24')](handleEntityNotFound(_0x2e4cdf,null))['then'](function(_0x369488){if(_0x369488){_0x47b756=_0x369488;return _0x369488[_0xde90('0x70')](_0x429fde[_0xde90('0x48')][_0xde90('0x71')]);}})[_0xde90('0x24')](function(_0x56f1e0){if(_0x56f1e0){return db[_0xde90('0x64')][_0xde90('0x72')]({'where':{'id':_0x429fde[_0xde90('0x48')]['id2']},'attributes':['id',_0xde90('0x2c'),_0xde90('0x65'),_0xde90('0x6c'),_0xde90('0x66')],'raw':!![]});}})[_0xde90('0x24')](function(_0x194400){if(_0x194400){fs[_0xde90('0x73')](path[_0xde90('0x52')](_0x47b756[_0xde90('0x51')],util[_0xde90('0x6d')]('%s.%s',_0x194400['name'],_0x194400[_0xde90('0x6c')])));return _0x194400;}})[_0xde90('0x46')](function(_0x7d0d5c){throw new db[(_0xde90('0x6f'))][(_0xde90('0x61'))](_0x7d0d5c[_0xde90('0x62')]);});})[_0xde90('0x24')](handleEntityNotFound(_0x2e4cdf,null))[_0xde90('0x24')](respondWithStatusCode(_0x2e4cdf,0xcc))[_0xde90('0x46')](handleError(_0x2e4cdf,null));};exports[_0xde90('0x74')]=function(_0x20b774,_0x1f0c9c,_0xd19342){var _0x4579b7={};var _0x2dcaed={};var _0x245cda;var _0x28b395;return db[_0xde90('0x2f')]['findOne']({'where':{'id':_0x20b774[_0xde90('0x48')]['id']}})[_0xde90('0x24')](handleEntityNotFound(_0x1f0c9c,null))[_0xde90('0x24')](function(_0x128041){if(_0x128041){_0x245cda=_0x128041;_0x2dcaed[_0xde90('0x33')]=_[_0xde90('0x35')](db[_0xde90('0x64')][_0xde90('0x49')]);_0x2dcaed[_0xde90('0x34')]=_[_0xde90('0x35')](_0x20b774[_0xde90('0x34')]);_0x2dcaed['filters']=_[_0xde90('0x36')](_0x2dcaed[_0xde90('0x33')],_0x2dcaed[_0xde90('0x34')]);_0x4579b7['attributes']=_[_0xde90('0x36')](_0x2dcaed[_0xde90('0x33')],qs[_0xde90('0x38')](_0x20b774[_0xde90('0x34')][_0xde90('0x38')]));_0x4579b7[_0xde90('0x37')]=_0x4579b7['attributes']['length']?_0x4579b7['attributes']:_0x2dcaed['model'];_0x4579b7['order']=qs['sort'](_0x20b774[_0xde90('0x34')][_0xde90('0x3c')]);_0x4579b7[_0xde90('0x3f')]=qs['filters'](_[_0xde90('0x3d')](_0x20b774[_0xde90('0x34')],_0x2dcaed[_0xde90('0x4a')]));if(_0x20b774[_0xde90('0x34')][_0xde90('0x3e')]){_0x4579b7[_0xde90('0x3f')]=_[_0xde90('0x40')](_0x4579b7[_0xde90('0x3f')],{'$or':_['map'](_0x4579b7[_0xde90('0x37')],function(_0x2574e9){var _0x39f8bd={};_0x39f8bd[_0x2574e9]={'$like':'%'+_0x20b774[_0xde90('0x34')][_0xde90('0x3e')]+'%'};return _0x39f8bd;})});}_0x4579b7=_[_0xde90('0x40')]({},_0x4579b7,_0x20b774[_0xde90('0x41')]);return _0x245cda['getSounds'](_0x4579b7);}})[_0xde90('0x24')](function(_0x562848){if(_0x562848){_0x28b395=_0x562848['length'];if(!_0x20b774[_0xde90('0x34')]['hasOwnProperty']('nolimit')){_0x4579b7[_0xde90('0x1d')]=qs['limit'](_0x20b774['query'][_0xde90('0x1d')]);_0x4579b7['offset']=qs[_0xde90('0x1b')](_0x20b774[_0xde90('0x34')]['offset']);}return _0x245cda[_0xde90('0x74')](_0x4579b7);}})[_0xde90('0x24')](function(_0x5ee773){if(_0x5ee773){return _0x5ee773?{'count':_0x28b395,'rows':_0x5ee773}:null;}})[_0xde90('0x24')](respondWithResult(_0x1f0c9c,null))['catch'](handleError(_0x1f0c9c,null));};