Built motion from commit d1eab355.|2.6.28
[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 _0x65ba=['catch','show','params','VoiceMusicOnHold','body','find','create','sequelize','transaction','mode','join','root','files','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','directory','readdirSync','unlinkSync','rmdirSync','Sequelize','ValidationError','addSound','Sound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','format','%s.%s','symlinkSync','message','removeSound','id2','getSounds','hasOwnProperty','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','get','MusicOnHolds','UserProfileResource','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll'];(function(_0x420f95,_0xd25313){var _0x140ef6=function(_0x1a860e){while(--_0x1a860e){_0x420f95['push'](_0x420f95['shift']());}};_0x140ef6(++_0xd25313);}(_0x65ba,0x1f3));var _0xa65b=function(_0x5f46ee,_0x550dbb){_0x5f46ee=_0x5f46ee-0x0;var _0x5f3804=_0x65ba[_0x5f46ee];return _0x5f3804;};'use strict';var emlformat=require(_0xa65b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa65b('0x1'));var jsonpatch=require(_0xa65b('0x2'));var rp=require(_0xa65b('0x3'));var moment=require(_0xa65b('0x4'));var BPromise=require(_0xa65b('0x5'));var Mustache=require(_0xa65b('0x6'));var util=require(_0xa65b('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xa65b('0x8'));var ejs=require(_0xa65b('0x9'));var fs=require('fs');var fs_extra=require(_0xa65b('0xa'));var _=require(_0xa65b('0xb'));var squel=require('squel');var crypto=require(_0xa65b('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xa65b('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xa65b('0xe'));var Redis=require(_0xa65b('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xa65b('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa65b('0x11'));var logger=require(_0xa65b('0x12'))(_0xa65b('0x13'));var utils=require(_0xa65b('0x14'));var config=require(_0xa65b('0x15'));var licenseUtil=require(_0xa65b('0x16'));var db=require(_0xa65b('0x17'))['db'];function respondWithStatusCode(_0x515d18,_0x59f564){_0x59f564=_0x59f564||0xcc;return function(_0xb6de8a){if(_0xb6de8a){return _0x515d18[_0xa65b('0x18')](_0x59f564);}return _0x515d18[_0xa65b('0x19')](_0x59f564)['end']();};}function respondWithResult(_0x4bbb06,_0x507f80){_0x507f80=_0x507f80||0xc8;return function(_0x27aee5){if(_0x27aee5){return _0x4bbb06[_0xa65b('0x19')](_0x507f80)[_0xa65b('0x1a')](_0x27aee5);}};}function respondWithFilteredResult(_0x30656a,_0x5d52fd){return function(_0x4bc95e){if(_0x4bc95e){var _0xc71776=typeof _0x5d52fd[_0xa65b('0x1b')]===_0xa65b('0x1c')&&typeof _0x5d52fd[_0xa65b('0x1d')]===_0xa65b('0x1c');var _0x4d5a43=_0x4bc95e[_0xa65b('0x1e')];var _0x5ca9dd=_0xc71776?0x0:_0x5d52fd[_0xa65b('0x1b')];var _0x117b20=_0xc71776?_0x4bc95e[_0xa65b('0x1e')]:_0x5d52fd['offset']+_0x5d52fd['limit'];var _0x26904e;if(_0x117b20>=_0x4d5a43){_0x117b20=_0x4d5a43;_0x26904e=0xc8;}else{_0x26904e=0xce;}_0x30656a[_0xa65b('0x19')](_0x26904e);return _0x30656a[_0xa65b('0x1f')](_0xa65b('0x20'),_0x5ca9dd+'-'+_0x117b20+'/'+_0x4d5a43)['json'](_0x4bc95e);}return null;};}function patchUpdates(_0x1381f7){return function(_0x44dcca){try{jsonpatch[_0xa65b('0x21')](_0x44dcca,_0x1381f7,!![]);}catch(_0x5b2502){return BPromise[_0xa65b('0x22')](_0x5b2502);}return _0x44dcca[_0xa65b('0x23')]();};}function saveUpdates(_0x56d2bc,_0x6f900a){return function(_0x34fdd1){if(_0x34fdd1){return _0x34fdd1['update'](_0x56d2bc)[_0xa65b('0x24')](function(_0x19872a){return _0x19872a;});}return null;};}function removeEntity(_0x613795,_0x13097f){return function(_0x70d1bb){if(_0x70d1bb){return _0x70d1bb[_0xa65b('0x25')]()['then'](function(){var _0x2add4f=_0x70d1bb[_0xa65b('0x26')]({'plain':!![]});var _0x4a50d4=_0xa65b('0x27');return db[_0xa65b('0x28')][_0xa65b('0x25')]({'where':{'type':_0x4a50d4,'resourceId':_0x2add4f['id']}})['then'](function(){return _0x70d1bb;});})['then'](function(){_0x613795[_0xa65b('0x19')](0xcc)[_0xa65b('0x29')]();});}};}function handleEntityNotFound(_0x2cbe6a,_0x24025b){return function(_0x46b938){if(!_0x46b938){_0x2cbe6a['sendStatus'](0x194);}return _0x46b938;};}function handleError(_0x38ca7d,_0x44af04){_0x44af04=_0x44af04||0x1f4;return function(_0x5c1fb8){logger[_0xa65b('0x2a')](_0x5c1fb8[_0xa65b('0x2b')]);if(_0x5c1fb8[_0xa65b('0x2c')]){delete _0x5c1fb8['name'];}_0x38ca7d[_0xa65b('0x19')](_0x44af04)[_0xa65b('0x2d')](_0x5c1fb8);};}exports[_0xa65b('0x2e')]=function(_0x43a959,_0x59920c){var _0x1e4b68={},_0x545ae1={},_0x4d7e4b={'count':0x0,'rows':[]};var _0x2b9a7c=_[_0xa65b('0x2f')](db['VoiceMusicOnHold'][_0xa65b('0x30')],function(_0x4e76d8){return{'name':_0x4e76d8[_0xa65b('0x31')],'type':_0x4e76d8[_0xa65b('0x32')]['key']};});_0x545ae1['model']=_['map'](_0x2b9a7c,_0xa65b('0x2c'));_0x545ae1[_0xa65b('0x33')]=_[_0xa65b('0x34')](_0x43a959[_0xa65b('0x33')]);_0x545ae1[_0xa65b('0x35')]=_[_0xa65b('0x36')](_0x545ae1[_0xa65b('0x37')],_0x545ae1[_0xa65b('0x33')]);_0x1e4b68[_0xa65b('0x38')]=_['intersection'](_0x545ae1['model'],qs['fields'](_0x43a959[_0xa65b('0x33')][_0xa65b('0x39')]));_0x1e4b68[_0xa65b('0x38')]=_0x1e4b68[_0xa65b('0x38')][_0xa65b('0x3a')]?_0x1e4b68[_0xa65b('0x38')]:_0x545ae1[_0xa65b('0x37')];if(!_0x43a959[_0xa65b('0x33')]['hasOwnProperty'](_0xa65b('0x3b'))){_0x1e4b68[_0xa65b('0x1d')]=qs[_0xa65b('0x1d')](_0x43a959[_0xa65b('0x33')][_0xa65b('0x1d')]);_0x1e4b68[_0xa65b('0x1b')]=qs[_0xa65b('0x1b')](_0x43a959[_0xa65b('0x33')][_0xa65b('0x1b')]);}_0x1e4b68[_0xa65b('0x3c')]=qs[_0xa65b('0x3d')](_0x43a959[_0xa65b('0x33')]['sort']);delete _0x43a959[_0xa65b('0x33')][_0xa65b('0x3d')];_0x1e4b68[_0xa65b('0x3e')]=qs[_0xa65b('0x35')](_[_0xa65b('0x3f')](_0x43a959['query'],_0x545ae1[_0xa65b('0x35')]),_0x2b9a7c);if(_0x43a959[_0xa65b('0x33')][_0xa65b('0x40')]){_0x1e4b68['where']=_[_0xa65b('0x41')](_0x1e4b68['where'],{'$or':_[_0xa65b('0x2f')](_0x2b9a7c,function(_0x399599){if(_0x399599[_0xa65b('0x32')]!==_0xa65b('0x42')){var _0x223ad2={};_0x223ad2[_0x399599['name']]={'$like':'%'+_0x43a959[_0xa65b('0x33')][_0xa65b('0x40')]+'%'};return _0x223ad2;}})});}_0x1e4b68=_[_0xa65b('0x41')]({},_0x1e4b68,_0x43a959[_0xa65b('0x43')]);var _0x364f4b={'where':_0x1e4b68['where']};return db['VoiceMusicOnHold'][_0xa65b('0x1e')](_0x364f4b)['then'](function(_0x398bb2){_0x4d7e4b[_0xa65b('0x1e')]=_0x398bb2;if(_0x43a959[_0xa65b('0x33')][_0xa65b('0x44')]){_0x1e4b68[_0xa65b('0x45')]=[{'all':!![]}];}return db['VoiceMusicOnHold'][_0xa65b('0x46')](_0x1e4b68);})[_0xa65b('0x24')](function(_0x5ef065){_0x4d7e4b['rows']=_0x5ef065;return _0x4d7e4b;})['then'](respondWithFilteredResult(_0x59920c,_0x1e4b68))[_0xa65b('0x47')](handleError(_0x59920c,null));};exports[_0xa65b('0x48')]=function(_0xb7695b,_0x56abef){var _0x163152={'raw':![],'where':{'id':_0xb7695b[_0xa65b('0x49')]['id']}},_0x4e9735={};_0x4e9735[_0xa65b('0x37')]=_[_0xa65b('0x34')](db[_0xa65b('0x4a')][_0xa65b('0x30')]);_0x4e9735[_0xa65b('0x33')]=_[_0xa65b('0x34')](_0xb7695b['query']);_0x4e9735[_0xa65b('0x35')]=_['intersection'](_0x4e9735[_0xa65b('0x37')],_0x4e9735['query']);_0x163152[_0xa65b('0x38')]=_[_0xa65b('0x36')](_0x4e9735[_0xa65b('0x37')],qs[_0xa65b('0x39')](_0xb7695b[_0xa65b('0x33')][_0xa65b('0x39')]));_0x163152['attributes']=_0x163152[_0xa65b('0x38')][_0xa65b('0x3a')]?_0x163152[_0xa65b('0x38')]:_0x4e9735[_0xa65b('0x37')];if(_0xb7695b[_0xa65b('0x33')][_0xa65b('0x44')]){_0x163152['include']=[{'all':!![]}];}_0x163152=_[_0xa65b('0x41')]({},_0x163152,_0xb7695b[_0xa65b('0x43')]);return db[_0xa65b('0x4a')]['find'](_0x163152)[_0xa65b('0x24')](handleEntityNotFound(_0x56abef,null))[_0xa65b('0x24')](respondWithResult(_0x56abef,null))[_0xa65b('0x47')](handleError(_0x56abef,null));};exports['update']=function(_0x21b2de,_0x4a5d9d){if(_0x21b2de['body']['id']){delete _0x21b2de[_0xa65b('0x4b')]['id'];}return db['VoiceMusicOnHold'][_0xa65b('0x4c')]({'where':{'id':_0x21b2de['params']['id']}})[_0xa65b('0x24')](handleEntityNotFound(_0x4a5d9d,null))['then'](saveUpdates(_0x21b2de[_0xa65b('0x4b')],null))['then'](respondWithResult(_0x4a5d9d,null))['catch'](handleError(_0x4a5d9d,null));};exports[_0xa65b('0x4d')]=function(_0x5b80a2,_0x3508ce,_0x283618){return db[_0xa65b('0x4e')][_0xa65b('0x4f')](function(_0x1c57db){if(_0x5b80a2['body'][_0xa65b('0x50')]==='files'){_0x5b80a2[_0xa65b('0x4b')]['directory']=path[_0xa65b('0x51')](config[_0xa65b('0x52')],'server/files/moh',_0x5b80a2['body'][_0xa65b('0x2c')]);}return db[_0xa65b('0x4a')][_0xa65b('0x4d')](_0x5b80a2[_0xa65b('0x4b')],{'transaction':_0x1c57db})[_0xa65b('0x24')](function(_0xd8b1ab){if(_0x5b80a2[_0xa65b('0x4b')][_0xa65b('0x50')]===_0xa65b('0x53')){fs[_0xa65b('0x54')](_0xd8b1ab['directory'],parseInt(_0xa65b('0x55'),0x8));}var _0xcddc1b=_0x5b80a2[_0xa65b('0x56')][_0xa65b('0x26')]({'plain':!![]});if(!_0xcddc1b)throw new Error(_0xa65b('0x57'));if(_0xcddc1b[_0xa65b('0x58')]===_0xa65b('0x56')){var _0x39fd51=_0xd8b1ab['get']({'plain':!![]});return db[_0xa65b('0x59')][_0xa65b('0x4c')]({'where':{'name':_0xa65b('0x27'),'userProfileId':_0xcddc1b[_0xa65b('0x5a')]},'raw':!![]})['then'](function(_0x241659){if(_0x241659&&_0x241659[_0xa65b('0x5b')]===0x0){return db['UserProfileResource'][_0xa65b('0x4d')]({'name':_0x39fd51[_0xa65b('0x2c')],'resourceId':_0x39fd51['id'],'type':_0x241659[_0xa65b('0x2c')],'sectionId':_0x241659['id']},{})[_0xa65b('0x24')](function(){return _0xd8b1ab;});}else{return _0xd8b1ab;}})[_0xa65b('0x47')](function(_0x1fe8bd){logger['error'](_0xa65b('0x5c'),_0x1fe8bd);});}return _0xd8b1ab;});})[_0xa65b('0x24')](respondWithResult(_0x3508ce,0xc9))[_0xa65b('0x47')](handleError(_0x3508ce,null));};exports[_0xa65b('0x25')]=function(_0x1bfb77,_0x301161,_0x45f011){var _0x5918bf;return db[_0xa65b('0x4a')][_0xa65b('0x4c')]({'where':{'id':_0x1bfb77[_0xa65b('0x49')]['id']}})[_0xa65b('0x24')](function(_0x1319d2){if(_0x1319d2){return db[_0xa65b('0x4e')][_0xa65b('0x4f')](function(_0x1b7c83){return _0x1319d2[_0xa65b('0x25')]({'transaction':_0x1b7c83,'raw':!![]})[_0xa65b('0x24')](function(_0x5e9d28){if(_0x5e9d28[_0xa65b('0x5d')]){fs[_0xa65b('0x5e')](_0x5e9d28[_0xa65b('0x5d')])['forEach'](function(_0x7dd6e){fs[_0xa65b('0x5f')](path['join'](_0x5e9d28[_0xa65b('0x5d')],_0x7dd6e));});fs[_0xa65b('0x60')](_0x5e9d28[_0xa65b('0x5d')]);}return _0x5e9d28;});})['catch'](function(_0x329d0a){throw new db[(_0xa65b('0x61'))][(_0xa65b('0x62'))](_0x329d0a['message']);});}})['then'](handleEntityNotFound(_0x301161,null))[_0xa65b('0x24')](removeEntity(_0x301161,null))['catch'](handleError(_0x301161,null));};exports[_0xa65b('0x63')]=function(_0x3806bf,_0x41915f,_0x21888e){return db[_0xa65b('0x4e')][_0xa65b('0x4f')](function(_0xdeed3){var _0x22ec41;return db[_0xa65b('0x4a')]['find']({'where':{'id':_0x3806bf['params']['id']}})[_0xa65b('0x24')](function(_0x48b260){if(_0x48b260){_0x22ec41=_0x48b260;return _0x48b260[_0xa65b('0x63')](_0x3806bf[_0xa65b('0x4b')]['id'],{'transaction':_0xdeed3});}})[_0xa65b('0x24')](function(_0x3b1dfd){if(_0x3b1dfd){return db[_0xa65b('0x64')][_0xa65b('0x65')]({'where':{'id':_0x3806bf[_0xa65b('0x4b')]['id']},'attributes':['id','name',_0xa65b('0x66'),_0xa65b('0x67'),_0xa65b('0x68')],'raw':!![]});}})[_0xa65b('0x24')](function(_0xf2815){if(_0xf2815){var _0x59d8c6=path[_0xa65b('0x51')](config['root'],_0xa65b('0x69'),util[_0xa65b('0x6a')]('%s.%s',path['basename'](_0xf2815[_0xa65b('0x66')],path['extname'](_0xf2815['save_name'])),_0xf2815[_0xa65b('0x67')]));var _0x2c3689=path['join'](config[_0xa65b('0x52')],'server/files/moh',_0x22ec41[_0xa65b('0x2c')],util[_0xa65b('0x6a')](_0xa65b('0x6b'),_0xf2815[_0xa65b('0x2c')],_0xf2815[_0xa65b('0x67')]));fs[_0xa65b('0x6c')](_0x59d8c6,_0x2c3689);return _0xf2815;}})[_0xa65b('0x47')](function(_0x29cc1a){throw new db['Sequelize'][(_0xa65b('0x62'))](_0x29cc1a[_0xa65b('0x6d')]);});})['then'](handleEntityNotFound(_0x41915f,null))['then'](respondWithResult(_0x41915f,0xc9))[_0xa65b('0x47')](handleError(_0x41915f,null));};exports[_0xa65b('0x6e')]=function(_0x43709e,_0x4e2f4a,_0x2533dc){return db[_0xa65b('0x4e')][_0xa65b('0x4f')](function(_0x7d9e56){var _0x296b56;return db['VoiceMusicOnHold'][_0xa65b('0x65')]({'where':{'id':_0x43709e[_0xa65b('0x49')]['id']}})['then'](handleEntityNotFound(_0x4e2f4a,null))[_0xa65b('0x24')](function(_0x97cd21){if(_0x97cd21){_0x296b56=_0x97cd21;return _0x97cd21[_0xa65b('0x6e')](_0x43709e[_0xa65b('0x49')][_0xa65b('0x6f')]);}})[_0xa65b('0x24')](function(_0x4b9c6a){if(_0x4b9c6a){return db[_0xa65b('0x64')][_0xa65b('0x65')]({'where':{'id':_0x43709e[_0xa65b('0x49')][_0xa65b('0x6f')]},'attributes':['id',_0xa65b('0x2c'),'save_name',_0xa65b('0x67'),_0xa65b('0x68')],'raw':!![]});}})['then'](function(_0x2824f0){if(_0x2824f0){fs['unlinkSync'](path[_0xa65b('0x51')](_0x296b56[_0xa65b('0x5d')],util[_0xa65b('0x6a')](_0xa65b('0x6b'),_0x2824f0[_0xa65b('0x2c')],_0x2824f0[_0xa65b('0x67')])));return _0x2824f0;}})[_0xa65b('0x47')](function(_0x52ca94){throw new db[(_0xa65b('0x61'))][(_0xa65b('0x62'))](_0x52ca94[_0xa65b('0x6d')]);});})[_0xa65b('0x24')](handleEntityNotFound(_0x4e2f4a,null))['then'](respondWithStatusCode(_0x4e2f4a,0xcc))[_0xa65b('0x47')](handleError(_0x4e2f4a,null));};exports[_0xa65b('0x70')]=function(_0x1725a0,_0x27ebe8,_0x532309){var _0x5092f2={};var _0x8777b9={};var _0x3dce95;var _0x469411;return db[_0xa65b('0x4a')][_0xa65b('0x65')]({'where':{'id':_0x1725a0[_0xa65b('0x49')]['id']}})['then'](handleEntityNotFound(_0x27ebe8,null))[_0xa65b('0x24')](function(_0x55022f){if(_0x55022f){_0x3dce95=_0x55022f;_0x8777b9[_0xa65b('0x37')]=_[_0xa65b('0x34')](db['Sound'][_0xa65b('0x30')]);_0x8777b9[_0xa65b('0x33')]=_['keys'](_0x1725a0[_0xa65b('0x33')]);_0x8777b9['filters']=_[_0xa65b('0x36')](_0x8777b9[_0xa65b('0x37')],_0x8777b9[_0xa65b('0x33')]);_0x5092f2[_0xa65b('0x38')]=_[_0xa65b('0x36')](_0x8777b9['model'],qs['fields'](_0x1725a0[_0xa65b('0x33')]['fields']));_0x5092f2['attributes']=_0x5092f2['attributes']['length']?_0x5092f2['attributes']:_0x8777b9[_0xa65b('0x37')];_0x5092f2[_0xa65b('0x3c')]=qs['sort'](_0x1725a0[_0xa65b('0x33')][_0xa65b('0x3d')]);_0x5092f2[_0xa65b('0x3e')]=qs['filters'](_[_0xa65b('0x3f')](_0x1725a0[_0xa65b('0x33')],_0x8777b9[_0xa65b('0x35')]));if(_0x1725a0[_0xa65b('0x33')][_0xa65b('0x40')]){_0x5092f2[_0xa65b('0x3e')]=_[_0xa65b('0x41')](_0x5092f2[_0xa65b('0x3e')],{'$or':_['map'](_0x5092f2[_0xa65b('0x38')],function(_0x2d4ea0){var _0x31c498={};_0x31c498[_0x2d4ea0]={'$like':'%'+_0x1725a0[_0xa65b('0x33')]['filter']+'%'};return _0x31c498;})});}_0x5092f2=_[_0xa65b('0x41')]({},_0x5092f2,_0x1725a0[_0xa65b('0x43')]);return _0x3dce95[_0xa65b('0x70')](_0x5092f2);}})[_0xa65b('0x24')](function(_0x5aba9b){if(_0x5aba9b){_0x469411=_0x5aba9b[_0xa65b('0x3a')];if(!_0x1725a0[_0xa65b('0x33')][_0xa65b('0x71')](_0xa65b('0x3b'))){_0x5092f2[_0xa65b('0x1d')]=qs[_0xa65b('0x1d')](_0x1725a0['query'][_0xa65b('0x1d')]);_0x5092f2['offset']=qs['offset'](_0x1725a0[_0xa65b('0x33')][_0xa65b('0x1b')]);}return _0x3dce95[_0xa65b('0x70')](_0x5092f2);}})[_0xa65b('0x24')](function(_0x4d3d9b){if(_0x4d3d9b){return _0x4d3d9b?{'count':_0x469411,'rows':_0x4d3d9b}:null;}})[_0xa65b('0x24')](respondWithResult(_0x27ebe8,null))[_0xa65b('0x47')](handleError(_0x27ebe8,null));};