Built motion from commit 87cd5f02.|2.5.48
[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 _0xd8ee=['status','end','json','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','error','name','index','map','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','offset','order','sort','where','filter','merge','type','options','VoiceMusicOnHold','rows','show','params','includeAll','include','catch','body','find','create','sequelize','mode','files','directory','join','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MusicOnHolds','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','transaction','readdirSync','forEach','unlinkSync','Sequelize','ValidationError','message','addSound','Sound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','%s.%s','basename','extname','root','symlinkSync','removeSound','id2','format','getSounds','pick','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x182c90,_0x17163e){var _0x250725=function(_0x1e592c){while(--_0x1e592c){_0x182c90['push'](_0x182c90['shift']());}};_0x250725(++_0x17163e);}(_0xd8ee,0xc4));var _0xed8e=function(_0x26ef14,_0x54606f){_0x26ef14=_0x26ef14-0x0;var _0x209847=_0xd8ee[_0x26ef14];return _0x209847;};'use strict';var emlformat=require(_0xed8e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xed8e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xed8e('0x2'));var moment=require(_0xed8e('0x3'));var BPromise=require(_0xed8e('0x4'));var Mustache=require(_0xed8e('0x5'));var util=require(_0xed8e('0x6'));var path=require(_0xed8e('0x7'));var sox=require(_0xed8e('0x8'));var csv=require(_0xed8e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xed8e('0xa'));var crypto=require(_0xed8e('0xb'));var jsforce=require(_0xed8e('0xc'));var deskjs=require(_0xed8e('0xd'));var toCsv=require(_0xed8e('0x9'));var querystring=require(_0xed8e('0xe'));var Papa=require(_0xed8e('0xf'));var Redis=require(_0xed8e('0x10'));var authService=require(_0xed8e('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xed8e('0x12'));var hardwareService=require(_0xed8e('0x13'));var logger=require('../../config/logger')(_0xed8e('0x14'));var utils=require(_0xed8e('0x15'));var config=require(_0xed8e('0x16'));var licenseUtil=require(_0xed8e('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x463616,_0x87294f){_0x87294f=_0x87294f||0xcc;return function(_0x5aaba1){if(_0x5aaba1){return _0x463616['sendStatus'](_0x87294f);}return _0x463616[_0xed8e('0x18')](_0x87294f)[_0xed8e('0x19')]();};}function respondWithResult(_0x12ded9,_0x20bde9){_0x20bde9=_0x20bde9||0xc8;return function(_0x1b39e7){if(_0x1b39e7){return _0x12ded9[_0xed8e('0x18')](_0x20bde9)[_0xed8e('0x1a')](_0x1b39e7);}};}function respondWithFilteredResult(_0x305dfd,_0xccd30f){return function(_0x4ba7f7){if(_0x4ba7f7){var _0x39cb2a=typeof _0xccd30f['offset']===_0xed8e('0x1b')&&typeof _0xccd30f[_0xed8e('0x1c')]==='undefined';var _0x38126e=_0x4ba7f7[_0xed8e('0x1d')];var _0x48b13f=_0x39cb2a?0x0:_0xccd30f['offset'];var _0x4a1d13=_0x39cb2a?_0x4ba7f7[_0xed8e('0x1d')]:_0xccd30f['offset']+_0xccd30f['limit'];var _0x358513;if(_0x4a1d13>=_0x38126e){_0x4a1d13=_0x38126e;_0x358513=0xc8;}else{_0x358513=0xce;}_0x305dfd[_0xed8e('0x18')](_0x358513);return _0x305dfd[_0xed8e('0x1e')](_0xed8e('0x1f'),_0x48b13f+'-'+_0x4a1d13+'/'+_0x38126e)[_0xed8e('0x1a')](_0x4ba7f7);}return null;};}function patchUpdates(_0x5b2495){return function(_0x3cf6b0){try{jsonpatch[_0xed8e('0x20')](_0x3cf6b0,_0x5b2495,!![]);}catch(_0x54d786){return BPromise[_0xed8e('0x21')](_0x54d786);}return _0x3cf6b0[_0xed8e('0x22')]();};}function saveUpdates(_0x1a8d3d,_0x1b59b1){return function(_0x13a906){if(_0x13a906){return _0x13a906[_0xed8e('0x23')](_0x1a8d3d)[_0xed8e('0x24')](function(_0x5563a6){return _0x5563a6;});}return null;};}function removeEntity(_0x355ade,_0xa8346){return function(_0x23dc6b){if(_0x23dc6b){return _0x23dc6b[_0xed8e('0x25')]()['then'](function(){var _0x153572=_0x23dc6b[_0xed8e('0x26')]({'plain':!![]});var _0x310e7a='MusicOnHolds';return db[_0xed8e('0x27')][_0xed8e('0x25')]({'where':{'type':_0x310e7a,'resourceId':_0x153572['id']}})[_0xed8e('0x24')](function(){return _0x23dc6b;});})['then'](function(){_0x355ade[_0xed8e('0x18')](0xcc)[_0xed8e('0x19')]();});}};}function handleEntityNotFound(_0x2e82d1,_0x3db4e0){return function(_0x1dace0){if(!_0x1dace0){_0x2e82d1['sendStatus'](0x194);}return _0x1dace0;};}function handleError(_0x2a153e,_0x5959d4){_0x5959d4=_0x5959d4||0x1f4;return function(_0x43d4cf){logger[_0xed8e('0x28')](_0x43d4cf['stack']);if(_0x43d4cf[_0xed8e('0x29')]){delete _0x43d4cf[_0xed8e('0x29')];}_0x2a153e[_0xed8e('0x18')](_0x5959d4)['send'](_0x43d4cf);};}exports[_0xed8e('0x2a')]=function(_0x2dbfa9,_0x3af8cb){var _0x550115={},_0x553e27={},_0x579368={'count':0x0,'rows':[]};var _0x2362b1=_[_0xed8e('0x2b')](db['VoiceMusicOnHold']['rawAttributes'],function(_0x420c5c){return{'name':_0x420c5c['fieldName'],'type':_0x420c5c['type'][_0xed8e('0x2c')]};});_0x553e27[_0xed8e('0x2d')]=_[_0xed8e('0x2b')](_0x2362b1,_0xed8e('0x29'));_0x553e27[_0xed8e('0x2e')]=_[_0xed8e('0x2f')](_0x2dbfa9[_0xed8e('0x2e')]);_0x553e27[_0xed8e('0x30')]=_['intersection'](_0x553e27[_0xed8e('0x2d')],_0x553e27['query']);_0x550115[_0xed8e('0x31')]=_[_0xed8e('0x32')](_0x553e27[_0xed8e('0x2d')],qs[_0xed8e('0x33')](_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x33')]));_0x550115['attributes']=_0x550115['attributes'][_0xed8e('0x34')]?_0x550115[_0xed8e('0x31')]:_0x553e27[_0xed8e('0x2d')];if(!_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x35')]('nolimit')){_0x550115[_0xed8e('0x1c')]=qs[_0xed8e('0x1c')](_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x1c')]);_0x550115[_0xed8e('0x36')]=qs[_0xed8e('0x36')](_0x2dbfa9['query']['offset']);}_0x550115[_0xed8e('0x37')]=qs[_0xed8e('0x38')](_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x38')]);delete _0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x38')];_0x550115[_0xed8e('0x39')]=qs[_0xed8e('0x30')](_['pick'](_0x2dbfa9['query'],_0x553e27['filters']),_0x2362b1);if(_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x3a')]){_0x550115['where']=_[_0xed8e('0x3b')](_0x550115['where'],{'$or':_[_0xed8e('0x2b')](_0x2362b1,function(_0x187a17){if(_0x187a17[_0xed8e('0x3c')]!=='VIRTUAL'){var _0x46f8e9={};_0x46f8e9[_0x187a17['name']]={'$like':'%'+_0x2dbfa9[_0xed8e('0x2e')][_0xed8e('0x3a')]+'%'};return _0x46f8e9;}})});}_0x550115=_[_0xed8e('0x3b')]({},_0x550115,_0x2dbfa9[_0xed8e('0x3d')]);var _0xd5bef1={'where':_0x550115['where']};return db[_0xed8e('0x3e')][_0xed8e('0x1d')](_0xd5bef1)[_0xed8e('0x24')](function(_0xf3ae02){_0x579368['count']=_0xf3ae02;if(_0x2dbfa9[_0xed8e('0x2e')]['includeAll']){_0x550115['include']=[{'all':!![]}];}return db[_0xed8e('0x3e')]['findAll'](_0x550115);})['then'](function(_0x3c3f4d){_0x579368[_0xed8e('0x3f')]=_0x3c3f4d;return _0x579368;})['then'](respondWithFilteredResult(_0x3af8cb,_0x550115))['catch'](handleError(_0x3af8cb,null));};exports[_0xed8e('0x40')]=function(_0x4df57b,_0x469406){var _0x1d4d54={'raw':![],'where':{'id':_0x4df57b[_0xed8e('0x41')]['id']}},_0x425e66={};_0x425e66[_0xed8e('0x2d')]=_[_0xed8e('0x2f')](db[_0xed8e('0x3e')]['rawAttributes']);_0x425e66[_0xed8e('0x2e')]=_[_0xed8e('0x2f')](_0x4df57b[_0xed8e('0x2e')]);_0x425e66[_0xed8e('0x30')]=_[_0xed8e('0x32')](_0x425e66[_0xed8e('0x2d')],_0x425e66[_0xed8e('0x2e')]);_0x1d4d54['attributes']=_[_0xed8e('0x32')](_0x425e66[_0xed8e('0x2d')],qs['fields'](_0x4df57b[_0xed8e('0x2e')][_0xed8e('0x33')]));_0x1d4d54[_0xed8e('0x31')]=_0x1d4d54['attributes'][_0xed8e('0x34')]?_0x1d4d54[_0xed8e('0x31')]:_0x425e66[_0xed8e('0x2d')];if(_0x4df57b['query'][_0xed8e('0x42')]){_0x1d4d54[_0xed8e('0x43')]=[{'all':!![]}];}_0x1d4d54=_[_0xed8e('0x3b')]({},_0x1d4d54,_0x4df57b[_0xed8e('0x3d')]);return db[_0xed8e('0x3e')]['find'](_0x1d4d54)['then'](handleEntityNotFound(_0x469406,null))[_0xed8e('0x24')](respondWithResult(_0x469406,null))[_0xed8e('0x44')](handleError(_0x469406,null));};exports['update']=function(_0x511d7d,_0x2869e9){if(_0x511d7d[_0xed8e('0x45')]['id']){delete _0x511d7d[_0xed8e('0x45')]['id'];}return db['VoiceMusicOnHold'][_0xed8e('0x46')]({'where':{'id':_0x511d7d[_0xed8e('0x41')]['id']}})[_0xed8e('0x24')](handleEntityNotFound(_0x2869e9,null))[_0xed8e('0x24')](saveUpdates(_0x511d7d['body'],null))[_0xed8e('0x24')](respondWithResult(_0x2869e9,null))['catch'](handleError(_0x2869e9,null));};exports[_0xed8e('0x47')]=function(_0x35e28d,_0x406df6,_0x3a0291){return db[_0xed8e('0x48')]['transaction'](function(_0x2a410b){if(_0x35e28d[_0xed8e('0x45')][_0xed8e('0x49')]===_0xed8e('0x4a')){_0x35e28d['body'][_0xed8e('0x4b')]=path[_0xed8e('0x4c')](config['root'],'server/files/moh',_0x35e28d['body'][_0xed8e('0x29')]);}return db['VoiceMusicOnHold'][_0xed8e('0x47')](_0x35e28d['body'],{'transaction':_0x2a410b})['then'](function(_0x26a577){if(_0x35e28d['body']['mode']==='files'){fs['mkdirSync'](_0x26a577[_0xed8e('0x4b')],parseInt(_0xed8e('0x4d'),0x8));}var _0x1e8e2d=_0x35e28d[_0xed8e('0x4e')]['get']({'plain':!![]});if(!_0x1e8e2d)throw new Error(_0xed8e('0x4f'));if(_0x1e8e2d[_0xed8e('0x50')]===_0xed8e('0x4e')){var _0x1214c1=_0x26a577[_0xed8e('0x26')]({'plain':!![]});return db[_0xed8e('0x51')]['find']({'where':{'name':_0xed8e('0x52'),'userProfileId':_0x1e8e2d[_0xed8e('0x53')]},'raw':!![]})[_0xed8e('0x24')](function(_0x55bc25){if(_0x55bc25&&_0x55bc25[_0xed8e('0x54')]===0x0){return db[_0xed8e('0x27')][_0xed8e('0x47')]({'name':_0x1214c1[_0xed8e('0x29')],'resourceId':_0x1214c1['id'],'type':_0x55bc25[_0xed8e('0x29')],'sectionId':_0x55bc25['id']},{})[_0xed8e('0x24')](function(){return _0x26a577;});}else{return _0x26a577;}})[_0xed8e('0x44')](function(_0x50f9c5){logger['error'](_0xed8e('0x55'),_0x50f9c5);});}return _0x26a577;});})[_0xed8e('0x24')](respondWithResult(_0x406df6,0xc9))[_0xed8e('0x44')](handleError(_0x406df6,null));};exports[_0xed8e('0x25')]=function(_0x374d6f,_0x4b4044,_0x1bbc97){var _0x2d44d6;return db['VoiceMusicOnHold']['find']({'where':{'id':_0x374d6f[_0xed8e('0x41')]['id']}})['then'](function(_0x72dd82){if(_0x72dd82){return db[_0xed8e('0x48')][_0xed8e('0x56')](function(_0xcda034){return _0x72dd82[_0xed8e('0x25')]({'transaction':_0xcda034,'raw':!![]})['then'](function(_0x5763f4){if(_0x5763f4[_0xed8e('0x4b')]){fs[_0xed8e('0x57')](_0x5763f4[_0xed8e('0x4b')])[_0xed8e('0x58')](function(_0x322508){fs[_0xed8e('0x59')](path[_0xed8e('0x4c')](_0x5763f4[_0xed8e('0x4b')],_0x322508));});fs['rmdirSync'](_0x5763f4['directory']);}return _0x5763f4;});})['catch'](function(_0x4034b2){throw new db[(_0xed8e('0x5a'))][(_0xed8e('0x5b'))](_0x4034b2[_0xed8e('0x5c')]);});}})['then'](handleEntityNotFound(_0x4b4044,null))[_0xed8e('0x24')](removeEntity(_0x4b4044,null))[_0xed8e('0x44')](handleError(_0x4b4044,null));};exports[_0xed8e('0x5d')]=function(_0x25ac0a,_0x32de37,_0x452e60){return db['sequelize'][_0xed8e('0x56')](function(_0x3795d0){var _0x2bd399;return db[_0xed8e('0x3e')]['find']({'where':{'id':_0x25ac0a[_0xed8e('0x41')]['id']}})[_0xed8e('0x24')](function(_0x35a00e){if(_0x35a00e){_0x2bd399=_0x35a00e;return _0x35a00e[_0xed8e('0x5d')](_0x25ac0a['body']['id'],{'transaction':_0x3795d0});}})[_0xed8e('0x24')](function(_0x50109e){if(_0x50109e){return db[_0xed8e('0x5e')][_0xed8e('0x5f')]({'where':{'id':_0x25ac0a[_0xed8e('0x45')]['id']},'attributes':['id',_0xed8e('0x29'),_0xed8e('0x60'),_0xed8e('0x61'),_0xed8e('0x62')],'raw':!![]});}})[_0xed8e('0x24')](function(_0x371874){if(_0x371874){var _0x449359=path[_0xed8e('0x4c')](config['root'],_0xed8e('0x63'),util['format'](_0xed8e('0x64'),path[_0xed8e('0x65')](_0x371874[_0xed8e('0x60')],path[_0xed8e('0x66')](_0x371874['save_name'])),_0x371874[_0xed8e('0x61')]));var _0x2680d0=path['join'](config[_0xed8e('0x67')],'server/files/moh',_0x2bd399[_0xed8e('0x29')],util['format'](_0xed8e('0x64'),_0x371874[_0xed8e('0x29')],_0x371874[_0xed8e('0x61')]));fs[_0xed8e('0x68')](_0x449359,_0x2680d0);return _0x371874;}})[_0xed8e('0x44')](function(_0x12ecb3){throw new db[(_0xed8e('0x5a'))][(_0xed8e('0x5b'))](_0x12ecb3[_0xed8e('0x5c')]);});})[_0xed8e('0x24')](handleEntityNotFound(_0x32de37,null))[_0xed8e('0x24')](respondWithResult(_0x32de37,0xc9))[_0xed8e('0x44')](handleError(_0x32de37,null));};exports[_0xed8e('0x69')]=function(_0x5d6f26,_0x861a5d,_0x575762){return db['sequelize'][_0xed8e('0x56')](function(_0x1bfa44){var _0xbdcc49;return db[_0xed8e('0x3e')]['findOne']({'where':{'id':_0x5d6f26[_0xed8e('0x41')]['id']}})['then'](handleEntityNotFound(_0x861a5d,null))['then'](function(_0x15585e){if(_0x15585e){_0xbdcc49=_0x15585e;return _0x15585e[_0xed8e('0x69')](_0x5d6f26[_0xed8e('0x41')]['id2']);}})[_0xed8e('0x24')](function(_0x20b6d6){if(_0x20b6d6){return db[_0xed8e('0x5e')][_0xed8e('0x5f')]({'where':{'id':_0x5d6f26['params'][_0xed8e('0x6a')]},'attributes':['id','name','save_name',_0xed8e('0x61'),_0xed8e('0x62')],'raw':!![]});}})[_0xed8e('0x24')](function(_0x2ea1dd){if(_0x2ea1dd){fs[_0xed8e('0x59')](path[_0xed8e('0x4c')](_0xbdcc49['directory'],util[_0xed8e('0x6b')](_0xed8e('0x64'),_0x2ea1dd['name'],_0x2ea1dd[_0xed8e('0x61')])));return _0x2ea1dd;}})[_0xed8e('0x44')](function(_0x4433b7){throw new db[(_0xed8e('0x5a'))][(_0xed8e('0x5b'))](_0x4433b7[_0xed8e('0x5c')]);});})[_0xed8e('0x24')](handleEntityNotFound(_0x861a5d,null))[_0xed8e('0x24')](respondWithStatusCode(_0x861a5d,0xcc))[_0xed8e('0x44')](handleError(_0x861a5d,null));};exports[_0xed8e('0x6c')]=function(_0x1763af,_0x536a0f,_0x146fd0){var _0x14f265={};var _0x4df2c7={};var _0x4074e;var _0x345e55;return db[_0xed8e('0x3e')][_0xed8e('0x5f')]({'where':{'id':_0x1763af[_0xed8e('0x41')]['id']}})['then'](handleEntityNotFound(_0x536a0f,null))['then'](function(_0x3a9880){if(_0x3a9880){_0x4074e=_0x3a9880;_0x4df2c7[_0xed8e('0x2d')]=_['keys'](db[_0xed8e('0x5e')]['rawAttributes']);_0x4df2c7[_0xed8e('0x2e')]=_['keys'](_0x1763af['query']);_0x4df2c7['filters']=_[_0xed8e('0x32')](_0x4df2c7[_0xed8e('0x2d')],_0x4df2c7[_0xed8e('0x2e')]);_0x14f265[_0xed8e('0x31')]=_[_0xed8e('0x32')](_0x4df2c7[_0xed8e('0x2d')],qs[_0xed8e('0x33')](_0x1763af[_0xed8e('0x2e')][_0xed8e('0x33')]));_0x14f265['attributes']=_0x14f265[_0xed8e('0x31')]['length']?_0x14f265[_0xed8e('0x31')]:_0x4df2c7[_0xed8e('0x2d')];_0x14f265[_0xed8e('0x37')]=qs['sort'](_0x1763af[_0xed8e('0x2e')][_0xed8e('0x38')]);_0x14f265[_0xed8e('0x39')]=qs[_0xed8e('0x30')](_[_0xed8e('0x6d')](_0x1763af[_0xed8e('0x2e')],_0x4df2c7[_0xed8e('0x30')]));if(_0x1763af[_0xed8e('0x2e')][_0xed8e('0x3a')]){_0x14f265[_0xed8e('0x39')]=_['merge'](_0x14f265[_0xed8e('0x39')],{'$or':_[_0xed8e('0x2b')](_0x14f265[_0xed8e('0x31')],function(_0x4b06a5){var _0x275f31={};_0x275f31[_0x4b06a5]={'$like':'%'+_0x1763af[_0xed8e('0x2e')][_0xed8e('0x3a')]+'%'};return _0x275f31;})});}_0x14f265=_[_0xed8e('0x3b')]({},_0x14f265,_0x1763af[_0xed8e('0x3d')]);return _0x4074e['getSounds'](_0x14f265);}})['then'](function(_0x31e2a7){if(_0x31e2a7){_0x345e55=_0x31e2a7['length'];if(!_0x1763af[_0xed8e('0x2e')][_0xed8e('0x35')]('nolimit')){_0x14f265[_0xed8e('0x1c')]=qs['limit'](_0x1763af['query']['limit']);_0x14f265[_0xed8e('0x36')]=qs['offset'](_0x1763af['query']['offset']);}return _0x4074e['getSounds'](_0x14f265);}})['then'](function(_0x217e8b){if(_0x217e8b){return _0x217e8b?{'count':_0x345e55,'rows':_0x217e8b}:null;}})[_0xed8e('0x24')](respondWithResult(_0x536a0f,null))[_0xed8e('0x44')](handleError(_0x536a0f,null));};