16bc71e7416ef5d78a3a5624c67d3883ee7169b0
[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 _0xf486=['Sound','findOne','save_name','converted_format','server/files/sounds/converted','format','%s.%s','basename','symlinkSync','removeSound','id2','createdAt','unlinkSync','getSounds','html-pdf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','get','MusicOnHolds','UserProfileResource','end','error','stack','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','VoiceMusicOnHold','include','findAll','rows','catch','show','params','includeAll','find','body','create','sequelize','transaction','mode','files','directory','join','root','server/files/moh','mkdirSync','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','rmdirSync','Sequelize','ValidationError','message','addSound'];(function(_0x83af54,_0x5bb59b){var _0x26a36f=function(_0x33656a){while(--_0x33656a){_0x83af54['push'](_0x83af54['shift']());}};_0x26a36f(++_0x5bb59b);}(_0xf486,0x80));var _0x6f48=function(_0x4b1a4a,_0x4f5c46){_0x4b1a4a=_0x4b1a4a-0x0;var _0x416dca=_0xf486[_0x4b1a4a];return _0x416dca;};'use strict';var pdf=require(_0x6f48('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6f48('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6f48('0x2'));var moment=require(_0x6f48('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x6f48('0x4'));var util=require(_0x6f48('0x5'));var path=require(_0x6f48('0x6'));var sox=require(_0x6f48('0x7'));var csv=require(_0x6f48('0x8'));var ejs=require(_0x6f48('0x9'));var fs=require('fs');var _=require(_0x6f48('0xa'));var squel=require(_0x6f48('0xb'));var crypto=require(_0x6f48('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x6f48('0xd'));var toCsv=require(_0x6f48('0x8'));var querystring=require(_0x6f48('0xe'));var Papa=require(_0x6f48('0xf'));var Redis=require(_0x6f48('0x10'));var authService=require(_0x6f48('0x11'));var qs=require(_0x6f48('0x12'));var as=require(_0x6f48('0x13'));var hardwareService=require(_0x6f48('0x14'));var logger=require('../../config/logger')(_0x6f48('0x15'));var utils=require(_0x6f48('0x16'));var config=require(_0x6f48('0x17'));var licenseUtil=require(_0x6f48('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xfbf966,_0x31d3c5){_0x31d3c5=_0x31d3c5||0xcc;return function(_0x56e8cc){if(_0x56e8cc){return _0xfbf966[_0x6f48('0x19')](_0x31d3c5);}return _0xfbf966[_0x6f48('0x1a')](_0x31d3c5)['end']();};}function respondWithResult(_0x3ee22d,_0x32a33a){_0x32a33a=_0x32a33a||0xc8;return function(_0x998be6){if(_0x998be6){return _0x3ee22d['status'](_0x32a33a)[_0x6f48('0x1b')](_0x998be6);}};}function respondWithFilteredResult(_0x528086,_0x2e13cb){return function(_0x1a1673){if(_0x1a1673){var _0x412e50=_0x1a1673[_0x6f48('0x1c')],_0xccc306=_0x2e13cb[_0x6f48('0x1d')],_0x3b6e45=_0x2e13cb[_0x6f48('0x1d')]+_0x2e13cb[_0x6f48('0x1e')],_0xf3890a;if(_0x3b6e45>=_0x412e50){_0x3b6e45=_0x412e50;_0xf3890a=0xc8;}else{_0xf3890a=0xce;}_0x528086[_0x6f48('0x1a')](_0xf3890a);return _0x528086[_0x6f48('0x1f')](_0x6f48('0x20'),_0xccc306+'-'+_0x3b6e45+'/'+_0x412e50)[_0x6f48('0x1b')](_0x1a1673);}return null;};}function patchUpdates(_0x21da35){return function(_0x4a4176){try{jsonpatch[_0x6f48('0x21')](_0x4a4176,_0x21da35,!![]);}catch(_0xc5f732){return BPromise[_0x6f48('0x22')](_0xc5f732);}return _0x4a4176['save']();};}function saveUpdates(_0x2d5bb1,_0x5b979b){return function(_0x436433){if(_0x436433){return _0x436433[_0x6f48('0x23')](_0x2d5bb1)[_0x6f48('0x24')](function(_0x4b0b03){return _0x4b0b03;});}return null;};}function removeEntity(_0x124adf,_0x27978e){return function(_0xb556b0){if(_0xb556b0){return _0xb556b0[_0x6f48('0x25')]()['then'](function(){var _0x322ddc=_0xb556b0[_0x6f48('0x26')]({'plain':!![]});var _0x231d38=_0x6f48('0x27');return db[_0x6f48('0x28')]['destroy']({'where':{'type':_0x231d38,'resourceId':_0x322ddc['id']}})['then'](function(){return _0xb556b0;});})[_0x6f48('0x24')](function(){_0x124adf[_0x6f48('0x1a')](0xcc)[_0x6f48('0x29')]();});}};}function handleEntityNotFound(_0x3a124a,_0x34b1aa){return function(_0x5a6b95){if(!_0x5a6b95){_0x3a124a[_0x6f48('0x19')](0x194);}return _0x5a6b95;};}function handleError(_0x29c243,_0x17aa1b){_0x17aa1b=_0x17aa1b||0x1f4;return function(_0x15445b){logger[_0x6f48('0x2a')](_0x15445b[_0x6f48('0x2b')]);if(_0x15445b[_0x6f48('0x2c')]){delete _0x15445b[_0x6f48('0x2c')];}_0x29c243[_0x6f48('0x1a')](_0x17aa1b)[_0x6f48('0x2d')](_0x15445b);};}exports['index']=function(_0x585387,_0x2e0fe9){var _0x3330c4={},_0x1ba1d2={},_0x5c2846={'count':0x0,'rows':[]};var _0x3fd22d=_[_0x6f48('0x2e')](db['VoiceMusicOnHold'][_0x6f48('0x2f')],function(_0x4dc987){return{'name':_0x4dc987[_0x6f48('0x30')],'type':_0x4dc987[_0x6f48('0x31')][_0x6f48('0x32')]};});_0x1ba1d2[_0x6f48('0x33')]=_[_0x6f48('0x2e')](_0x3fd22d,'name');_0x1ba1d2[_0x6f48('0x34')]=_[_0x6f48('0x35')](_0x585387[_0x6f48('0x34')]);_0x1ba1d2[_0x6f48('0x36')]=_[_0x6f48('0x37')](_0x1ba1d2['model'],_0x1ba1d2['query']);_0x3330c4[_0x6f48('0x38')]=_[_0x6f48('0x37')](_0x1ba1d2['model'],qs[_0x6f48('0x39')](_0x585387['query'][_0x6f48('0x39')]));_0x3330c4['attributes']=_0x3330c4[_0x6f48('0x38')][_0x6f48('0x3a')]?_0x3330c4['attributes']:_0x1ba1d2[_0x6f48('0x33')];if(!_0x585387['query'][_0x6f48('0x3b')](_0x6f48('0x3c'))){_0x3330c4['limit']=qs[_0x6f48('0x1e')](_0x585387[_0x6f48('0x34')][_0x6f48('0x1e')]);_0x3330c4[_0x6f48('0x1d')]=qs['offset'](_0x585387[_0x6f48('0x34')][_0x6f48('0x1d')]);}_0x3330c4[_0x6f48('0x3d')]=qs[_0x6f48('0x3e')](_0x585387['query'][_0x6f48('0x3e')]);_0x3330c4[_0x6f48('0x3f')]=qs['filters'](_[_0x6f48('0x40')](_0x585387[_0x6f48('0x34')],_0x1ba1d2['filters']),_0x3fd22d);if(_0x585387[_0x6f48('0x34')][_0x6f48('0x41')]){_0x3330c4[_0x6f48('0x3f')]=_[_0x6f48('0x42')](_0x3330c4[_0x6f48('0x3f')],{'$or':_[_0x6f48('0x2e')](_0x3fd22d,function(_0x23f599){if(_0x23f599[_0x6f48('0x31')]!=='VIRTUAL'){var _0x37e0f8={};_0x37e0f8[_0x23f599[_0x6f48('0x2c')]]={'$like':'%'+_0x585387['query']['filter']+'%'};return _0x37e0f8;}})});}_0x3330c4=_[_0x6f48('0x42')]({},_0x3330c4,_0x585387[_0x6f48('0x43')]);var _0x2b6bf6={'where':_0x3330c4[_0x6f48('0x3f')]};return db[_0x6f48('0x44')][_0x6f48('0x1c')](_0x2b6bf6)[_0x6f48('0x24')](function(_0x12450b){_0x5c2846[_0x6f48('0x1c')]=_0x12450b;if(_0x585387[_0x6f48('0x34')]['includeAll']){_0x3330c4[_0x6f48('0x45')]=[{'all':!![]}];}return db[_0x6f48('0x44')][_0x6f48('0x46')](_0x3330c4);})[_0x6f48('0x24')](function(_0x53e0fd){_0x5c2846[_0x6f48('0x47')]=_0x53e0fd;return _0x5c2846;})['then'](respondWithFilteredResult(_0x2e0fe9,_0x3330c4))[_0x6f48('0x48')](handleError(_0x2e0fe9,null));};exports[_0x6f48('0x49')]=function(_0x564272,_0x388794){var _0x3492da={'raw':![],'where':{'id':_0x564272[_0x6f48('0x4a')]['id']}},_0x4e37d7={};_0x4e37d7[_0x6f48('0x33')]=_['keys'](db['VoiceMusicOnHold'][_0x6f48('0x2f')]);_0x4e37d7[_0x6f48('0x34')]=_[_0x6f48('0x35')](_0x564272[_0x6f48('0x34')]);_0x4e37d7[_0x6f48('0x36')]=_[_0x6f48('0x37')](_0x4e37d7[_0x6f48('0x33')],_0x4e37d7[_0x6f48('0x34')]);_0x3492da[_0x6f48('0x38')]=_[_0x6f48('0x37')](_0x4e37d7[_0x6f48('0x33')],qs[_0x6f48('0x39')](_0x564272[_0x6f48('0x34')][_0x6f48('0x39')]));_0x3492da[_0x6f48('0x38')]=_0x3492da['attributes'][_0x6f48('0x3a')]?_0x3492da['attributes']:_0x4e37d7[_0x6f48('0x33')];if(_0x564272[_0x6f48('0x34')][_0x6f48('0x4b')]){_0x3492da[_0x6f48('0x45')]=[{'all':!![]}];}_0x3492da=_['merge']({},_0x3492da,_0x564272[_0x6f48('0x43')]);return db[_0x6f48('0x44')][_0x6f48('0x4c')](_0x3492da)['then'](handleEntityNotFound(_0x388794,null))[_0x6f48('0x24')](respondWithResult(_0x388794,null))['catch'](handleError(_0x388794,null));};exports[_0x6f48('0x23')]=function(_0x53b8de,_0x26b91a){if(_0x53b8de[_0x6f48('0x4d')]['id']){delete _0x53b8de[_0x6f48('0x4d')]['id'];}return db[_0x6f48('0x44')][_0x6f48('0x4c')]({'where':{'id':_0x53b8de[_0x6f48('0x4a')]['id']}})['then'](handleEntityNotFound(_0x26b91a,null))[_0x6f48('0x24')](saveUpdates(_0x53b8de[_0x6f48('0x4d')],null))[_0x6f48('0x24')](respondWithResult(_0x26b91a,null))[_0x6f48('0x48')](handleError(_0x26b91a,null));};exports[_0x6f48('0x4e')]=function(_0x1c3791,_0x34a8f9,_0x539279){return db[_0x6f48('0x4f')][_0x6f48('0x50')](function(_0x53ebda){if(_0x1c3791[_0x6f48('0x4d')][_0x6f48('0x51')]===_0x6f48('0x52')){_0x1c3791[_0x6f48('0x4d')][_0x6f48('0x53')]=path[_0x6f48('0x54')](config[_0x6f48('0x55')],_0x6f48('0x56'),_0x1c3791[_0x6f48('0x4d')]['name']);}return db[_0x6f48('0x44')][_0x6f48('0x4e')](_0x1c3791[_0x6f48('0x4d')],{'transaction':_0x53ebda})['then'](function(_0x1fff0f){if(_0x1c3791[_0x6f48('0x4d')][_0x6f48('0x51')]===_0x6f48('0x52')){fs[_0x6f48('0x57')](_0x1fff0f[_0x6f48('0x53')],parseInt('0777',0x8));}var _0x44e96e=_0x1c3791[_0x6f48('0x58')][_0x6f48('0x26')]({'plain':!![]});if(!_0x44e96e)throw new Error(_0x6f48('0x59'));if(_0x44e96e[_0x6f48('0x5a')]==='user'){var _0x6d737e=_0x1fff0f[_0x6f48('0x26')]({'plain':!![]});return db['UserProfileSection'][_0x6f48('0x4c')]({'where':{'name':_0x6f48('0x27'),'userProfileId':_0x44e96e[_0x6f48('0x5b')]},'raw':!![]})['then'](function(_0x24ff4f){if(_0x24ff4f&&_0x24ff4f[_0x6f48('0x5c')]===0x0){return db[_0x6f48('0x28')][_0x6f48('0x4e')]({'name':_0x6d737e[_0x6f48('0x2c')],'resourceId':_0x6d737e['id'],'type':_0x24ff4f[_0x6f48('0x2c')],'sectionId':_0x24ff4f['id']},{})[_0x6f48('0x24')](function(){return _0x1fff0f;});}else{return _0x1fff0f;}})[_0x6f48('0x48')](function(_0x13315c){logger[_0x6f48('0x2a')](_0x6f48('0x5d'),_0x13315c);});}return _0x1fff0f;});})[_0x6f48('0x24')](respondWithResult(_0x34a8f9,0xc9))[_0x6f48('0x48')](handleError(_0x34a8f9,null));};exports['destroy']=function(_0x2f91c5,_0x36a52e,_0x4791a4){var _0x1527ca;return db[_0x6f48('0x44')][_0x6f48('0x4c')]({'where':{'id':_0x2f91c5[_0x6f48('0x4a')]['id']}})[_0x6f48('0x24')](function(_0x24dea8){if(_0x24dea8){return db['sequelize']['transaction'](function(_0x11a69a){return _0x24dea8[_0x6f48('0x25')]({'transaction':_0x11a69a,'raw':!![]})['then'](function(_0x111e5b){if(_0x111e5b[_0x6f48('0x53')]){fs[_0x6f48('0x5e')](_0x111e5b[_0x6f48('0x53')])['forEach'](function(_0x408e3b){fs['unlinkSync'](path[_0x6f48('0x54')](_0x111e5b['directory'],_0x408e3b));});fs[_0x6f48('0x5f')](_0x111e5b[_0x6f48('0x53')]);}return _0x111e5b;});})[_0x6f48('0x48')](function(_0x44a050){throw new db[(_0x6f48('0x60'))][(_0x6f48('0x61'))](_0x44a050[_0x6f48('0x62')]);});}})[_0x6f48('0x24')](handleEntityNotFound(_0x36a52e,null))[_0x6f48('0x24')](removeEntity(_0x36a52e,null))[_0x6f48('0x48')](handleError(_0x36a52e,null));};exports[_0x6f48('0x63')]=function(_0x9d9fa6,_0x15ddce,_0x5f2d20){return db[_0x6f48('0x4f')][_0x6f48('0x50')](function(_0x20ce15){var _0x64df68;return db[_0x6f48('0x44')][_0x6f48('0x4c')]({'where':{'id':_0x9d9fa6[_0x6f48('0x4a')]['id']}})[_0x6f48('0x24')](function(_0x3b551d){if(_0x3b551d){_0x64df68=_0x3b551d;return _0x3b551d[_0x6f48('0x63')](_0x9d9fa6[_0x6f48('0x4d')]['id'],{'transaction':_0x20ce15});}})[_0x6f48('0x24')](function(_0x4fec4c){if(_0x4fec4c){return db[_0x6f48('0x64')][_0x6f48('0x65')]({'where':{'id':_0x9d9fa6[_0x6f48('0x4d')]['id']},'attributes':['id','name',_0x6f48('0x66'),_0x6f48('0x67'),'createdAt'],'raw':!![]});}})[_0x6f48('0x24')](function(_0x43f394){if(_0x43f394){var _0x1dc2cb=path['join'](config[_0x6f48('0x55')],_0x6f48('0x68'),util[_0x6f48('0x69')](_0x6f48('0x6a'),path[_0x6f48('0x6b')](_0x43f394[_0x6f48('0x66')],path['extname'](_0x43f394['save_name'])),_0x43f394['converted_format']));var _0x4eeccb=path[_0x6f48('0x54')](config[_0x6f48('0x55')],_0x6f48('0x56'),_0x64df68[_0x6f48('0x2c')],util[_0x6f48('0x69')]('%s.%s',_0x43f394[_0x6f48('0x2c')],_0x43f394[_0x6f48('0x67')]));fs[_0x6f48('0x6c')](_0x1dc2cb,_0x4eeccb);return _0x43f394;}})[_0x6f48('0x48')](function(_0x1e5eec){throw new db[(_0x6f48('0x60'))][(_0x6f48('0x61'))](_0x1e5eec[_0x6f48('0x62')]);});})['then'](handleEntityNotFound(_0x15ddce,null))[_0x6f48('0x24')](respondWithResult(_0x15ddce,0xc9))['catch'](handleError(_0x15ddce,null));};exports[_0x6f48('0x6d')]=function(_0x253556,_0x5f424c,_0xde822){return db['sequelize'][_0x6f48('0x50')](function(_0x57ce7c){var _0x45766a;return db[_0x6f48('0x44')]['findOne']({'where':{'id':_0x253556[_0x6f48('0x4a')]['id']}})[_0x6f48('0x24')](handleEntityNotFound(_0x5f424c,null))[_0x6f48('0x24')](function(_0x5d2dea){if(_0x5d2dea){_0x45766a=_0x5d2dea;return _0x5d2dea['removeSound'](_0x253556['params']['id2']);}})[_0x6f48('0x24')](function(_0x4278c8){if(_0x4278c8){return db[_0x6f48('0x64')]['findOne']({'where':{'id':_0x253556[_0x6f48('0x4a')][_0x6f48('0x6e')]},'attributes':['id',_0x6f48('0x2c'),_0x6f48('0x66'),_0x6f48('0x67'),_0x6f48('0x6f')],'raw':!![]});}})[_0x6f48('0x24')](function(_0x44e780){if(_0x44e780){fs[_0x6f48('0x70')](path[_0x6f48('0x54')](_0x45766a['directory'],util[_0x6f48('0x69')](_0x6f48('0x6a'),_0x44e780['name'],_0x44e780[_0x6f48('0x67')])));return _0x44e780;}})['catch'](function(_0x13a3ef){throw new db['Sequelize']['ValidationError'](_0x13a3ef[_0x6f48('0x62')]);});})['then'](handleEntityNotFound(_0x5f424c,null))[_0x6f48('0x24')](respondWithStatusCode(_0x5f424c,0xcc))[_0x6f48('0x48')](handleError(_0x5f424c,null));};exports[_0x6f48('0x71')]=function(_0x23b4c2,_0x30656b,_0x29aeac){var _0x48a2a0={};var _0x367c1a={};var _0xa8c9e6;var _0x3b2df7;return db[_0x6f48('0x44')][_0x6f48('0x65')]({'where':{'id':_0x23b4c2['params']['id']}})[_0x6f48('0x24')](handleEntityNotFound(_0x30656b,null))[_0x6f48('0x24')](function(_0x1298fa){if(_0x1298fa){_0xa8c9e6=_0x1298fa;_0x367c1a['model']=_['keys'](db['Sound'][_0x6f48('0x2f')]);_0x367c1a[_0x6f48('0x34')]=_['keys'](_0x23b4c2[_0x6f48('0x34')]);_0x367c1a[_0x6f48('0x36')]=_[_0x6f48('0x37')](_0x367c1a[_0x6f48('0x33')],_0x367c1a[_0x6f48('0x34')]);_0x48a2a0[_0x6f48('0x38')]=_['intersection'](_0x367c1a[_0x6f48('0x33')],qs[_0x6f48('0x39')](_0x23b4c2[_0x6f48('0x34')]['fields']));_0x48a2a0[_0x6f48('0x38')]=_0x48a2a0['attributes'][_0x6f48('0x3a')]?_0x48a2a0[_0x6f48('0x38')]:_0x367c1a[_0x6f48('0x33')];_0x48a2a0['order']=qs[_0x6f48('0x3e')](_0x23b4c2['query']['sort']);_0x48a2a0['where']=qs[_0x6f48('0x36')](_[_0x6f48('0x40')](_0x23b4c2['query'],_0x367c1a[_0x6f48('0x36')]));if(_0x23b4c2[_0x6f48('0x34')][_0x6f48('0x41')]){_0x48a2a0[_0x6f48('0x3f')]=_['merge'](_0x48a2a0[_0x6f48('0x3f')],{'$or':_[_0x6f48('0x2e')](_0x48a2a0[_0x6f48('0x38')],function(_0x3e675c){var _0x24065b={};_0x24065b[_0x3e675c]={'$like':'%'+_0x23b4c2[_0x6f48('0x34')][_0x6f48('0x41')]+'%'};return _0x24065b;})});}_0x48a2a0=_['merge']({},_0x48a2a0,_0x23b4c2[_0x6f48('0x43')]);return _0xa8c9e6[_0x6f48('0x71')](_0x48a2a0);}})[_0x6f48('0x24')](function(_0x40d05c){if(_0x40d05c){_0x3b2df7=_0x40d05c[_0x6f48('0x3a')];if(!_0x23b4c2[_0x6f48('0x34')][_0x6f48('0x3b')](_0x6f48('0x3c'))){_0x48a2a0[_0x6f48('0x1e')]=qs[_0x6f48('0x1e')](_0x23b4c2[_0x6f48('0x34')]['limit']);_0x48a2a0['offset']=qs[_0x6f48('0x1d')](_0x23b4c2['query'][_0x6f48('0x1d')]);}return _0xa8c9e6[_0x6f48('0x71')](_0x48a2a0);}})[_0x6f48('0x24')](function(_0x3626f0){if(_0x3626f0){return _0x3626f0?{'count':_0x3b2df7,'rows':_0x3626f0}:null;}})[_0x6f48('0x24')](respondWithResult(_0x30656b,null))['catch'](handleError(_0x30656b,null));};