23f5dd00dfb02a2a20d1c10610e405156693f055
[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 _0x148d=['where','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','find','body','create','sequelize','transaction','mode','files','directory','join','server/files/moh','mkdirSync','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','Sound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','%s.%s','basename','root','symlinkSync','removeSound','id2','getSounds','order','pick','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','then','get','MusicOnHolds','UserProfileResource','end','error','stack','name','send','map','VoiceMusicOnHold','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','sort'];(function(_0x9a713f,_0x38b13e){var _0x1af93b=function(_0x2b88d7){while(--_0x2b88d7){_0x9a713f['push'](_0x9a713f['shift']());}};_0x1af93b(++_0x38b13e);}(_0x148d,0x119));var _0xd148=function(_0x45801e,_0x571486){_0x45801e=_0x45801e-0x0;var _0x2e5394=_0x148d[_0x45801e];return _0x2e5394;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd148('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd148('0x1'));var rp=require('request-promise');var moment=require(_0xd148('0x2'));var BPromise=require(_0xd148('0x3'));var Mustache=require(_0xd148('0x4'));var util=require(_0xd148('0x5'));var path=require(_0xd148('0x6'));var sox=require(_0xd148('0x7'));var csv=require('to-csv');var ejs=require(_0xd148('0x8'));var fs=require('fs');var _=require(_0xd148('0x9'));var squel=require(_0xd148('0xa'));var crypto=require(_0xd148('0xb'));var jsforce=require(_0xd148('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xd148('0xd'));var querystring=require(_0xd148('0xe'));var Papa=require(_0xd148('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd148('0x10'));var logger=require('../../config/logger')(_0xd148('0x11'));var utils=require(_0xd148('0x12'));var config=require(_0xd148('0x13'));var licenseUtil=require(_0xd148('0x14'));var db=require(_0xd148('0x15'))['db'];function respondWithStatusCode(_0x3e095b,_0x5b513a){_0x5b513a=_0x5b513a||0xcc;return function(_0x632b36){if(_0x632b36){return _0x3e095b[_0xd148('0x16')](_0x5b513a);}return _0x3e095b[_0xd148('0x17')](_0x5b513a)['end']();};}function respondWithResult(_0x4b93d8,_0x280668){_0x280668=_0x280668||0xc8;return function(_0x276378){if(_0x276378){return _0x4b93d8['status'](_0x280668)[_0xd148('0x18')](_0x276378);}};}function respondWithFilteredResult(_0x56d1ff,_0x40930e){return function(_0x2f30de){if(_0x2f30de){var _0x409fe1=_0x2f30de[_0xd148('0x19')],_0x285858=_0x40930e[_0xd148('0x1a')],_0x3c5762=_0x40930e['offset']+_0x40930e[_0xd148('0x1b')],_0x7670cc;if(_0x3c5762>=_0x409fe1){_0x3c5762=_0x409fe1;_0x7670cc=0xc8;}else{_0x7670cc=0xce;}_0x56d1ff[_0xd148('0x17')](_0x7670cc);return _0x56d1ff[_0xd148('0x1c')](_0xd148('0x1d'),_0x285858+'-'+_0x3c5762+'/'+_0x409fe1)[_0xd148('0x18')](_0x2f30de);}return null;};}function patchUpdates(_0x284b2b){return function(_0x4a2226){try{jsonpatch[_0xd148('0x1e')](_0x4a2226,_0x284b2b,!![]);}catch(_0x3bc87a){return BPromise[_0xd148('0x1f')](_0x3bc87a);}return _0x4a2226['save']();};}function saveUpdates(_0x4f17ee,_0x1bf879){return function(_0x299781){if(_0x299781){return _0x299781[_0xd148('0x20')](_0x4f17ee)['then'](function(_0xb0788){return _0xb0788;});}return null;};}function removeEntity(_0x19e0ac,_0x300a0b){return function(_0x1823f9){if(_0x1823f9){return _0x1823f9[_0xd148('0x21')]()[_0xd148('0x22')](function(){var _0x23b7c9=_0x1823f9[_0xd148('0x23')]({'plain':!![]});var _0x84be8=_0xd148('0x24');return db[_0xd148('0x25')][_0xd148('0x21')]({'where':{'type':_0x84be8,'resourceId':_0x23b7c9['id']}})['then'](function(){return _0x1823f9;});})[_0xd148('0x22')](function(){_0x19e0ac['status'](0xcc)[_0xd148('0x26')]();});}};}function handleEntityNotFound(_0x57aa7b,_0x366243){return function(_0xdfd187){if(!_0xdfd187){_0x57aa7b[_0xd148('0x16')](0x194);}return _0xdfd187;};}function handleError(_0x81ef7e,_0x5a34dc){_0x5a34dc=_0x5a34dc||0x1f4;return function(_0x5594bb){logger[_0xd148('0x27')](_0x5594bb[_0xd148('0x28')]);if(_0x5594bb[_0xd148('0x29')]){delete _0x5594bb[_0xd148('0x29')];}_0x81ef7e[_0xd148('0x17')](_0x5a34dc)[_0xd148('0x2a')](_0x5594bb);};}exports['index']=function(_0x374a49,_0x5778a4){var _0x217989={},_0x242db0={},_0x34cacc={'count':0x0,'rows':[]};var _0x544244=_[_0xd148('0x2b')](db[_0xd148('0x2c')]['rawAttributes'],function(_0x5ae276){return{'name':_0x5ae276[_0xd148('0x2d')],'type':_0x5ae276[_0xd148('0x2e')][_0xd148('0x2f')]};});_0x242db0[_0xd148('0x30')]=_[_0xd148('0x2b')](_0x544244,_0xd148('0x29'));_0x242db0[_0xd148('0x31')]=_[_0xd148('0x32')](_0x374a49[_0xd148('0x31')]);_0x242db0[_0xd148('0x33')]=_['intersection'](_0x242db0[_0xd148('0x30')],_0x242db0[_0xd148('0x31')]);_0x217989[_0xd148('0x34')]=_[_0xd148('0x35')](_0x242db0[_0xd148('0x30')],qs[_0xd148('0x36')](_0x374a49['query'][_0xd148('0x36')]));_0x217989[_0xd148('0x34')]=_0x217989[_0xd148('0x34')]['length']?_0x217989[_0xd148('0x34')]:_0x242db0[_0xd148('0x30')];if(!_0x374a49['query'][_0xd148('0x37')](_0xd148('0x38'))){_0x217989[_0xd148('0x1b')]=qs[_0xd148('0x1b')](_0x374a49[_0xd148('0x31')]['limit']);_0x217989[_0xd148('0x1a')]=qs[_0xd148('0x1a')](_0x374a49[_0xd148('0x31')][_0xd148('0x1a')]);}_0x217989['order']=qs[_0xd148('0x39')](_0x374a49[_0xd148('0x31')]['sort']);_0x217989[_0xd148('0x3a')]=qs[_0xd148('0x33')](_['pick'](_0x374a49[_0xd148('0x31')],_0x242db0[_0xd148('0x33')]),_0x544244);if(_0x374a49[_0xd148('0x31')]['filter']){_0x217989[_0xd148('0x3a')]=_['merge'](_0x217989[_0xd148('0x3a')],{'$or':_[_0xd148('0x2b')](_0x544244,function(_0xb18df3){if(_0xb18df3[_0xd148('0x2e')]!==_0xd148('0x3b')){var _0x14e482={};_0x14e482[_0xb18df3[_0xd148('0x29')]]={'$like':'%'+_0x374a49[_0xd148('0x31')][_0xd148('0x3c')]+'%'};return _0x14e482;}})});}_0x217989=_[_0xd148('0x3d')]({},_0x217989,_0x374a49[_0xd148('0x3e')]);var _0x265aad={'where':_0x217989[_0xd148('0x3a')]};return db[_0xd148('0x2c')][_0xd148('0x19')](_0x265aad)['then'](function(_0x2b1770){_0x34cacc[_0xd148('0x19')]=_0x2b1770;if(_0x374a49['query'][_0xd148('0x3f')]){_0x217989[_0xd148('0x40')]=[{'all':!![]}];}return db[_0xd148('0x2c')][_0xd148('0x41')](_0x217989);})[_0xd148('0x22')](function(_0x330109){_0x34cacc[_0xd148('0x42')]=_0x330109;return _0x34cacc;})[_0xd148('0x22')](respondWithFilteredResult(_0x5778a4,_0x217989))[_0xd148('0x43')](handleError(_0x5778a4,null));};exports[_0xd148('0x44')]=function(_0x4bc86,_0x4bbb5b){var _0x26fd94={'raw':![],'where':{'id':_0x4bc86[_0xd148('0x45')]['id']}},_0x55704f={};_0x55704f[_0xd148('0x30')]=_[_0xd148('0x32')](db[_0xd148('0x2c')][_0xd148('0x46')]);_0x55704f[_0xd148('0x31')]=_[_0xd148('0x32')](_0x4bc86['query']);_0x55704f['filters']=_[_0xd148('0x35')](_0x55704f[_0xd148('0x30')],_0x55704f[_0xd148('0x31')]);_0x26fd94[_0xd148('0x34')]=_['intersection'](_0x55704f[_0xd148('0x30')],qs[_0xd148('0x36')](_0x4bc86[_0xd148('0x31')][_0xd148('0x36')]));_0x26fd94[_0xd148('0x34')]=_0x26fd94[_0xd148('0x34')][_0xd148('0x47')]?_0x26fd94[_0xd148('0x34')]:_0x55704f[_0xd148('0x30')];if(_0x4bc86[_0xd148('0x31')][_0xd148('0x3f')]){_0x26fd94[_0xd148('0x40')]=[{'all':!![]}];}_0x26fd94=_[_0xd148('0x3d')]({},_0x26fd94,_0x4bc86[_0xd148('0x3e')]);return db['VoiceMusicOnHold'][_0xd148('0x48')](_0x26fd94)[_0xd148('0x22')](handleEntityNotFound(_0x4bbb5b,null))['then'](respondWithResult(_0x4bbb5b,null))[_0xd148('0x43')](handleError(_0x4bbb5b,null));};exports['update']=function(_0x3b7691,_0x1eef1f){if(_0x3b7691[_0xd148('0x49')]['id']){delete _0x3b7691['body']['id'];}return db[_0xd148('0x2c')][_0xd148('0x48')]({'where':{'id':_0x3b7691[_0xd148('0x45')]['id']}})[_0xd148('0x22')](handleEntityNotFound(_0x1eef1f,null))[_0xd148('0x22')](saveUpdates(_0x3b7691['body'],null))[_0xd148('0x22')](respondWithResult(_0x1eef1f,null))[_0xd148('0x43')](handleError(_0x1eef1f,null));};exports[_0xd148('0x4a')]=function(_0x3b1e1f,_0x5c3b2c,_0x66820){return db[_0xd148('0x4b')][_0xd148('0x4c')](function(_0x554407){if(_0x3b1e1f[_0xd148('0x49')][_0xd148('0x4d')]===_0xd148('0x4e')){_0x3b1e1f[_0xd148('0x49')][_0xd148('0x4f')]=path[_0xd148('0x50')](config['root'],_0xd148('0x51'),_0x3b1e1f[_0xd148('0x49')][_0xd148('0x29')]);}return db[_0xd148('0x2c')][_0xd148('0x4a')](_0x3b1e1f[_0xd148('0x49')],{'transaction':_0x554407})['then'](function(_0x1eab7b){if(_0x3b1e1f[_0xd148('0x49')][_0xd148('0x4d')]===_0xd148('0x4e')){fs[_0xd148('0x52')](_0x1eab7b[_0xd148('0x4f')],parseInt(_0xd148('0x53'),0x8));}var _0x48e9b4=_0x3b1e1f[_0xd148('0x54')][_0xd148('0x23')]({'plain':!![]});if(!_0x48e9b4)throw new Error(_0xd148('0x55'));if(_0x48e9b4['role']===_0xd148('0x54')){var _0x19186c=_0x1eab7b[_0xd148('0x23')]({'plain':!![]});return db[_0xd148('0x56')][_0xd148('0x48')]({'where':{'name':_0xd148('0x24'),'userProfileId':_0x48e9b4[_0xd148('0x57')]},'raw':!![]})[_0xd148('0x22')](function(_0x427003){if(_0x427003&&_0x427003[_0xd148('0x58')]===0x0){return db[_0xd148('0x25')][_0xd148('0x4a')]({'name':_0x19186c['name'],'resourceId':_0x19186c['id'],'type':_0x427003[_0xd148('0x29')],'sectionId':_0x427003['id']},{})[_0xd148('0x22')](function(){return _0x1eab7b;});}else{return _0x1eab7b;}})['catch'](function(_0x6612cf){logger[_0xd148('0x27')](_0xd148('0x59'),_0x6612cf);});}return _0x1eab7b;});})[_0xd148('0x22')](respondWithResult(_0x5c3b2c,0xc9))['catch'](handleError(_0x5c3b2c,null));};exports['destroy']=function(_0x193646,_0x108b83,_0x4a57a1){var _0x464c31;return db['VoiceMusicOnHold'][_0xd148('0x48')]({'where':{'id':_0x193646[_0xd148('0x45')]['id']}})[_0xd148('0x22')](function(_0x1ae33d){if(_0x1ae33d){return db[_0xd148('0x4b')][_0xd148('0x4c')](function(_0x388f7d){return _0x1ae33d[_0xd148('0x21')]({'transaction':_0x388f7d,'raw':!![]})[_0xd148('0x22')](function(_0xb94f67){if(_0xb94f67[_0xd148('0x4f')]){fs[_0xd148('0x5a')](_0xb94f67[_0xd148('0x4f')])[_0xd148('0x5b')](function(_0x2db8fe){fs[_0xd148('0x5c')](path['join'](_0xb94f67[_0xd148('0x4f')],_0x2db8fe));});fs[_0xd148('0x5d')](_0xb94f67[_0xd148('0x4f')]);}return _0xb94f67;});})['catch'](function(_0x22b424){throw new db[(_0xd148('0x5e'))][(_0xd148('0x5f'))](_0x22b424[_0xd148('0x60')]);});}})[_0xd148('0x22')](handleEntityNotFound(_0x108b83,null))[_0xd148('0x22')](removeEntity(_0x108b83,null))['catch'](handleError(_0x108b83,null));};exports[_0xd148('0x61')]=function(_0x39c509,_0xda4c15,_0xfa84d8){return db[_0xd148('0x4b')][_0xd148('0x4c')](function(_0x3d31b5){var _0x517bc7;return db[_0xd148('0x2c')][_0xd148('0x48')]({'where':{'id':_0x39c509['params']['id']}})[_0xd148('0x22')](function(_0x5eacf0){if(_0x5eacf0){_0x517bc7=_0x5eacf0;return _0x5eacf0['addSound'](_0x39c509['body']['id'],{'transaction':_0x3d31b5});}})[_0xd148('0x22')](function(_0x2eacec){if(_0x2eacec){return db[_0xd148('0x62')][_0xd148('0x63')]({'where':{'id':_0x39c509['body']['id']},'attributes':['id','name',_0xd148('0x64'),_0xd148('0x65'),_0xd148('0x66')],'raw':!![]});}})[_0xd148('0x22')](function(_0x23a1a4){if(_0x23a1a4){var _0x4bc342=path['join'](config['root'],_0xd148('0x67'),util['format'](_0xd148('0x68'),path[_0xd148('0x69')](_0x23a1a4[_0xd148('0x64')],path['extname'](_0x23a1a4[_0xd148('0x64')])),_0x23a1a4[_0xd148('0x65')]));var _0x7b6fe4=path[_0xd148('0x50')](config[_0xd148('0x6a')],'server/files/moh',_0x517bc7[_0xd148('0x29')],util['format'](_0xd148('0x68'),_0x23a1a4[_0xd148('0x29')],_0x23a1a4[_0xd148('0x65')]));fs[_0xd148('0x6b')](_0x4bc342,_0x7b6fe4);return _0x23a1a4;}})['catch'](function(_0x1bfec8){throw new db['Sequelize']['ValidationError'](_0x1bfec8[_0xd148('0x60')]);});})['then'](handleEntityNotFound(_0xda4c15,null))['then'](respondWithResult(_0xda4c15,0xc9))[_0xd148('0x43')](handleError(_0xda4c15,null));};exports[_0xd148('0x6c')]=function(_0x18a8fc,_0x54462d,_0x625f56){return db[_0xd148('0x4b')][_0xd148('0x4c')](function(_0x1ff8c2){var _0x27cc30;return db[_0xd148('0x2c')][_0xd148('0x63')]({'where':{'id':_0x18a8fc[_0xd148('0x45')]['id']}})[_0xd148('0x22')](handleEntityNotFound(_0x54462d,null))[_0xd148('0x22')](function(_0x3c31de){if(_0x3c31de){_0x27cc30=_0x3c31de;return _0x3c31de[_0xd148('0x6c')](_0x18a8fc[_0xd148('0x45')][_0xd148('0x6d')]);}})['then'](function(_0xb8ddcc){if(_0xb8ddcc){return db[_0xd148('0x62')][_0xd148('0x63')]({'where':{'id':_0x18a8fc[_0xd148('0x45')][_0xd148('0x6d')]},'attributes':['id',_0xd148('0x29'),_0xd148('0x64'),_0xd148('0x65'),'createdAt'],'raw':!![]});}})[_0xd148('0x22')](function(_0xf64be3){if(_0xf64be3){fs['unlinkSync'](path[_0xd148('0x50')](_0x27cc30[_0xd148('0x4f')],util['format'](_0xd148('0x68'),_0xf64be3['name'],_0xf64be3[_0xd148('0x65')])));return _0xf64be3;}})['catch'](function(_0x2baabb){throw new db[(_0xd148('0x5e'))]['ValidationError'](_0x2baabb[_0xd148('0x60')]);});})[_0xd148('0x22')](handleEntityNotFound(_0x54462d,null))[_0xd148('0x22')](respondWithStatusCode(_0x54462d,0xcc))[_0xd148('0x43')](handleError(_0x54462d,null));};exports[_0xd148('0x6e')]=function(_0x29fcdc,_0x3ef34b,_0x3e4eb4){var _0x1a87b9={};var _0x2c7d48={};var _0x4b7960;var _0x43c3ba;return db[_0xd148('0x2c')][_0xd148('0x63')]({'where':{'id':_0x29fcdc[_0xd148('0x45')]['id']}})[_0xd148('0x22')](handleEntityNotFound(_0x3ef34b,null))[_0xd148('0x22')](function(_0x1a7786){if(_0x1a7786){_0x4b7960=_0x1a7786;_0x2c7d48[_0xd148('0x30')]=_[_0xd148('0x32')](db[_0xd148('0x62')][_0xd148('0x46')]);_0x2c7d48[_0xd148('0x31')]=_[_0xd148('0x32')](_0x29fcdc[_0xd148('0x31')]);_0x2c7d48[_0xd148('0x33')]=_['intersection'](_0x2c7d48['model'],_0x2c7d48[_0xd148('0x31')]);_0x1a87b9[_0xd148('0x34')]=_[_0xd148('0x35')](_0x2c7d48['model'],qs[_0xd148('0x36')](_0x29fcdc[_0xd148('0x31')][_0xd148('0x36')]));_0x1a87b9[_0xd148('0x34')]=_0x1a87b9['attributes']['length']?_0x1a87b9['attributes']:_0x2c7d48[_0xd148('0x30')];_0x1a87b9[_0xd148('0x6f')]=qs[_0xd148('0x39')](_0x29fcdc[_0xd148('0x31')][_0xd148('0x39')]);_0x1a87b9[_0xd148('0x3a')]=qs['filters'](_[_0xd148('0x70')](_0x29fcdc[_0xd148('0x31')],_0x2c7d48[_0xd148('0x33')]));if(_0x29fcdc['query'][_0xd148('0x3c')]){_0x1a87b9[_0xd148('0x3a')]=_[_0xd148('0x3d')](_0x1a87b9[_0xd148('0x3a')],{'$or':_['map'](_0x1a87b9[_0xd148('0x34')],function(_0xbd655d){var _0x3c6a15={};_0x3c6a15[_0xbd655d]={'$like':'%'+_0x29fcdc[_0xd148('0x31')]['filter']+'%'};return _0x3c6a15;})});}_0x1a87b9=_[_0xd148('0x3d')]({},_0x1a87b9,_0x29fcdc[_0xd148('0x3e')]);return _0x4b7960[_0xd148('0x6e')](_0x1a87b9);}})['then'](function(_0x4877bb){if(_0x4877bb){_0x43c3ba=_0x4877bb[_0xd148('0x47')];if(!_0x29fcdc['query']['hasOwnProperty'](_0xd148('0x38'))){_0x1a87b9['limit']=qs[_0xd148('0x1b')](_0x29fcdc['query'][_0xd148('0x1b')]);_0x1a87b9[_0xd148('0x1a')]=qs[_0xd148('0x1a')](_0x29fcdc[_0xd148('0x31')][_0xd148('0x1a')]);}return _0x4b7960[_0xd148('0x6e')](_0x1a87b9);}})[_0xd148('0x22')](function(_0x4af0d1){if(_0x4af0d1){return _0x4af0d1?{'count':_0x43c3ba,'rows':_0x4af0d1}:null;}})['then'](respondWithResult(_0x3ef34b,null))[_0xd148('0x43')](handleError(_0x3ef34b,null));};