Built motion from commit 19a84241.|2.5.34
[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 _0x3854=['send','map','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','type','VIRTUAL','merge','options','VoiceMusicOnHold','includeAll','include','findAll','rows','catch','rawAttributes','find','body','params','mode','files','directory','join','root','server/files/moh','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','sequelize','transaction','readdirSync','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','format','%s.%s','basename','extname','symlinkSync','removeSound','id2','Sound','getSounds','order','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','lodash','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','destroy','then','get','MusicOnHolds','UserProfileResource','sendStatus','error','stack','name'];(function(_0x917a51,_0x2f7e32){var _0x510060=function(_0x1c74e7){while(--_0x1c74e7){_0x917a51['push'](_0x917a51['shift']());}};_0x510060(++_0x2f7e32);}(_0x3854,0x130));var _0x4385=function(_0xc21ae,_0x173f65){_0xc21ae=_0xc21ae-0x0;var _0x358c22=_0x3854[_0xc21ae];return _0x358c22;};'use strict';var emlformat=require(_0x4385('0x0'));var rimraf=require(_0x4385('0x1'));var zipdir=require(_0x4385('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4385('0x3'));var moment=require('moment');var BPromise=require(_0x4385('0x4'));var Mustache=require(_0x4385('0x5'));var util=require(_0x4385('0x6'));var path=require(_0x4385('0x7'));var sox=require(_0x4385('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4385('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x4385('0xa'));var deskjs=require(_0x4385('0xb'));var toCsv=require(_0x4385('0xc'));var querystring=require(_0x4385('0xd'));var Papa=require('papaparse');var Redis=require(_0x4385('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x4385('0xf'));var as=require(_0x4385('0x10'));var hardwareService=require(_0x4385('0x11'));var logger=require('../../config/logger')(_0x4385('0x12'));var utils=require(_0x4385('0x13'));var config=require(_0x4385('0x14'));var licenseUtil=require(_0x4385('0x15'));var db=require(_0x4385('0x16'))['db'];function respondWithStatusCode(_0x4b4f58,_0x8a454c){_0x8a454c=_0x8a454c||0xcc;return function(_0x259d39){if(_0x259d39){return _0x4b4f58['sendStatus'](_0x8a454c);}return _0x4b4f58[_0x4385('0x17')](_0x8a454c)[_0x4385('0x18')]();};}function respondWithResult(_0x7237d9,_0x2f7d5f){_0x2f7d5f=_0x2f7d5f||0xc8;return function(_0x3e59b0){if(_0x3e59b0){return _0x7237d9['status'](_0x2f7d5f)[_0x4385('0x19')](_0x3e59b0);}};}function respondWithFilteredResult(_0x363ab3,_0x5bcfc6){return function(_0x100a0b){if(_0x100a0b){var _0x596cb7=typeof _0x5bcfc6['offset']===_0x4385('0x1a')&&typeof _0x5bcfc6[_0x4385('0x1b')]===_0x4385('0x1a');var _0x584645=_0x100a0b[_0x4385('0x1c')];var _0x5e2a73=_0x596cb7?0x0:_0x5bcfc6[_0x4385('0x1d')];var _0x45a147=_0x596cb7?_0x100a0b[_0x4385('0x1c')]:_0x5bcfc6[_0x4385('0x1d')]+_0x5bcfc6['limit'];var _0x149ca6;if(_0x45a147>=_0x584645){_0x45a147=_0x584645;_0x149ca6=0xc8;}else{_0x149ca6=0xce;}_0x363ab3[_0x4385('0x17')](_0x149ca6);return _0x363ab3[_0x4385('0x1e')]('Content-Range',_0x5e2a73+'-'+_0x45a147+'/'+_0x584645)[_0x4385('0x19')](_0x100a0b);}return null;};}function patchUpdates(_0x279f24){return function(_0x5d9f96){try{jsonpatch[_0x4385('0x1f')](_0x5d9f96,_0x279f24,!![]);}catch(_0x4c8045){return BPromise[_0x4385('0x20')](_0x4c8045);}return _0x5d9f96[_0x4385('0x21')]();};}function saveUpdates(_0x4bba0f,_0x7feec9){return function(_0x735fd9){if(_0x735fd9){return _0x735fd9[_0x4385('0x22')](_0x4bba0f)['then'](function(_0x3730e5){return _0x3730e5;});}return null;};}function removeEntity(_0x35e945,_0x144ca5){return function(_0x5c04ca){if(_0x5c04ca){return _0x5c04ca[_0x4385('0x23')]()[_0x4385('0x24')](function(){var _0xb0e3ad=_0x5c04ca[_0x4385('0x25')]({'plain':!![]});var _0x1a4420=_0x4385('0x26');return db[_0x4385('0x27')][_0x4385('0x23')]({'where':{'type':_0x1a4420,'resourceId':_0xb0e3ad['id']}})[_0x4385('0x24')](function(){return _0x5c04ca;});})[_0x4385('0x24')](function(){_0x35e945[_0x4385('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3a0a35,_0x540903){return function(_0x40a2f1){if(!_0x40a2f1){_0x3a0a35[_0x4385('0x28')](0x194);}return _0x40a2f1;};}function handleError(_0x38cac7,_0x22e0a4){_0x22e0a4=_0x22e0a4||0x1f4;return function(_0x1bb042){logger[_0x4385('0x29')](_0x1bb042[_0x4385('0x2a')]);if(_0x1bb042[_0x4385('0x2b')]){delete _0x1bb042['name'];}_0x38cac7[_0x4385('0x17')](_0x22e0a4)[_0x4385('0x2c')](_0x1bb042);};}exports['index']=function(_0x166508,_0x19bc2e){var _0x379645={},_0x3ecae6={},_0x31cf4f={'count':0x0,'rows':[]};var _0x1854b3=_[_0x4385('0x2d')](db['VoiceMusicOnHold']['rawAttributes'],function(_0x34fcdd){return{'name':_0x34fcdd[_0x4385('0x2e')],'type':_0x34fcdd['type'][_0x4385('0x2f')]};});_0x3ecae6[_0x4385('0x30')]=_[_0x4385('0x2d')](_0x1854b3,_0x4385('0x2b'));_0x3ecae6[_0x4385('0x31')]=_[_0x4385('0x32')](_0x166508[_0x4385('0x31')]);_0x3ecae6['filters']=_[_0x4385('0x33')](_0x3ecae6['model'],_0x3ecae6[_0x4385('0x31')]);_0x379645[_0x4385('0x34')]=_[_0x4385('0x33')](_0x3ecae6['model'],qs[_0x4385('0x35')](_0x166508[_0x4385('0x31')][_0x4385('0x35')]));_0x379645[_0x4385('0x34')]=_0x379645[_0x4385('0x34')][_0x4385('0x36')]?_0x379645['attributes']:_0x3ecae6[_0x4385('0x30')];if(!_0x166508[_0x4385('0x31')][_0x4385('0x37')](_0x4385('0x38'))){_0x379645['limit']=qs['limit'](_0x166508[_0x4385('0x31')][_0x4385('0x1b')]);_0x379645[_0x4385('0x1d')]=qs[_0x4385('0x1d')](_0x166508[_0x4385('0x31')][_0x4385('0x1d')]);}_0x379645['order']=qs['sort'](_0x166508[_0x4385('0x31')][_0x4385('0x39')]);delete _0x166508[_0x4385('0x31')][_0x4385('0x39')];_0x379645[_0x4385('0x3a')]=qs[_0x4385('0x3b')](_[_0x4385('0x3c')](_0x166508[_0x4385('0x31')],_0x3ecae6[_0x4385('0x3b')]),_0x1854b3);if(_0x166508[_0x4385('0x31')][_0x4385('0x3d')]){_0x379645[_0x4385('0x3a')]=_['merge'](_0x379645['where'],{'$or':_[_0x4385('0x2d')](_0x1854b3,function(_0xce34fe){if(_0xce34fe[_0x4385('0x3e')]!==_0x4385('0x3f')){var _0x23d152={};_0x23d152[_0xce34fe[_0x4385('0x2b')]]={'$like':'%'+_0x166508['query'][_0x4385('0x3d')]+'%'};return _0x23d152;}})});}_0x379645=_[_0x4385('0x40')]({},_0x379645,_0x166508[_0x4385('0x41')]);var _0x525711={'where':_0x379645['where']};return db[_0x4385('0x42')][_0x4385('0x1c')](_0x525711)[_0x4385('0x24')](function(_0x2d765a){_0x31cf4f['count']=_0x2d765a;if(_0x166508[_0x4385('0x31')][_0x4385('0x43')]){_0x379645[_0x4385('0x44')]=[{'all':!![]}];}return db[_0x4385('0x42')][_0x4385('0x45')](_0x379645);})[_0x4385('0x24')](function(_0x5058c7){_0x31cf4f[_0x4385('0x46')]=_0x5058c7;return _0x31cf4f;})[_0x4385('0x24')](respondWithFilteredResult(_0x19bc2e,_0x379645))[_0x4385('0x47')](handleError(_0x19bc2e,null));};exports['show']=function(_0xfc78da,_0x31523b){var _0x2f1b78={'raw':![],'where':{'id':_0xfc78da['params']['id']}},_0x453674={};_0x453674['model']=_[_0x4385('0x32')](db['VoiceMusicOnHold'][_0x4385('0x48')]);_0x453674['query']=_[_0x4385('0x32')](_0xfc78da['query']);_0x453674[_0x4385('0x3b')]=_[_0x4385('0x33')](_0x453674[_0x4385('0x30')],_0x453674[_0x4385('0x31')]);_0x2f1b78['attributes']=_[_0x4385('0x33')](_0x453674[_0x4385('0x30')],qs['fields'](_0xfc78da[_0x4385('0x31')][_0x4385('0x35')]));_0x2f1b78['attributes']=_0x2f1b78[_0x4385('0x34')][_0x4385('0x36')]?_0x2f1b78[_0x4385('0x34')]:_0x453674[_0x4385('0x30')];if(_0xfc78da[_0x4385('0x31')]['includeAll']){_0x2f1b78[_0x4385('0x44')]=[{'all':!![]}];}_0x2f1b78=_['merge']({},_0x2f1b78,_0xfc78da[_0x4385('0x41')]);return db['VoiceMusicOnHold'][_0x4385('0x49')](_0x2f1b78)[_0x4385('0x24')](handleEntityNotFound(_0x31523b,null))[_0x4385('0x24')](respondWithResult(_0x31523b,null))[_0x4385('0x47')](handleError(_0x31523b,null));};exports['update']=function(_0x1b9768,_0x17c0f1){if(_0x1b9768[_0x4385('0x4a')]['id']){delete _0x1b9768['body']['id'];}return db[_0x4385('0x42')][_0x4385('0x49')]({'where':{'id':_0x1b9768[_0x4385('0x4b')]['id']}})[_0x4385('0x24')](handleEntityNotFound(_0x17c0f1,null))['then'](saveUpdates(_0x1b9768['body'],null))[_0x4385('0x24')](respondWithResult(_0x17c0f1,null))['catch'](handleError(_0x17c0f1,null));};exports['create']=function(_0x5a5ba0,_0x300e50,_0x45a62c){return db['sequelize']['transaction'](function(_0x2bf3bb){if(_0x5a5ba0[_0x4385('0x4a')][_0x4385('0x4c')]===_0x4385('0x4d')){_0x5a5ba0[_0x4385('0x4a')][_0x4385('0x4e')]=path[_0x4385('0x4f')](config[_0x4385('0x50')],_0x4385('0x51'),_0x5a5ba0['body'][_0x4385('0x2b')]);}return db[_0x4385('0x42')]['create'](_0x5a5ba0['body'],{'transaction':_0x2bf3bb})[_0x4385('0x24')](function(_0x8fd1b9){if(_0x5a5ba0[_0x4385('0x4a')]['mode']===_0x4385('0x4d')){fs[_0x4385('0x52')](_0x8fd1b9['directory'],parseInt(_0x4385('0x53'),0x8));}var _0x5515b9=_0x5a5ba0[_0x4385('0x54')][_0x4385('0x25')]({'plain':!![]});if(!_0x5515b9)throw new Error(_0x4385('0x55'));if(_0x5515b9[_0x4385('0x56')]==='user'){var _0x53d816=_0x8fd1b9[_0x4385('0x25')]({'plain':!![]});return db[_0x4385('0x57')][_0x4385('0x49')]({'where':{'name':_0x4385('0x26'),'userProfileId':_0x5515b9[_0x4385('0x58')]},'raw':!![]})['then'](function(_0x3af874){if(_0x3af874&&_0x3af874[_0x4385('0x59')]===0x0){return db[_0x4385('0x27')][_0x4385('0x5a')]({'name':_0x53d816[_0x4385('0x2b')],'resourceId':_0x53d816['id'],'type':_0x3af874['name'],'sectionId':_0x3af874['id']},{})[_0x4385('0x24')](function(){return _0x8fd1b9;});}else{return _0x8fd1b9;}})[_0x4385('0x47')](function(_0x36bda1){logger[_0x4385('0x29')](_0x4385('0x5b'),_0x36bda1);});}return _0x8fd1b9;});})[_0x4385('0x24')](respondWithResult(_0x300e50,0xc9))[_0x4385('0x47')](handleError(_0x300e50,null));};exports['destroy']=function(_0x578092,_0x2c7462,_0x624995){var _0x42b836;return db[_0x4385('0x42')][_0x4385('0x49')]({'where':{'id':_0x578092[_0x4385('0x4b')]['id']}})[_0x4385('0x24')](function(_0x389624){if(_0x389624){return db[_0x4385('0x5c')][_0x4385('0x5d')](function(_0x22acc9){return _0x389624[_0x4385('0x23')]({'transaction':_0x22acc9,'raw':!![]})[_0x4385('0x24')](function(_0x3864c0){if(_0x3864c0[_0x4385('0x4e')]){fs[_0x4385('0x5e')](_0x3864c0[_0x4385('0x4e')])['forEach'](function(_0x1a5464){fs[_0x4385('0x5f')](path[_0x4385('0x4f')](_0x3864c0[_0x4385('0x4e')],_0x1a5464));});fs[_0x4385('0x60')](_0x3864c0[_0x4385('0x4e')]);}return _0x3864c0;});})[_0x4385('0x47')](function(_0x519562){throw new db[(_0x4385('0x61'))][(_0x4385('0x62'))](_0x519562[_0x4385('0x63')]);});}})[_0x4385('0x24')](handleEntityNotFound(_0x2c7462,null))[_0x4385('0x24')](removeEntity(_0x2c7462,null))['catch'](handleError(_0x2c7462,null));};exports[_0x4385('0x64')]=function(_0x4df331,_0x33d58c,_0x327fd4){return db[_0x4385('0x5c')][_0x4385('0x5d')](function(_0x5dbc43){var _0x17e15e;return db[_0x4385('0x42')][_0x4385('0x49')]({'where':{'id':_0x4df331[_0x4385('0x4b')]['id']}})[_0x4385('0x24')](function(_0x53cadd){if(_0x53cadd){_0x17e15e=_0x53cadd;return _0x53cadd['addSound'](_0x4df331['body']['id'],{'transaction':_0x5dbc43});}})[_0x4385('0x24')](function(_0x3560d8){if(_0x3560d8){return db['Sound'][_0x4385('0x65')]({'where':{'id':_0x4df331[_0x4385('0x4a')]['id']},'attributes':['id',_0x4385('0x2b'),_0x4385('0x66'),_0x4385('0x67'),_0x4385('0x68')],'raw':!![]});}})[_0x4385('0x24')](function(_0x56bec0){if(_0x56bec0){var _0x1002eb=path[_0x4385('0x4f')](config[_0x4385('0x50')],_0x4385('0x69'),util[_0x4385('0x6a')](_0x4385('0x6b'),path[_0x4385('0x6c')](_0x56bec0[_0x4385('0x66')],path[_0x4385('0x6d')](_0x56bec0[_0x4385('0x66')])),_0x56bec0[_0x4385('0x67')]));var _0x161b5e=path['join'](config['root'],_0x4385('0x51'),_0x17e15e[_0x4385('0x2b')],util[_0x4385('0x6a')](_0x4385('0x6b'),_0x56bec0['name'],_0x56bec0[_0x4385('0x67')]));fs[_0x4385('0x6e')](_0x1002eb,_0x161b5e);return _0x56bec0;}})[_0x4385('0x47')](function(_0x1eec76){throw new db[(_0x4385('0x61'))][(_0x4385('0x62'))](_0x1eec76[_0x4385('0x63')]);});})[_0x4385('0x24')](handleEntityNotFound(_0x33d58c,null))[_0x4385('0x24')](respondWithResult(_0x33d58c,0xc9))[_0x4385('0x47')](handleError(_0x33d58c,null));};exports[_0x4385('0x6f')]=function(_0x5c0cf6,_0x22d510,_0x3ac652){return db[_0x4385('0x5c')][_0x4385('0x5d')](function(_0x3cf851){var _0x1f5c62;return db[_0x4385('0x42')][_0x4385('0x65')]({'where':{'id':_0x5c0cf6[_0x4385('0x4b')]['id']}})[_0x4385('0x24')](handleEntityNotFound(_0x22d510,null))['then'](function(_0x131b39){if(_0x131b39){_0x1f5c62=_0x131b39;return _0x131b39[_0x4385('0x6f')](_0x5c0cf6[_0x4385('0x4b')][_0x4385('0x70')]);}})[_0x4385('0x24')](function(_0x171920){if(_0x171920){return db[_0x4385('0x71')][_0x4385('0x65')]({'where':{'id':_0x5c0cf6[_0x4385('0x4b')][_0x4385('0x70')]},'attributes':['id',_0x4385('0x2b'),'save_name',_0x4385('0x67'),'createdAt'],'raw':!![]});}})[_0x4385('0x24')](function(_0x18d5ca){if(_0x18d5ca){fs[_0x4385('0x5f')](path['join'](_0x1f5c62[_0x4385('0x4e')],util['format']('%s.%s',_0x18d5ca['name'],_0x18d5ca['converted_format'])));return _0x18d5ca;}})[_0x4385('0x47')](function(_0x871dcc){throw new db['Sequelize'][(_0x4385('0x62'))](_0x871dcc[_0x4385('0x63')]);});})[_0x4385('0x24')](handleEntityNotFound(_0x22d510,null))[_0x4385('0x24')](respondWithStatusCode(_0x22d510,0xcc))[_0x4385('0x47')](handleError(_0x22d510,null));};exports[_0x4385('0x72')]=function(_0x220f62,_0x28df83,_0x37646b){var _0x518b7f={};var _0x4a3723={};var _0x19d7cd;var _0x1c3682;return db[_0x4385('0x42')][_0x4385('0x65')]({'where':{'id':_0x220f62[_0x4385('0x4b')]['id']}})[_0x4385('0x24')](handleEntityNotFound(_0x28df83,null))[_0x4385('0x24')](function(_0x29a917){if(_0x29a917){_0x19d7cd=_0x29a917;_0x4a3723[_0x4385('0x30')]=_[_0x4385('0x32')](db[_0x4385('0x71')][_0x4385('0x48')]);_0x4a3723[_0x4385('0x31')]=_[_0x4385('0x32')](_0x220f62['query']);_0x4a3723[_0x4385('0x3b')]=_['intersection'](_0x4a3723[_0x4385('0x30')],_0x4a3723['query']);_0x518b7f[_0x4385('0x34')]=_[_0x4385('0x33')](_0x4a3723[_0x4385('0x30')],qs['fields'](_0x220f62[_0x4385('0x31')][_0x4385('0x35')]));_0x518b7f[_0x4385('0x34')]=_0x518b7f[_0x4385('0x34')][_0x4385('0x36')]?_0x518b7f[_0x4385('0x34')]:_0x4a3723['model'];_0x518b7f[_0x4385('0x73')]=qs[_0x4385('0x39')](_0x220f62[_0x4385('0x31')][_0x4385('0x39')]);_0x518b7f[_0x4385('0x3a')]=qs['filters'](_['pick'](_0x220f62[_0x4385('0x31')],_0x4a3723[_0x4385('0x3b')]));if(_0x220f62[_0x4385('0x31')][_0x4385('0x3d')]){_0x518b7f['where']=_['merge'](_0x518b7f['where'],{'$or':_[_0x4385('0x2d')](_0x518b7f['attributes'],function(_0x21b8ca){var _0x36ff46={};_0x36ff46[_0x21b8ca]={'$like':'%'+_0x220f62['query'][_0x4385('0x3d')]+'%'};return _0x36ff46;})});}_0x518b7f=_[_0x4385('0x40')]({},_0x518b7f,_0x220f62[_0x4385('0x41')]);return _0x19d7cd['getSounds'](_0x518b7f);}})[_0x4385('0x24')](function(_0xe540){if(_0xe540){_0x1c3682=_0xe540['length'];if(!_0x220f62['query'][_0x4385('0x37')](_0x4385('0x38'))){_0x518b7f[_0x4385('0x1b')]=qs[_0x4385('0x1b')](_0x220f62[_0x4385('0x31')][_0x4385('0x1b')]);_0x518b7f[_0x4385('0x1d')]=qs[_0x4385('0x1d')](_0x220f62['query'][_0x4385('0x1d')]);}return _0x19d7cd[_0x4385('0x72')](_0x518b7f);}})['then'](function(_0x498867){if(_0x498867){return _0x498867?{'count':_0x1c3682,'rows':_0x498867}:null;}})[_0x4385('0x24')](respondWithResult(_0x28df83,null))['catch'](handleError(_0x28df83,null));};