Built motion from commit (unavailable).|2.5.23
[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 _0x1014=['join','root','server/files/moh','mkdirSync','directory','0777','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','UserProfileResource','transaction','readdirSync','forEach','rmdirSync','Sequelize','ValidationError','sequelize','addSound','Sound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','basename','extname','%s.%s','symlinkSync','message','removeSound','id2','unlinkSync','getSounds','hasOwnProperty','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','apply','reject','save','update','then','destroy','get','MusicOnHolds','error','stack','name','send','index','map','rawAttributes','fieldName','type','query','keys','filters','intersection','attributes','model','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','VoiceMusicOnHold','includeAll','rows','show','include','find','catch','body','params','create','mode','files'];(function(_0x36c38e,_0x5f1a49){var _0x415c33=function(_0x41869b){while(--_0x41869b){_0x36c38e['push'](_0x36c38e['shift']());}};_0x415c33(++_0x5f1a49);}(_0x1014,0x177));var _0x4101=function(_0x56b97b,_0x2e5bf3){_0x56b97b=_0x56b97b-0x0;var _0x193e9a=_0x1014[_0x56b97b];return _0x193e9a;};'use strict';var pdf=require(_0x4101('0x0'));var emlformat=require(_0x4101('0x1'));var rimraf=require(_0x4101('0x2'));var zipdir=require(_0x4101('0x3'));var jsonpatch=require(_0x4101('0x4'));var rp=require(_0x4101('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4101('0x6'));var util=require(_0x4101('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x4101('0x8'));var ejs=require(_0x4101('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x4101('0xa'));var crypto=require(_0x4101('0xb'));var jsforce=require(_0x4101('0xc'));var deskjs=require(_0x4101('0xd'));var toCsv=require(_0x4101('0x8'));var querystring=require(_0x4101('0xe'));var Papa=require(_0x4101('0xf'));var Redis=require(_0x4101('0x10'));var authService=require(_0x4101('0x11'));var qs=require(_0x4101('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x4101('0x13'))(_0x4101('0x14'));var utils=require(_0x4101('0x15'));var config=require(_0x4101('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x4101('0x17'))['db'];function respondWithStatusCode(_0xf05622,_0xc64c5a){_0xc64c5a=_0xc64c5a||0xcc;return function(_0x24427d){if(_0x24427d){return _0xf05622[_0x4101('0x18')](_0xc64c5a);}return _0xf05622[_0x4101('0x19')](_0xc64c5a)[_0x4101('0x1a')]();};}function respondWithResult(_0x1b353a,_0x238c07){_0x238c07=_0x238c07||0xc8;return function(_0x25e868){if(_0x25e868){return _0x1b353a[_0x4101('0x19')](_0x238c07)[_0x4101('0x1b')](_0x25e868);}};}function respondWithFilteredResult(_0xba032d,_0xaf72b6){return function(_0x3e9867){if(_0x3e9867){var _0x4ee65c=_0x3e9867[_0x4101('0x1c')],_0x2e8239=_0xaf72b6[_0x4101('0x1d')],_0x105f87=_0xaf72b6[_0x4101('0x1d')]+_0xaf72b6[_0x4101('0x1e')],_0x303d69;if(_0x105f87>=_0x4ee65c){_0x105f87=_0x4ee65c;_0x303d69=0xc8;}else{_0x303d69=0xce;}_0xba032d[_0x4101('0x19')](_0x303d69);return _0xba032d['set']('Content-Range',_0x2e8239+'-'+_0x105f87+'/'+_0x4ee65c)['json'](_0x3e9867);}return null;};}function patchUpdates(_0x1f12df){return function(_0x35f079){try{jsonpatch[_0x4101('0x1f')](_0x35f079,_0x1f12df,!![]);}catch(_0xb98a4){return BPromise[_0x4101('0x20')](_0xb98a4);}return _0x35f079[_0x4101('0x21')]();};}function saveUpdates(_0x29eecc,_0x387b25){return function(_0x35d981){if(_0x35d981){return _0x35d981[_0x4101('0x22')](_0x29eecc)[_0x4101('0x23')](function(_0x239faa){return _0x239faa;});}return null;};}function removeEntity(_0x27db31,_0x5bf536){return function(_0x173efa){if(_0x173efa){return _0x173efa[_0x4101('0x24')]()[_0x4101('0x23')](function(){var _0x2bd595=_0x173efa[_0x4101('0x25')]({'plain':!![]});var _0x15eef8=_0x4101('0x26');return db['UserProfileResource']['destroy']({'where':{'type':_0x15eef8,'resourceId':_0x2bd595['id']}})[_0x4101('0x23')](function(){return _0x173efa;});})[_0x4101('0x23')](function(){_0x27db31[_0x4101('0x19')](0xcc)[_0x4101('0x1a')]();});}};}function handleEntityNotFound(_0x40c9b0,_0x4359ea){return function(_0x8de8f6){if(!_0x8de8f6){_0x40c9b0[_0x4101('0x18')](0x194);}return _0x8de8f6;};}function handleError(_0x29c160,_0x28710e){_0x28710e=_0x28710e||0x1f4;return function(_0x2e477b){logger[_0x4101('0x27')](_0x2e477b[_0x4101('0x28')]);if(_0x2e477b[_0x4101('0x29')]){delete _0x2e477b['name'];}_0x29c160[_0x4101('0x19')](_0x28710e)[_0x4101('0x2a')](_0x2e477b);};}exports[_0x4101('0x2b')]=function(_0x4928a1,_0xf60f29){var _0x4d69b6={},_0x5aa1e8={},_0x480e2a={'count':0x0,'rows':[]};var _0x1ac2cc=_[_0x4101('0x2c')](db['VoiceMusicOnHold'][_0x4101('0x2d')],function(_0x348fc6){return{'name':_0x348fc6[_0x4101('0x2e')],'type':_0x348fc6[_0x4101('0x2f')]['key']};});_0x5aa1e8['model']=_[_0x4101('0x2c')](_0x1ac2cc,_0x4101('0x29'));_0x5aa1e8[_0x4101('0x30')]=_[_0x4101('0x31')](_0x4928a1['query']);_0x5aa1e8[_0x4101('0x32')]=_[_0x4101('0x33')](_0x5aa1e8['model'],_0x5aa1e8[_0x4101('0x30')]);_0x4d69b6[_0x4101('0x34')]=_[_0x4101('0x33')](_0x5aa1e8[_0x4101('0x35')],qs[_0x4101('0x36')](_0x4928a1['query']['fields']));_0x4d69b6['attributes']=_0x4d69b6['attributes'][_0x4101('0x37')]?_0x4d69b6[_0x4101('0x34')]:_0x5aa1e8[_0x4101('0x35')];if(!_0x4928a1['query']['hasOwnProperty'](_0x4101('0x38'))){_0x4d69b6[_0x4101('0x1e')]=qs[_0x4101('0x1e')](_0x4928a1['query']['limit']);_0x4d69b6[_0x4101('0x1d')]=qs[_0x4101('0x1d')](_0x4928a1[_0x4101('0x30')][_0x4101('0x1d')]);}_0x4d69b6[_0x4101('0x39')]=qs[_0x4101('0x3a')](_0x4928a1[_0x4101('0x30')][_0x4101('0x3a')]);_0x4d69b6[_0x4101('0x3b')]=qs[_0x4101('0x32')](_[_0x4101('0x3c')](_0x4928a1[_0x4101('0x30')],_0x5aa1e8[_0x4101('0x32')]),_0x1ac2cc);if(_0x4928a1['query'][_0x4101('0x3d')]){_0x4d69b6[_0x4101('0x3b')]=_[_0x4101('0x3e')](_0x4d69b6['where'],{'$or':_[_0x4101('0x2c')](_0x1ac2cc,function(_0x5cfa9c){if(_0x5cfa9c['type']!==_0x4101('0x3f')){var _0x3cadb1={};_0x3cadb1[_0x5cfa9c[_0x4101('0x29')]]={'$like':'%'+_0x4928a1[_0x4101('0x30')][_0x4101('0x3d')]+'%'};return _0x3cadb1;}})});}_0x4d69b6=_[_0x4101('0x3e')]({},_0x4d69b6,_0x4928a1[_0x4101('0x40')]);var _0x51fd36={'where':_0x4d69b6[_0x4101('0x3b')]};return db[_0x4101('0x41')][_0x4101('0x1c')](_0x51fd36)['then'](function(_0x15e5c2){_0x480e2a[_0x4101('0x1c')]=_0x15e5c2;if(_0x4928a1[_0x4101('0x30')][_0x4101('0x42')]){_0x4d69b6['include']=[{'all':!![]}];}return db[_0x4101('0x41')]['findAll'](_0x4d69b6);})[_0x4101('0x23')](function(_0x131771){_0x480e2a[_0x4101('0x43')]=_0x131771;return _0x480e2a;})[_0x4101('0x23')](respondWithFilteredResult(_0xf60f29,_0x4d69b6))['catch'](handleError(_0xf60f29,null));};exports[_0x4101('0x44')]=function(_0x35c726,_0x19634c){var _0x495b77={'raw':![],'where':{'id':_0x35c726['params']['id']}},_0x5322b4={};_0x5322b4[_0x4101('0x35')]=_[_0x4101('0x31')](db['VoiceMusicOnHold'][_0x4101('0x2d')]);_0x5322b4[_0x4101('0x30')]=_[_0x4101('0x31')](_0x35c726[_0x4101('0x30')]);_0x5322b4[_0x4101('0x32')]=_[_0x4101('0x33')](_0x5322b4['model'],_0x5322b4[_0x4101('0x30')]);_0x495b77[_0x4101('0x34')]=_[_0x4101('0x33')](_0x5322b4[_0x4101('0x35')],qs[_0x4101('0x36')](_0x35c726[_0x4101('0x30')][_0x4101('0x36')]));_0x495b77['attributes']=_0x495b77[_0x4101('0x34')][_0x4101('0x37')]?_0x495b77[_0x4101('0x34')]:_0x5322b4[_0x4101('0x35')];if(_0x35c726[_0x4101('0x30')][_0x4101('0x42')]){_0x495b77[_0x4101('0x45')]=[{'all':!![]}];}_0x495b77=_[_0x4101('0x3e')]({},_0x495b77,_0x35c726['options']);return db[_0x4101('0x41')][_0x4101('0x46')](_0x495b77)[_0x4101('0x23')](handleEntityNotFound(_0x19634c,null))[_0x4101('0x23')](respondWithResult(_0x19634c,null))[_0x4101('0x47')](handleError(_0x19634c,null));};exports['update']=function(_0x4fbb20,_0x5642b8){if(_0x4fbb20[_0x4101('0x48')]['id']){delete _0x4fbb20[_0x4101('0x48')]['id'];}return db['VoiceMusicOnHold'][_0x4101('0x46')]({'where':{'id':_0x4fbb20[_0x4101('0x49')]['id']}})[_0x4101('0x23')](handleEntityNotFound(_0x5642b8,null))[_0x4101('0x23')](saveUpdates(_0x4fbb20['body'],null))[_0x4101('0x23')](respondWithResult(_0x5642b8,null))['catch'](handleError(_0x5642b8,null));};exports[_0x4101('0x4a')]=function(_0x263064,_0xa62ab8,_0x52a49d){return db['sequelize']['transaction'](function(_0xb74997){if(_0x263064[_0x4101('0x48')][_0x4101('0x4b')]===_0x4101('0x4c')){_0x263064[_0x4101('0x48')]['directory']=path[_0x4101('0x4d')](config[_0x4101('0x4e')],_0x4101('0x4f'),_0x263064[_0x4101('0x48')][_0x4101('0x29')]);}return db[_0x4101('0x41')][_0x4101('0x4a')](_0x263064['body'],{'transaction':_0xb74997})[_0x4101('0x23')](function(_0x5339e6){if(_0x263064['body'][_0x4101('0x4b')]===_0x4101('0x4c')){fs[_0x4101('0x50')](_0x5339e6[_0x4101('0x51')],parseInt(_0x4101('0x52'),0x8));}var _0x2f6537=_0x263064['user'][_0x4101('0x25')]({'plain':!![]});if(!_0x2f6537)throw new Error(_0x4101('0x53'));if(_0x2f6537[_0x4101('0x54')]===_0x4101('0x55')){var _0x1a936e=_0x5339e6[_0x4101('0x25')]({'plain':!![]});return db[_0x4101('0x56')]['find']({'where':{'name':_0x4101('0x26'),'userProfileId':_0x2f6537[_0x4101('0x57')]},'raw':!![]})[_0x4101('0x23')](function(_0x438060){if(_0x438060&&_0x438060['autoAssociation']===0x0){return db[_0x4101('0x58')][_0x4101('0x4a')]({'name':_0x1a936e[_0x4101('0x29')],'resourceId':_0x1a936e['id'],'type':_0x438060[_0x4101('0x29')],'sectionId':_0x438060['id']},{})['then'](function(){return _0x5339e6;});}else{return _0x5339e6;}})[_0x4101('0x47')](function(_0x20ee6d){logger[_0x4101('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x20ee6d);});}return _0x5339e6;});})[_0x4101('0x23')](respondWithResult(_0xa62ab8,0xc9))[_0x4101('0x47')](handleError(_0xa62ab8,null));};exports[_0x4101('0x24')]=function(_0x411492,_0x480c26,_0x2fe893){var _0x562488;return db[_0x4101('0x41')][_0x4101('0x46')]({'where':{'id':_0x411492[_0x4101('0x49')]['id']}})[_0x4101('0x23')](function(_0xd7dbf5){if(_0xd7dbf5){return db['sequelize'][_0x4101('0x59')](function(_0x1c7a9a){return _0xd7dbf5[_0x4101('0x24')]({'transaction':_0x1c7a9a,'raw':!![]})[_0x4101('0x23')](function(_0x31d3da){if(_0x31d3da[_0x4101('0x51')]){fs[_0x4101('0x5a')](_0x31d3da[_0x4101('0x51')])[_0x4101('0x5b')](function(_0xcf5b34){fs['unlinkSync'](path[_0x4101('0x4d')](_0x31d3da[_0x4101('0x51')],_0xcf5b34));});fs[_0x4101('0x5c')](_0x31d3da[_0x4101('0x51')]);}return _0x31d3da;});})['catch'](function(_0x2ae94f){throw new db[(_0x4101('0x5d'))][(_0x4101('0x5e'))](_0x2ae94f['message']);});}})[_0x4101('0x23')](handleEntityNotFound(_0x480c26,null))[_0x4101('0x23')](removeEntity(_0x480c26,null))[_0x4101('0x47')](handleError(_0x480c26,null));};exports['addSound']=function(_0x5af901,_0x5237f9,_0x111a86){return db[_0x4101('0x5f')][_0x4101('0x59')](function(_0x47e050){var _0xbaf8a0;return db[_0x4101('0x41')][_0x4101('0x46')]({'where':{'id':_0x5af901[_0x4101('0x49')]['id']}})[_0x4101('0x23')](function(_0x10a6a4){if(_0x10a6a4){_0xbaf8a0=_0x10a6a4;return _0x10a6a4[_0x4101('0x60')](_0x5af901[_0x4101('0x48')]['id'],{'transaction':_0x47e050});}})['then'](function(_0x304382){if(_0x304382){return db[_0x4101('0x61')][_0x4101('0x62')]({'where':{'id':_0x5af901['body']['id']},'attributes':['id','name',_0x4101('0x63'),_0x4101('0x64'),_0x4101('0x65')],'raw':!![]});}})['then'](function(_0x4c0161){if(_0x4c0161){var _0x187fdf=path['join'](config[_0x4101('0x4e')],_0x4101('0x66'),util['format']('%s.%s',path[_0x4101('0x67')](_0x4c0161[_0x4101('0x63')],path[_0x4101('0x68')](_0x4c0161[_0x4101('0x63')])),_0x4c0161['converted_format']));var _0x1f7ccd=path[_0x4101('0x4d')](config[_0x4101('0x4e')],'server/files/moh',_0xbaf8a0[_0x4101('0x29')],util['format'](_0x4101('0x69'),_0x4c0161[_0x4101('0x29')],_0x4c0161[_0x4101('0x64')]));fs[_0x4101('0x6a')](_0x187fdf,_0x1f7ccd);return _0x4c0161;}})['catch'](function(_0x1f529f){throw new db[(_0x4101('0x5d'))][(_0x4101('0x5e'))](_0x1f529f[_0x4101('0x6b')]);});})[_0x4101('0x23')](handleEntityNotFound(_0x5237f9,null))[_0x4101('0x23')](respondWithResult(_0x5237f9,0xc9))[_0x4101('0x47')](handleError(_0x5237f9,null));};exports[_0x4101('0x6c')]=function(_0x4cd173,_0xfc5709,_0x9e74c1){return db[_0x4101('0x5f')][_0x4101('0x59')](function(_0x55eeff){var _0x35bef4;return db[_0x4101('0x41')][_0x4101('0x62')]({'where':{'id':_0x4cd173[_0x4101('0x49')]['id']}})[_0x4101('0x23')](handleEntityNotFound(_0xfc5709,null))[_0x4101('0x23')](function(_0x5cee30){if(_0x5cee30){_0x35bef4=_0x5cee30;return _0x5cee30[_0x4101('0x6c')](_0x4cd173[_0x4101('0x49')]['id2']);}})[_0x4101('0x23')](function(_0x1f7f19){if(_0x1f7f19){return db[_0x4101('0x61')][_0x4101('0x62')]({'where':{'id':_0x4cd173[_0x4101('0x49')][_0x4101('0x6d')]},'attributes':['id',_0x4101('0x29'),'save_name',_0x4101('0x64'),_0x4101('0x65')],'raw':!![]});}})[_0x4101('0x23')](function(_0x28f795){if(_0x28f795){fs[_0x4101('0x6e')](path[_0x4101('0x4d')](_0x35bef4[_0x4101('0x51')],util['format'](_0x4101('0x69'),_0x28f795[_0x4101('0x29')],_0x28f795[_0x4101('0x64')])));return _0x28f795;}})[_0x4101('0x47')](function(_0x2232ff){throw new db[(_0x4101('0x5d'))]['ValidationError'](_0x2232ff[_0x4101('0x6b')]);});})[_0x4101('0x23')](handleEntityNotFound(_0xfc5709,null))['then'](respondWithStatusCode(_0xfc5709,0xcc))[_0x4101('0x47')](handleError(_0xfc5709,null));};exports[_0x4101('0x6f')]=function(_0x3370a6,_0x2c786d,_0x47d4fa){var _0x418ead={};var _0x1dc8cd={};var _0x205785;var _0x4c175a;return db[_0x4101('0x41')]['findOne']({'where':{'id':_0x3370a6[_0x4101('0x49')]['id']}})[_0x4101('0x23')](handleEntityNotFound(_0x2c786d,null))[_0x4101('0x23')](function(_0x3aa2a1){if(_0x3aa2a1){_0x205785=_0x3aa2a1;_0x1dc8cd[_0x4101('0x35')]=_[_0x4101('0x31')](db[_0x4101('0x61')]['rawAttributes']);_0x1dc8cd[_0x4101('0x30')]=_[_0x4101('0x31')](_0x3370a6[_0x4101('0x30')]);_0x1dc8cd['filters']=_[_0x4101('0x33')](_0x1dc8cd[_0x4101('0x35')],_0x1dc8cd[_0x4101('0x30')]);_0x418ead[_0x4101('0x34')]=_[_0x4101('0x33')](_0x1dc8cd[_0x4101('0x35')],qs[_0x4101('0x36')](_0x3370a6[_0x4101('0x30')][_0x4101('0x36')]));_0x418ead['attributes']=_0x418ead['attributes']['length']?_0x418ead[_0x4101('0x34')]:_0x1dc8cd[_0x4101('0x35')];_0x418ead[_0x4101('0x39')]=qs['sort'](_0x3370a6[_0x4101('0x30')][_0x4101('0x3a')]);_0x418ead[_0x4101('0x3b')]=qs['filters'](_[_0x4101('0x3c')](_0x3370a6[_0x4101('0x30')],_0x1dc8cd[_0x4101('0x32')]));if(_0x3370a6[_0x4101('0x30')][_0x4101('0x3d')]){_0x418ead[_0x4101('0x3b')]=_[_0x4101('0x3e')](_0x418ead['where'],{'$or':_[_0x4101('0x2c')](_0x418ead[_0x4101('0x34')],function(_0x45ad2e){var _0x35e1b5={};_0x35e1b5[_0x45ad2e]={'$like':'%'+_0x3370a6['query'][_0x4101('0x3d')]+'%'};return _0x35e1b5;})});}_0x418ead=_['merge']({},_0x418ead,_0x3370a6[_0x4101('0x40')]);return _0x205785['getSounds'](_0x418ead);}})['then'](function(_0x1da3b1){if(_0x1da3b1){_0x4c175a=_0x1da3b1['length'];if(!_0x3370a6['query'][_0x4101('0x70')](_0x4101('0x38'))){_0x418ead[_0x4101('0x1e')]=qs[_0x4101('0x1e')](_0x3370a6[_0x4101('0x30')][_0x4101('0x1e')]);_0x418ead[_0x4101('0x1d')]=qs[_0x4101('0x1d')](_0x3370a6['query'][_0x4101('0x1d')]);}return _0x205785[_0x4101('0x6f')](_0x418ead);}})[_0x4101('0x23')](function(_0xc74eec){if(_0xc74eec){return _0xc74eec?{'count':_0x4c175a,'rows':_0xc74eec}:null;}})[_0x4101('0x23')](respondWithResult(_0x2c786d,null))[_0x4101('0x47')](handleError(_0x2c786d,null));};