Built motion from commit d32f51f5.|2.6.31
[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 _0xe877=['nolimit','limit','sort','where','pick','filters','filter','merge','include','findAll','rows','catch','show','params','includeAll','options','find','body','create','sequelize','transaction','files','join','root','mode','mkdirSync','directory','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','readdirSync','forEach','rmdirSync','message','addSound','Sound','findOne','converted_format','server/files/sounds/converted','basename','save_name','extname','server/files/moh','format','%s.%s','symlinkSync','ValidationError','removeSound','id2','createdAt','unlinkSync','Sequelize','getSounds','order','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','get','MusicOnHolds','error','stack','name','index','map','VoiceMusicOnHold','rawAttributes','fieldName','type','model','query','keys','intersection','fields','attributes','hasOwnProperty'];(function(_0x4f1255,_0x2979bc){var _0x51741e=function(_0x39406){while(--_0x39406){_0x4f1255['push'](_0x4f1255['shift']());}};_0x51741e(++_0x2979bc);}(_0xe877,0x198));var _0x7e87=function(_0x141acd,_0x277e41){_0x141acd=_0x141acd-0x0;var _0x495b70=_0xe877[_0x141acd];return _0x495b70;};'use strict';var emlformat=require(_0x7e87('0x0'));var rimraf=require(_0x7e87('0x1'));var zipdir=require(_0x7e87('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7e87('0x3'));var moment=require(_0x7e87('0x4'));var BPromise=require(_0x7e87('0x5'));var Mustache=require(_0x7e87('0x6'));var util=require(_0x7e87('0x7'));var path=require(_0x7e87('0x8'));var sox=require(_0x7e87('0x9'));var csv=require(_0x7e87('0xa'));var ejs=require(_0x7e87('0xb'));var fs=require('fs');var fs_extra=require(_0x7e87('0xc'));var _=require(_0x7e87('0xd'));var squel=require(_0x7e87('0xe'));var crypto=require(_0x7e87('0xf'));var jsforce=require(_0x7e87('0x10'));var deskjs=require(_0x7e87('0x11'));var toCsv=require(_0x7e87('0xa'));var querystring=require(_0x7e87('0x12'));var Papa=require('papaparse');var Redis=require(_0x7e87('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x7e87('0x14'));var as=require(_0x7e87('0x15'));var hardwareService=require(_0x7e87('0x16'));var logger=require(_0x7e87('0x17'))(_0x7e87('0x18'));var utils=require(_0x7e87('0x19'));var config=require(_0x7e87('0x1a'));var licenseUtil=require(_0x7e87('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2b8b9a,_0x2862d1){_0x2862d1=_0x2862d1||0xcc;return function(_0x1ce380){if(_0x1ce380){return _0x2b8b9a[_0x7e87('0x1c')](_0x2862d1);}return _0x2b8b9a[_0x7e87('0x1d')](_0x2862d1)[_0x7e87('0x1e')]();};}function respondWithResult(_0x45fa4e,_0x36def9){_0x36def9=_0x36def9||0xc8;return function(_0x42fb53){if(_0x42fb53){return _0x45fa4e[_0x7e87('0x1d')](_0x36def9)[_0x7e87('0x1f')](_0x42fb53);}};}function respondWithFilteredResult(_0x5083b6,_0x2b4d77){return function(_0x516200){if(_0x516200){var _0x1bd3fd=typeof _0x2b4d77[_0x7e87('0x20')]===_0x7e87('0x21')&&typeof _0x2b4d77['limit']===_0x7e87('0x21');var _0x5b895e=_0x516200[_0x7e87('0x22')];var _0x5b1afe=_0x1bd3fd?0x0:_0x2b4d77[_0x7e87('0x20')];var _0x52504e=_0x1bd3fd?_0x516200[_0x7e87('0x22')]:_0x2b4d77['offset']+_0x2b4d77['limit'];var _0x8d0f54;if(_0x52504e>=_0x5b895e){_0x52504e=_0x5b895e;_0x8d0f54=0xc8;}else{_0x8d0f54=0xce;}_0x5083b6[_0x7e87('0x1d')](_0x8d0f54);return _0x5083b6[_0x7e87('0x23')](_0x7e87('0x24'),_0x5b1afe+'-'+_0x52504e+'/'+_0x5b895e)[_0x7e87('0x1f')](_0x516200);}return null;};}function patchUpdates(_0x5cdaf3){return function(_0x305447){try{jsonpatch[_0x7e87('0x25')](_0x305447,_0x5cdaf3,!![]);}catch(_0x3ea712){return BPromise['reject'](_0x3ea712);}return _0x305447[_0x7e87('0x26')]();};}function saveUpdates(_0x2e9c1f,_0x1e4930){return function(_0x331d05){if(_0x331d05){return _0x331d05[_0x7e87('0x27')](_0x2e9c1f)[_0x7e87('0x28')](function(_0x22ea1a){return _0x22ea1a;});}return null;};}function removeEntity(_0x18a539,_0x137e5a){return function(_0x59e605){if(_0x59e605){return _0x59e605[_0x7e87('0x29')]()[_0x7e87('0x28')](function(){var _0x29e57c=_0x59e605[_0x7e87('0x2a')]({'plain':!![]});var _0x16bddc=_0x7e87('0x2b');return db['UserProfileResource'][_0x7e87('0x29')]({'where':{'type':_0x16bddc,'resourceId':_0x29e57c['id']}})[_0x7e87('0x28')](function(){return _0x59e605;});})[_0x7e87('0x28')](function(){_0x18a539[_0x7e87('0x1d')](0xcc)[_0x7e87('0x1e')]();});}};}function handleEntityNotFound(_0x5f3e8a,_0x2b1713){return function(_0x2f6f3e){if(!_0x2f6f3e){_0x5f3e8a[_0x7e87('0x1c')](0x194);}return _0x2f6f3e;};}function handleError(_0x1992bd,_0x4d748f){_0x4d748f=_0x4d748f||0x1f4;return function(_0x4a29ec){logger[_0x7e87('0x2c')](_0x4a29ec[_0x7e87('0x2d')]);if(_0x4a29ec[_0x7e87('0x2e')]){delete _0x4a29ec[_0x7e87('0x2e')];}_0x1992bd[_0x7e87('0x1d')](_0x4d748f)['send'](_0x4a29ec);};}exports[_0x7e87('0x2f')]=function(_0x42853e,_0x15becf){var _0x2300c4={},_0x1218fb={},_0x28ce88={'count':0x0,'rows':[]};var _0xa604d9=_[_0x7e87('0x30')](db[_0x7e87('0x31')][_0x7e87('0x32')],function(_0x24c246){return{'name':_0x24c246[_0x7e87('0x33')],'type':_0x24c246[_0x7e87('0x34')]['key']};});_0x1218fb[_0x7e87('0x35')]=_[_0x7e87('0x30')](_0xa604d9,'name');_0x1218fb[_0x7e87('0x36')]=_[_0x7e87('0x37')](_0x42853e['query']);_0x1218fb['filters']=_[_0x7e87('0x38')](_0x1218fb[_0x7e87('0x35')],_0x1218fb[_0x7e87('0x36')]);_0x2300c4['attributes']=_['intersection'](_0x1218fb[_0x7e87('0x35')],qs[_0x7e87('0x39')](_0x42853e[_0x7e87('0x36')][_0x7e87('0x39')]));_0x2300c4[_0x7e87('0x3a')]=_0x2300c4[_0x7e87('0x3a')]['length']?_0x2300c4[_0x7e87('0x3a')]:_0x1218fb['model'];if(!_0x42853e[_0x7e87('0x36')][_0x7e87('0x3b')](_0x7e87('0x3c'))){_0x2300c4[_0x7e87('0x3d')]=qs[_0x7e87('0x3d')](_0x42853e[_0x7e87('0x36')]['limit']);_0x2300c4[_0x7e87('0x20')]=qs[_0x7e87('0x20')](_0x42853e[_0x7e87('0x36')][_0x7e87('0x20')]);}_0x2300c4['order']=qs[_0x7e87('0x3e')](_0x42853e[_0x7e87('0x36')][_0x7e87('0x3e')]);delete _0x42853e['query']['sort'];_0x2300c4[_0x7e87('0x3f')]=qs['filters'](_[_0x7e87('0x40')](_0x42853e['query'],_0x1218fb[_0x7e87('0x41')]),_0xa604d9);if(_0x42853e[_0x7e87('0x36')][_0x7e87('0x42')]){_0x2300c4[_0x7e87('0x3f')]=_[_0x7e87('0x43')](_0x2300c4[_0x7e87('0x3f')],{'$or':_['map'](_0xa604d9,function(_0x24b59b){if(_0x24b59b[_0x7e87('0x34')]!=='VIRTUAL'){var _0x6e875e={};_0x6e875e[_0x24b59b['name']]={'$like':'%'+_0x42853e['query']['filter']+'%'};return _0x6e875e;}})});}_0x2300c4=_['merge']({},_0x2300c4,_0x42853e['options']);var _0x274522={'where':_0x2300c4[_0x7e87('0x3f')]};return db[_0x7e87('0x31')][_0x7e87('0x22')](_0x274522)[_0x7e87('0x28')](function(_0x4e5c91){_0x28ce88['count']=_0x4e5c91;if(_0x42853e[_0x7e87('0x36')]['includeAll']){_0x2300c4[_0x7e87('0x44')]=[{'all':!![]}];}return db[_0x7e87('0x31')][_0x7e87('0x45')](_0x2300c4);})[_0x7e87('0x28')](function(_0x3ee33c){_0x28ce88[_0x7e87('0x46')]=_0x3ee33c;return _0x28ce88;})[_0x7e87('0x28')](respondWithFilteredResult(_0x15becf,_0x2300c4))[_0x7e87('0x47')](handleError(_0x15becf,null));};exports[_0x7e87('0x48')]=function(_0x583a26,_0x5793b4){var _0x2b9068={'raw':![],'where':{'id':_0x583a26[_0x7e87('0x49')]['id']}},_0x15c7eb={};_0x15c7eb['model']=_[_0x7e87('0x37')](db[_0x7e87('0x31')][_0x7e87('0x32')]);_0x15c7eb['query']=_[_0x7e87('0x37')](_0x583a26[_0x7e87('0x36')]);_0x15c7eb[_0x7e87('0x41')]=_[_0x7e87('0x38')](_0x15c7eb['model'],_0x15c7eb['query']);_0x2b9068['attributes']=_[_0x7e87('0x38')](_0x15c7eb['model'],qs[_0x7e87('0x39')](_0x583a26['query'][_0x7e87('0x39')]));_0x2b9068['attributes']=_0x2b9068[_0x7e87('0x3a')]['length']?_0x2b9068['attributes']:_0x15c7eb[_0x7e87('0x35')];if(_0x583a26[_0x7e87('0x36')][_0x7e87('0x4a')]){_0x2b9068[_0x7e87('0x44')]=[{'all':!![]}];}_0x2b9068=_['merge']({},_0x2b9068,_0x583a26[_0x7e87('0x4b')]);return db[_0x7e87('0x31')][_0x7e87('0x4c')](_0x2b9068)[_0x7e87('0x28')](handleEntityNotFound(_0x5793b4,null))['then'](respondWithResult(_0x5793b4,null))[_0x7e87('0x47')](handleError(_0x5793b4,null));};exports[_0x7e87('0x27')]=function(_0x519014,_0x390250){if(_0x519014[_0x7e87('0x4d')]['id']){delete _0x519014[_0x7e87('0x4d')]['id'];}return db[_0x7e87('0x31')][_0x7e87('0x4c')]({'where':{'id':_0x519014[_0x7e87('0x49')]['id']}})['then'](handleEntityNotFound(_0x390250,null))[_0x7e87('0x28')](saveUpdates(_0x519014[_0x7e87('0x4d')],null))['then'](respondWithResult(_0x390250,null))[_0x7e87('0x47')](handleError(_0x390250,null));};exports[_0x7e87('0x4e')]=function(_0x9a20dc,_0x267146,_0x19cc8f){return db[_0x7e87('0x4f')][_0x7e87('0x50')](function(_0x5a5382){if(_0x9a20dc['body']['mode']===_0x7e87('0x51')){_0x9a20dc[_0x7e87('0x4d')]['directory']=path[_0x7e87('0x52')](config[_0x7e87('0x53')],'server/files/moh',_0x9a20dc['body'][_0x7e87('0x2e')]);}return db[_0x7e87('0x31')][_0x7e87('0x4e')](_0x9a20dc[_0x7e87('0x4d')],{'transaction':_0x5a5382})['then'](function(_0x497241){if(_0x9a20dc['body'][_0x7e87('0x54')]===_0x7e87('0x51')){fs[_0x7e87('0x55')](_0x497241[_0x7e87('0x56')],parseInt('0777',0x8));}var _0x178e97=_0x9a20dc[_0x7e87('0x57')][_0x7e87('0x2a')]({'plain':!![]});if(!_0x178e97)throw new Error(_0x7e87('0x58'));if(_0x178e97[_0x7e87('0x59')]==='user'){var _0x17a2cc=_0x497241[_0x7e87('0x2a')]({'plain':!![]});return db['UserProfileSection'][_0x7e87('0x4c')]({'where':{'name':_0x7e87('0x2b'),'userProfileId':_0x178e97[_0x7e87('0x5a')]},'raw':!![]})[_0x7e87('0x28')](function(_0x5e1e87){if(_0x5e1e87&&_0x5e1e87[_0x7e87('0x5b')]===0x0){return db[_0x7e87('0x5c')][_0x7e87('0x4e')]({'name':_0x17a2cc[_0x7e87('0x2e')],'resourceId':_0x17a2cc['id'],'type':_0x5e1e87[_0x7e87('0x2e')],'sectionId':_0x5e1e87['id']},{})[_0x7e87('0x28')](function(){return _0x497241;});}else{return _0x497241;}})['catch'](function(_0x2f108a){logger[_0x7e87('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2f108a);});}return _0x497241;});})[_0x7e87('0x28')](respondWithResult(_0x267146,0xc9))[_0x7e87('0x47')](handleError(_0x267146,null));};exports[_0x7e87('0x29')]=function(_0x21a8da,_0x453393,_0x2f6d12){var _0x18d878;return db[_0x7e87('0x31')]['find']({'where':{'id':_0x21a8da[_0x7e87('0x49')]['id']}})['then'](function(_0x15f936){if(_0x15f936){return db[_0x7e87('0x4f')][_0x7e87('0x50')](function(_0x1b97d6){return _0x15f936[_0x7e87('0x29')]({'transaction':_0x1b97d6,'raw':!![]})[_0x7e87('0x28')](function(_0x2b0deb){if(_0x2b0deb[_0x7e87('0x56')]){fs[_0x7e87('0x5d')](_0x2b0deb[_0x7e87('0x56')])[_0x7e87('0x5e')](function(_0x63955a){fs['unlinkSync'](path[_0x7e87('0x52')](_0x2b0deb[_0x7e87('0x56')],_0x63955a));});fs[_0x7e87('0x5f')](_0x2b0deb['directory']);}return _0x2b0deb;});})[_0x7e87('0x47')](function(_0x190221){throw new db['Sequelize']['ValidationError'](_0x190221[_0x7e87('0x60')]);});}})['then'](handleEntityNotFound(_0x453393,null))['then'](removeEntity(_0x453393,null))[_0x7e87('0x47')](handleError(_0x453393,null));};exports[_0x7e87('0x61')]=function(_0x3fdda0,_0x3a8d0c,_0xfbec18){return db[_0x7e87('0x4f')]['transaction'](function(_0x47c4b1){var _0x30e47f;return db[_0x7e87('0x31')][_0x7e87('0x4c')]({'where':{'id':_0x3fdda0['params']['id']}})[_0x7e87('0x28')](function(_0x1df1c4){if(_0x1df1c4){_0x30e47f=_0x1df1c4;return _0x1df1c4['addSound'](_0x3fdda0[_0x7e87('0x4d')]['id'],{'transaction':_0x47c4b1});}})[_0x7e87('0x28')](function(_0x39e7a6){if(_0x39e7a6){return db[_0x7e87('0x62')][_0x7e87('0x63')]({'where':{'id':_0x3fdda0['body']['id']},'attributes':['id',_0x7e87('0x2e'),'save_name',_0x7e87('0x64'),'createdAt'],'raw':!![]});}})[_0x7e87('0x28')](function(_0x150df1){if(_0x150df1){var _0x5bec96=path['join'](config[_0x7e87('0x53')],_0x7e87('0x65'),util['format']('%s.%s',path[_0x7e87('0x66')](_0x150df1[_0x7e87('0x67')],path[_0x7e87('0x68')](_0x150df1[_0x7e87('0x67')])),_0x150df1[_0x7e87('0x64')]));var _0x253e5a=path['join'](config[_0x7e87('0x53')],_0x7e87('0x69'),_0x30e47f[_0x7e87('0x2e')],util[_0x7e87('0x6a')](_0x7e87('0x6b'),_0x150df1[_0x7e87('0x2e')],_0x150df1[_0x7e87('0x64')]));fs[_0x7e87('0x6c')](_0x5bec96,_0x253e5a);return _0x150df1;}})[_0x7e87('0x47')](function(_0x268223){throw new db['Sequelize'][(_0x7e87('0x6d'))](_0x268223['message']);});})['then'](handleEntityNotFound(_0x3a8d0c,null))[_0x7e87('0x28')](respondWithResult(_0x3a8d0c,0xc9))['catch'](handleError(_0x3a8d0c,null));};exports[_0x7e87('0x6e')]=function(_0x8a3c11,_0x559c27,_0x4d3f45){return db[_0x7e87('0x4f')]['transaction'](function(_0x39cc01){var _0x2a0a9d;return db[_0x7e87('0x31')]['findOne']({'where':{'id':_0x8a3c11['params']['id']}})[_0x7e87('0x28')](handleEntityNotFound(_0x559c27,null))[_0x7e87('0x28')](function(_0x57158a){if(_0x57158a){_0x2a0a9d=_0x57158a;return _0x57158a[_0x7e87('0x6e')](_0x8a3c11[_0x7e87('0x49')][_0x7e87('0x6f')]);}})['then'](function(_0x1407e4){if(_0x1407e4){return db[_0x7e87('0x62')][_0x7e87('0x63')]({'where':{'id':_0x8a3c11['params']['id2']},'attributes':['id',_0x7e87('0x2e'),_0x7e87('0x67'),_0x7e87('0x64'),_0x7e87('0x70')],'raw':!![]});}})[_0x7e87('0x28')](function(_0x35cea8){if(_0x35cea8){fs[_0x7e87('0x71')](path[_0x7e87('0x52')](_0x2a0a9d[_0x7e87('0x56')],util[_0x7e87('0x6a')](_0x7e87('0x6b'),_0x35cea8['name'],_0x35cea8['converted_format'])));return _0x35cea8;}})[_0x7e87('0x47')](function(_0x5d2d93){throw new db[(_0x7e87('0x72'))][(_0x7e87('0x6d'))](_0x5d2d93['message']);});})['then'](handleEntityNotFound(_0x559c27,null))[_0x7e87('0x28')](respondWithStatusCode(_0x559c27,0xcc))[_0x7e87('0x47')](handleError(_0x559c27,null));};exports[_0x7e87('0x73')]=function(_0x3346d5,_0x28fdd5,_0x4ad5d8){var _0xf48cde={};var _0x42f06c={};var _0x1a60d2;var _0x17386e;return db[_0x7e87('0x31')][_0x7e87('0x63')]({'where':{'id':_0x3346d5[_0x7e87('0x49')]['id']}})[_0x7e87('0x28')](handleEntityNotFound(_0x28fdd5,null))['then'](function(_0x55c7f7){if(_0x55c7f7){_0x1a60d2=_0x55c7f7;_0x42f06c[_0x7e87('0x35')]=_[_0x7e87('0x37')](db[_0x7e87('0x62')][_0x7e87('0x32')]);_0x42f06c['query']=_[_0x7e87('0x37')](_0x3346d5['query']);_0x42f06c[_0x7e87('0x41')]=_[_0x7e87('0x38')](_0x42f06c[_0x7e87('0x35')],_0x42f06c[_0x7e87('0x36')]);_0xf48cde['attributes']=_[_0x7e87('0x38')](_0x42f06c[_0x7e87('0x35')],qs[_0x7e87('0x39')](_0x3346d5[_0x7e87('0x36')][_0x7e87('0x39')]));_0xf48cde[_0x7e87('0x3a')]=_0xf48cde[_0x7e87('0x3a')]['length']?_0xf48cde[_0x7e87('0x3a')]:_0x42f06c[_0x7e87('0x35')];_0xf48cde[_0x7e87('0x74')]=qs[_0x7e87('0x3e')](_0x3346d5['query'][_0x7e87('0x3e')]);_0xf48cde[_0x7e87('0x3f')]=qs[_0x7e87('0x41')](_[_0x7e87('0x40')](_0x3346d5[_0x7e87('0x36')],_0x42f06c[_0x7e87('0x41')]));if(_0x3346d5[_0x7e87('0x36')][_0x7e87('0x42')]){_0xf48cde[_0x7e87('0x3f')]=_[_0x7e87('0x43')](_0xf48cde[_0x7e87('0x3f')],{'$or':_[_0x7e87('0x30')](_0xf48cde['attributes'],function(_0x412ce6){var _0x438bf1={};_0x438bf1[_0x412ce6]={'$like':'%'+_0x3346d5[_0x7e87('0x36')][_0x7e87('0x42')]+'%'};return _0x438bf1;})});}_0xf48cde=_[_0x7e87('0x43')]({},_0xf48cde,_0x3346d5[_0x7e87('0x4b')]);return _0x1a60d2[_0x7e87('0x73')](_0xf48cde);}})[_0x7e87('0x28')](function(_0xe2c77c){if(_0xe2c77c){_0x17386e=_0xe2c77c['length'];if(!_0x3346d5[_0x7e87('0x36')]['hasOwnProperty'](_0x7e87('0x3c'))){_0xf48cde[_0x7e87('0x3d')]=qs[_0x7e87('0x3d')](_0x3346d5[_0x7e87('0x36')]['limit']);_0xf48cde[_0x7e87('0x20')]=qs[_0x7e87('0x20')](_0x3346d5[_0x7e87('0x36')][_0x7e87('0x20')]);}return _0x1a60d2[_0x7e87('0x73')](_0xf48cde);}})[_0x7e87('0x28')](function(_0x8d43aa){if(_0x8d43aa){return _0x8d43aa?{'count':_0x17386e,'rows':_0x8d43aa}:null;}})['then'](respondWithResult(_0x28fdd5,null))[_0x7e87('0x47')](handleError(_0x28fdd5,null));};