Built motion from commit (unavailable).|2.5.22
[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 _0x1b8f=['crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','get','MusicOnHolds','UserProfileResource','sendStatus','error','stack','name','send','index','map','VoiceMusicOnHold','rawAttributes','type','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','keys','find','body','params','create','transaction','mode','directory','join','root','files','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','sequelize','readdirSync','unlinkSync','Sequelize','ValidationError','addSound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','format','%s.%s','basename','extname','symlinkSync','message','removeSound','id2','getSounds','Sound','pick','nolimit','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel'];(function(_0x5c6289,_0x4a6832){var _0x33fa33=function(_0x247d05){while(--_0x247d05){_0x5c6289['push'](_0x5c6289['shift']());}};_0x33fa33(++_0x4a6832);}(_0x1b8f,0x13c));var _0xf1b8=function(_0x21aa7f,_0x4c6c75){_0x21aa7f=_0x21aa7f-0x0;var _0x54830b=_0x1b8f[_0x21aa7f];return _0x54830b;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xf1b8('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf1b8('0x1'));var rp=require(_0xf1b8('0x2'));var moment=require(_0xf1b8('0x3'));var BPromise=require(_0xf1b8('0x4'));var Mustache=require('mustache');var util=require(_0xf1b8('0x5'));var path=require(_0xf1b8('0x6'));var sox=require(_0xf1b8('0x7'));var csv=require(_0xf1b8('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf1b8('0x9'));var squel=require(_0xf1b8('0xa'));var crypto=require(_0xf1b8('0xb'));var jsforce=require(_0xf1b8('0xc'));var deskjs=require(_0xf1b8('0xd'));var toCsv=require(_0xf1b8('0x8'));var querystring=require(_0xf1b8('0xe'));var Papa=require('papaparse');var Redis=require(_0xf1b8('0xf'));var authService=require(_0xf1b8('0x10'));var qs=require(_0xf1b8('0x11'));var as=require(_0xf1b8('0x12'));var hardwareService=require(_0xf1b8('0x13'));var logger=require('../../config/logger')(_0xf1b8('0x14'));var utils=require(_0xf1b8('0x15'));var config=require(_0xf1b8('0x16'));var licenseUtil=require(_0xf1b8('0x17'));var db=require(_0xf1b8('0x18'))['db'];function respondWithStatusCode(_0x3d81f1,_0x693c41){_0x693c41=_0x693c41||0xcc;return function(_0x8327b8){if(_0x8327b8){return _0x3d81f1['sendStatus'](_0x693c41);}return _0x3d81f1['status'](_0x693c41)[_0xf1b8('0x19')]();};}function respondWithResult(_0x44e515,_0x42083d){_0x42083d=_0x42083d||0xc8;return function(_0x5c7457){if(_0x5c7457){return _0x44e515[_0xf1b8('0x1a')](_0x42083d)[_0xf1b8('0x1b')](_0x5c7457);}};}function respondWithFilteredResult(_0x3cc417,_0x5d6ada){return function(_0x3529c8){if(_0x3529c8){var _0x27f3c1=_0x3529c8[_0xf1b8('0x1c')],_0x5bdcba=_0x5d6ada[_0xf1b8('0x1d')],_0x5c56aa=_0x5d6ada['offset']+_0x5d6ada[_0xf1b8('0x1e')],_0xa99255;if(_0x5c56aa>=_0x27f3c1){_0x5c56aa=_0x27f3c1;_0xa99255=0xc8;}else{_0xa99255=0xce;}_0x3cc417[_0xf1b8('0x1a')](_0xa99255);return _0x3cc417[_0xf1b8('0x1f')](_0xf1b8('0x20'),_0x5bdcba+'-'+_0x5c56aa+'/'+_0x27f3c1)['json'](_0x3529c8);}return null;};}function patchUpdates(_0x79d601){return function(_0x39f385){try{jsonpatch[_0xf1b8('0x21')](_0x39f385,_0x79d601,!![]);}catch(_0x467795){return BPromise['reject'](_0x467795);}return _0x39f385[_0xf1b8('0x22')]();};}function saveUpdates(_0x42bda9,_0x79155){return function(_0x34b006){if(_0x34b006){return _0x34b006[_0xf1b8('0x23')](_0x42bda9)[_0xf1b8('0x24')](function(_0x1fc214){return _0x1fc214;});}return null;};}function removeEntity(_0x28e82e,_0x5f20b2){return function(_0x18f309){if(_0x18f309){return _0x18f309[_0xf1b8('0x25')]()[_0xf1b8('0x24')](function(){var _0x45fe60=_0x18f309[_0xf1b8('0x26')]({'plain':!![]});var _0x470cf9=_0xf1b8('0x27');return db[_0xf1b8('0x28')]['destroy']({'where':{'type':_0x470cf9,'resourceId':_0x45fe60['id']}})[_0xf1b8('0x24')](function(){return _0x18f309;});})[_0xf1b8('0x24')](function(){_0x28e82e['status'](0xcc)[_0xf1b8('0x19')]();});}};}function handleEntityNotFound(_0x3535c7,_0x32f127){return function(_0x2f2c9c){if(!_0x2f2c9c){_0x3535c7[_0xf1b8('0x29')](0x194);}return _0x2f2c9c;};}function handleError(_0x33080e,_0x300ed3){_0x300ed3=_0x300ed3||0x1f4;return function(_0x62ba46){logger[_0xf1b8('0x2a')](_0x62ba46[_0xf1b8('0x2b')]);if(_0x62ba46['name']){delete _0x62ba46[_0xf1b8('0x2c')];}_0x33080e[_0xf1b8('0x1a')](_0x300ed3)[_0xf1b8('0x2d')](_0x62ba46);};}exports[_0xf1b8('0x2e')]=function(_0x58fab2,_0x9902a5){var _0x454b9d={},_0x178fc4={},_0x33efe7={'count':0x0,'rows':[]};var _0x3c13d7=_[_0xf1b8('0x2f')](db[_0xf1b8('0x30')][_0xf1b8('0x31')],function(_0x293dd6){return{'name':_0x293dd6['fieldName'],'type':_0x293dd6[_0xf1b8('0x32')]['key']};});_0x178fc4[_0xf1b8('0x33')]=_['map'](_0x3c13d7,_0xf1b8('0x2c'));_0x178fc4[_0xf1b8('0x34')]=_['keys'](_0x58fab2[_0xf1b8('0x34')]);_0x178fc4[_0xf1b8('0x35')]=_[_0xf1b8('0x36')](_0x178fc4['model'],_0x178fc4[_0xf1b8('0x34')]);_0x454b9d['attributes']=_[_0xf1b8('0x36')](_0x178fc4[_0xf1b8('0x33')],qs[_0xf1b8('0x37')](_0x58fab2['query'][_0xf1b8('0x37')]));_0x454b9d[_0xf1b8('0x38')]=_0x454b9d[_0xf1b8('0x38')][_0xf1b8('0x39')]?_0x454b9d['attributes']:_0x178fc4[_0xf1b8('0x33')];if(!_0x58fab2['query'][_0xf1b8('0x3a')]('nolimit')){_0x454b9d[_0xf1b8('0x1e')]=qs[_0xf1b8('0x1e')](_0x58fab2[_0xf1b8('0x34')][_0xf1b8('0x1e')]);_0x454b9d[_0xf1b8('0x1d')]=qs[_0xf1b8('0x1d')](_0x58fab2[_0xf1b8('0x34')][_0xf1b8('0x1d')]);}_0x454b9d[_0xf1b8('0x3b')]=qs[_0xf1b8('0x3c')](_0x58fab2[_0xf1b8('0x34')][_0xf1b8('0x3c')]);_0x454b9d[_0xf1b8('0x3d')]=qs[_0xf1b8('0x35')](_['pick'](_0x58fab2['query'],_0x178fc4[_0xf1b8('0x35')]),_0x3c13d7);if(_0x58fab2[_0xf1b8('0x34')][_0xf1b8('0x3e')]){_0x454b9d[_0xf1b8('0x3d')]=_[_0xf1b8('0x3f')](_0x454b9d[_0xf1b8('0x3d')],{'$or':_[_0xf1b8('0x2f')](_0x3c13d7,function(_0x8d2e77){if(_0x8d2e77[_0xf1b8('0x32')]!==_0xf1b8('0x40')){var _0x1a4ecb={};_0x1a4ecb[_0x8d2e77[_0xf1b8('0x2c')]]={'$like':'%'+_0x58fab2[_0xf1b8('0x34')]['filter']+'%'};return _0x1a4ecb;}})});}_0x454b9d=_[_0xf1b8('0x3f')]({},_0x454b9d,_0x58fab2[_0xf1b8('0x41')]);var _0x777ae1={'where':_0x454b9d[_0xf1b8('0x3d')]};return db[_0xf1b8('0x30')][_0xf1b8('0x1c')](_0x777ae1)[_0xf1b8('0x24')](function(_0x598801){_0x33efe7[_0xf1b8('0x1c')]=_0x598801;if(_0x58fab2[_0xf1b8('0x34')][_0xf1b8('0x42')]){_0x454b9d[_0xf1b8('0x43')]=[{'all':!![]}];}return db[_0xf1b8('0x30')][_0xf1b8('0x44')](_0x454b9d);})[_0xf1b8('0x24')](function(_0x454099){_0x33efe7['rows']=_0x454099;return _0x33efe7;})[_0xf1b8('0x24')](respondWithFilteredResult(_0x9902a5,_0x454b9d))[_0xf1b8('0x45')](handleError(_0x9902a5,null));};exports[_0xf1b8('0x46')]=function(_0x597cf9,_0x222075){var _0x30444e={'raw':![],'where':{'id':_0x597cf9['params']['id']}},_0x4a04e6={};_0x4a04e6[_0xf1b8('0x33')]=_[_0xf1b8('0x47')](db['VoiceMusicOnHold'][_0xf1b8('0x31')]);_0x4a04e6['query']=_[_0xf1b8('0x47')](_0x597cf9[_0xf1b8('0x34')]);_0x4a04e6[_0xf1b8('0x35')]=_[_0xf1b8('0x36')](_0x4a04e6['model'],_0x4a04e6['query']);_0x30444e[_0xf1b8('0x38')]=_[_0xf1b8('0x36')](_0x4a04e6[_0xf1b8('0x33')],qs[_0xf1b8('0x37')](_0x597cf9[_0xf1b8('0x34')][_0xf1b8('0x37')]));_0x30444e[_0xf1b8('0x38')]=_0x30444e[_0xf1b8('0x38')][_0xf1b8('0x39')]?_0x30444e[_0xf1b8('0x38')]:_0x4a04e6[_0xf1b8('0x33')];if(_0x597cf9['query'][_0xf1b8('0x42')]){_0x30444e[_0xf1b8('0x43')]=[{'all':!![]}];}_0x30444e=_['merge']({},_0x30444e,_0x597cf9[_0xf1b8('0x41')]);return db['VoiceMusicOnHold'][_0xf1b8('0x48')](_0x30444e)[_0xf1b8('0x24')](handleEntityNotFound(_0x222075,null))['then'](respondWithResult(_0x222075,null))[_0xf1b8('0x45')](handleError(_0x222075,null));};exports['update']=function(_0x283e3f,_0x4ee9f9){if(_0x283e3f[_0xf1b8('0x49')]['id']){delete _0x283e3f[_0xf1b8('0x49')]['id'];}return db[_0xf1b8('0x30')][_0xf1b8('0x48')]({'where':{'id':_0x283e3f[_0xf1b8('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4ee9f9,null))['then'](saveUpdates(_0x283e3f['body'],null))['then'](respondWithResult(_0x4ee9f9,null))[_0xf1b8('0x45')](handleError(_0x4ee9f9,null));};exports[_0xf1b8('0x4b')]=function(_0x2bc0a9,_0x11ef87,_0x5877bc){return db['sequelize'][_0xf1b8('0x4c')](function(_0x1ea809){if(_0x2bc0a9['body'][_0xf1b8('0x4d')]==='files'){_0x2bc0a9['body'][_0xf1b8('0x4e')]=path[_0xf1b8('0x4f')](config[_0xf1b8('0x50')],'server/files/moh',_0x2bc0a9[_0xf1b8('0x49')][_0xf1b8('0x2c')]);}return db[_0xf1b8('0x30')]['create'](_0x2bc0a9[_0xf1b8('0x49')],{'transaction':_0x1ea809})[_0xf1b8('0x24')](function(_0x389c21){if(_0x2bc0a9[_0xf1b8('0x49')][_0xf1b8('0x4d')]===_0xf1b8('0x51')){fs['mkdirSync'](_0x389c21[_0xf1b8('0x4e')],parseInt(_0xf1b8('0x52'),0x8));}var _0x4bd7db=_0x2bc0a9[_0xf1b8('0x53')][_0xf1b8('0x26')]({'plain':!![]});if(!_0x4bd7db)throw new Error(_0xf1b8('0x54'));if(_0x4bd7db['role']==='user'){var _0x3911e7=_0x389c21[_0xf1b8('0x26')]({'plain':!![]});return db['UserProfileSection'][_0xf1b8('0x48')]({'where':{'name':'MusicOnHolds','userProfileId':_0x4bd7db['userProfileId']},'raw':!![]})[_0xf1b8('0x24')](function(_0x140add){if(_0x140add&&_0x140add['autoAssociation']===0x0){return db['UserProfileResource'][_0xf1b8('0x4b')]({'name':_0x3911e7[_0xf1b8('0x2c')],'resourceId':_0x3911e7['id'],'type':_0x140add[_0xf1b8('0x2c')],'sectionId':_0x140add['id']},{})[_0xf1b8('0x24')](function(){return _0x389c21;});}else{return _0x389c21;}})[_0xf1b8('0x45')](function(_0x49f998){logger[_0xf1b8('0x2a')](_0xf1b8('0x55'),_0x49f998);});}return _0x389c21;});})[_0xf1b8('0x24')](respondWithResult(_0x11ef87,0xc9))[_0xf1b8('0x45')](handleError(_0x11ef87,null));};exports[_0xf1b8('0x25')]=function(_0xcd4cb0,_0x5480e4,_0x2693e8){var _0x19f0cc;return db[_0xf1b8('0x30')][_0xf1b8('0x48')]({'where':{'id':_0xcd4cb0[_0xf1b8('0x4a')]['id']}})[_0xf1b8('0x24')](function(_0x23ac59){if(_0x23ac59){return db[_0xf1b8('0x56')][_0xf1b8('0x4c')](function(_0x5c1e16){return _0x23ac59[_0xf1b8('0x25')]({'transaction':_0x5c1e16,'raw':!![]})[_0xf1b8('0x24')](function(_0x29cd04){if(_0x29cd04[_0xf1b8('0x4e')]){fs[_0xf1b8('0x57')](_0x29cd04['directory'])['forEach'](function(_0x478f15){fs[_0xf1b8('0x58')](path['join'](_0x29cd04[_0xf1b8('0x4e')],_0x478f15));});fs['rmdirSync'](_0x29cd04[_0xf1b8('0x4e')]);}return _0x29cd04;});})['catch'](function(_0x3e18eb){throw new db[(_0xf1b8('0x59'))][(_0xf1b8('0x5a'))](_0x3e18eb['message']);});}})[_0xf1b8('0x24')](handleEntityNotFound(_0x5480e4,null))['then'](removeEntity(_0x5480e4,null))['catch'](handleError(_0x5480e4,null));};exports[_0xf1b8('0x5b')]=function(_0x2b49d0,_0x55bda0,_0x476e74){return db[_0xf1b8('0x56')][_0xf1b8('0x4c')](function(_0x1936d0){var _0x1ac508;return db['VoiceMusicOnHold']['find']({'where':{'id':_0x2b49d0['params']['id']}})[_0xf1b8('0x24')](function(_0x5027f0){if(_0x5027f0){_0x1ac508=_0x5027f0;return _0x5027f0['addSound'](_0x2b49d0[_0xf1b8('0x49')]['id'],{'transaction':_0x1936d0});}})[_0xf1b8('0x24')](function(_0x2385a8){if(_0x2385a8){return db['Sound'][_0xf1b8('0x5c')]({'where':{'id':_0x2b49d0[_0xf1b8('0x49')]['id']},'attributes':['id',_0xf1b8('0x2c'),_0xf1b8('0x5d'),_0xf1b8('0x5e'),_0xf1b8('0x5f')],'raw':!![]});}})[_0xf1b8('0x24')](function(_0x2ac06c){if(_0x2ac06c){var _0x2485b2=path[_0xf1b8('0x4f')](config[_0xf1b8('0x50')],_0xf1b8('0x60'),util[_0xf1b8('0x61')](_0xf1b8('0x62'),path[_0xf1b8('0x63')](_0x2ac06c[_0xf1b8('0x5d')],path[_0xf1b8('0x64')](_0x2ac06c[_0xf1b8('0x5d')])),_0x2ac06c['converted_format']));var _0x1df0e5=path[_0xf1b8('0x4f')](config[_0xf1b8('0x50')],'server/files/moh',_0x1ac508[_0xf1b8('0x2c')],util[_0xf1b8('0x61')]('%s.%s',_0x2ac06c[_0xf1b8('0x2c')],_0x2ac06c[_0xf1b8('0x5e')]));fs[_0xf1b8('0x65')](_0x2485b2,_0x1df0e5);return _0x2ac06c;}})[_0xf1b8('0x45')](function(_0x38bc40){throw new db[(_0xf1b8('0x59'))][(_0xf1b8('0x5a'))](_0x38bc40[_0xf1b8('0x66')]);});})['then'](handleEntityNotFound(_0x55bda0,null))[_0xf1b8('0x24')](respondWithResult(_0x55bda0,0xc9))[_0xf1b8('0x45')](handleError(_0x55bda0,null));};exports[_0xf1b8('0x67')]=function(_0x1dbf86,_0x5b1b47,_0x3c9b83){return db[_0xf1b8('0x56')][_0xf1b8('0x4c')](function(_0x1aea6d){var _0x3bf074;return db[_0xf1b8('0x30')][_0xf1b8('0x5c')]({'where':{'id':_0x1dbf86[_0xf1b8('0x4a')]['id']}})[_0xf1b8('0x24')](handleEntityNotFound(_0x5b1b47,null))['then'](function(_0x2ec379){if(_0x2ec379){_0x3bf074=_0x2ec379;return _0x2ec379['removeSound'](_0x1dbf86[_0xf1b8('0x4a')][_0xf1b8('0x68')]);}})[_0xf1b8('0x24')](function(_0xe3db28){if(_0xe3db28){return db['Sound'][_0xf1b8('0x5c')]({'where':{'id':_0x1dbf86[_0xf1b8('0x4a')]['id2']},'attributes':['id',_0xf1b8('0x2c'),_0xf1b8('0x5d'),_0xf1b8('0x5e'),'createdAt'],'raw':!![]});}})[_0xf1b8('0x24')](function(_0x8a715){if(_0x8a715){fs[_0xf1b8('0x58')](path['join'](_0x3bf074[_0xf1b8('0x4e')],util[_0xf1b8('0x61')](_0xf1b8('0x62'),_0x8a715['name'],_0x8a715[_0xf1b8('0x5e')])));return _0x8a715;}})['catch'](function(_0x4467f6){throw new db[(_0xf1b8('0x59'))][(_0xf1b8('0x5a'))](_0x4467f6[_0xf1b8('0x66')]);});})[_0xf1b8('0x24')](handleEntityNotFound(_0x5b1b47,null))[_0xf1b8('0x24')](respondWithStatusCode(_0x5b1b47,0xcc))[_0xf1b8('0x45')](handleError(_0x5b1b47,null));};exports[_0xf1b8('0x69')]=function(_0x4f1ebc,_0x41d55d,_0x32f0d6){var _0x4a3366={};var _0x373047={};var _0x26b371;var _0x22f360;return db[_0xf1b8('0x30')][_0xf1b8('0x5c')]({'where':{'id':_0x4f1ebc[_0xf1b8('0x4a')]['id']}})['then'](handleEntityNotFound(_0x41d55d,null))[_0xf1b8('0x24')](function(_0x53d748){if(_0x53d748){_0x26b371=_0x53d748;_0x373047[_0xf1b8('0x33')]=_[_0xf1b8('0x47')](db[_0xf1b8('0x6a')][_0xf1b8('0x31')]);_0x373047['query']=_[_0xf1b8('0x47')](_0x4f1ebc['query']);_0x373047[_0xf1b8('0x35')]=_[_0xf1b8('0x36')](_0x373047['model'],_0x373047['query']);_0x4a3366['attributes']=_[_0xf1b8('0x36')](_0x373047[_0xf1b8('0x33')],qs['fields'](_0x4f1ebc[_0xf1b8('0x34')][_0xf1b8('0x37')]));_0x4a3366['attributes']=_0x4a3366[_0xf1b8('0x38')][_0xf1b8('0x39')]?_0x4a3366[_0xf1b8('0x38')]:_0x373047[_0xf1b8('0x33')];_0x4a3366['order']=qs[_0xf1b8('0x3c')](_0x4f1ebc['query'][_0xf1b8('0x3c')]);_0x4a3366[_0xf1b8('0x3d')]=qs[_0xf1b8('0x35')](_[_0xf1b8('0x6b')](_0x4f1ebc[_0xf1b8('0x34')],_0x373047[_0xf1b8('0x35')]));if(_0x4f1ebc['query'][_0xf1b8('0x3e')]){_0x4a3366[_0xf1b8('0x3d')]=_['merge'](_0x4a3366['where'],{'$or':_['map'](_0x4a3366[_0xf1b8('0x38')],function(_0x4b695f){var _0x301574={};_0x301574[_0x4b695f]={'$like':'%'+_0x4f1ebc[_0xf1b8('0x34')][_0xf1b8('0x3e')]+'%'};return _0x301574;})});}_0x4a3366=_[_0xf1b8('0x3f')]({},_0x4a3366,_0x4f1ebc[_0xf1b8('0x41')]);return _0x26b371[_0xf1b8('0x69')](_0x4a3366);}})[_0xf1b8('0x24')](function(_0x2c6b69){if(_0x2c6b69){_0x22f360=_0x2c6b69[_0xf1b8('0x39')];if(!_0x4f1ebc['query'][_0xf1b8('0x3a')](_0xf1b8('0x6c'))){_0x4a3366[_0xf1b8('0x1e')]=qs['limit'](_0x4f1ebc[_0xf1b8('0x34')]['limit']);_0x4a3366[_0xf1b8('0x1d')]=qs['offset'](_0x4f1ebc[_0xf1b8('0x34')][_0xf1b8('0x1d')]);}return _0x26b371[_0xf1b8('0x69')](_0x4a3366);}})[_0xf1b8('0x24')](function(_0x367240){if(_0x367240){return _0x367240?{'count':_0x22f360,'rows':_0x367240}:null;}})[_0xf1b8('0x24')](respondWithResult(_0x41d55d,null))[_0xf1b8('0x45')](handleError(_0x41d55d,null));};