Built motion from commit 3e059bc2.|2.5.32
[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 _0x50b5=['ValidationError','message','removeSound','id2','getSounds','order','pick','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','desk.js','to-csv','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','get','MusicOnHolds','UserProfileResource','then','error','stack','name','send','VoiceMusicOnHold','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','length','nolimit','sort','where','filter','merge','type','VIRTUAL','options','includeAll','rows','catch','params','keys','include','find','body','create','transaction','mode','files','join','server/files/moh','directory','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','addSound','sequelize','Sound','findOne','save_name','converted_format','createdAt','root','server/files/sounds/converted','format','%s.%s','extname','symlinkSync'];(function(_0x541ac8,_0x3588ec){var _0x4f031b=function(_0x21a28d){while(--_0x21a28d){_0x541ac8['push'](_0x541ac8['shift']());}};_0x4f031b(++_0x3588ec);}(_0x50b5,0x1bf));var _0x550b=function(_0x5a79e2,_0x319b1a){_0x5a79e2=_0x5a79e2-0x0;var _0x266c45=_0x50b5[_0x5a79e2];return _0x266c45;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x550b('0x0'));var zipdir=require(_0x550b('0x1'));var jsonpatch=require(_0x550b('0x2'));var rp=require(_0x550b('0x3'));var moment=require(_0x550b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x550b('0x5'));var util=require(_0x550b('0x6'));var path=require(_0x550b('0x7'));var sox=require(_0x550b('0x8'));var csv=require('to-csv');var ejs=require(_0x550b('0x9'));var fs=require('fs');var fs_extra=require(_0x550b('0xa'));var _=require(_0x550b('0xb'));var squel=require(_0x550b('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x550b('0xd'));var toCsv=require(_0x550b('0xe'));var querystring=require(_0x550b('0xf'));var Papa=require('papaparse');var Redis=require(_0x550b('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x550b('0x11'));var hardwareService=require(_0x550b('0x12'));var logger=require('../../config/logger')(_0x550b('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x550b('0x14'))['db'];function respondWithStatusCode(_0x29baa2,_0x1beaf1){_0x1beaf1=_0x1beaf1||0xcc;return function(_0x354de8){if(_0x354de8){return _0x29baa2[_0x550b('0x15')](_0x1beaf1);}return _0x29baa2[_0x550b('0x16')](_0x1beaf1)[_0x550b('0x17')]();};}function respondWithResult(_0x189365,_0x3475e7){_0x3475e7=_0x3475e7||0xc8;return function(_0x2e7e66){if(_0x2e7e66){return _0x189365['status'](_0x3475e7)[_0x550b('0x18')](_0x2e7e66);}};}function respondWithFilteredResult(_0x380168,_0xcbceef){return function(_0x3caac5){if(_0x3caac5){var _0x64991b=typeof _0xcbceef[_0x550b('0x19')]===_0x550b('0x1a')&&typeof _0xcbceef[_0x550b('0x1b')]===_0x550b('0x1a');var _0x4881fb=_0x3caac5[_0x550b('0x1c')];var _0x33f707=_0x64991b?0x0:_0xcbceef[_0x550b('0x19')];var _0x4db65b=_0x64991b?_0x3caac5['count']:_0xcbceef['offset']+_0xcbceef[_0x550b('0x1b')];var _0x50656d;if(_0x4db65b>=_0x4881fb){_0x4db65b=_0x4881fb;_0x50656d=0xc8;}else{_0x50656d=0xce;}_0x380168[_0x550b('0x16')](_0x50656d);return _0x380168[_0x550b('0x1d')](_0x550b('0x1e'),_0x33f707+'-'+_0x4db65b+'/'+_0x4881fb)[_0x550b('0x18')](_0x3caac5);}return null;};}function patchUpdates(_0x46c27c){return function(_0x32acb7){try{jsonpatch['apply'](_0x32acb7,_0x46c27c,!![]);}catch(_0x2a1e1a){return BPromise[_0x550b('0x1f')](_0x2a1e1a);}return _0x32acb7[_0x550b('0x20')]();};}function saveUpdates(_0xb5d88e,_0x34b5c5){return function(_0x2d5d6d){if(_0x2d5d6d){return _0x2d5d6d[_0x550b('0x21')](_0xb5d88e)['then'](function(_0xff770b){return _0xff770b;});}return null;};}function removeEntity(_0x48ead0,_0x1c58ba){return function(_0x5e0fb3){if(_0x5e0fb3){return _0x5e0fb3[_0x550b('0x22')]()['then'](function(){var _0x36939e=_0x5e0fb3[_0x550b('0x23')]({'plain':!![]});var _0x3a3bba=_0x550b('0x24');return db[_0x550b('0x25')]['destroy']({'where':{'type':_0x3a3bba,'resourceId':_0x36939e['id']}})[_0x550b('0x26')](function(){return _0x5e0fb3;});})[_0x550b('0x26')](function(){_0x48ead0[_0x550b('0x16')](0xcc)[_0x550b('0x17')]();});}};}function handleEntityNotFound(_0x27fbf3,_0x2b1635){return function(_0x357a01){if(!_0x357a01){_0x27fbf3[_0x550b('0x15')](0x194);}return _0x357a01;};}function handleError(_0x12833f,_0x22aefa){_0x22aefa=_0x22aefa||0x1f4;return function(_0x24d81a){logger[_0x550b('0x27')](_0x24d81a[_0x550b('0x28')]);if(_0x24d81a[_0x550b('0x29')]){delete _0x24d81a[_0x550b('0x29')];}_0x12833f['status'](_0x22aefa)[_0x550b('0x2a')](_0x24d81a);};}exports['index']=function(_0x5bef71,_0x40fdc9){var _0x1af3f6={},_0x4eba42={},_0x4af040={'count':0x0,'rows':[]};var _0x17e721=_['map'](db[_0x550b('0x2b')][_0x550b('0x2c')],function(_0x20e2ae){return{'name':_0x20e2ae[_0x550b('0x2d')],'type':_0x20e2ae['type'][_0x550b('0x2e')]};});_0x4eba42[_0x550b('0x2f')]=_[_0x550b('0x30')](_0x17e721,'name');_0x4eba42[_0x550b('0x31')]=_['keys'](_0x5bef71[_0x550b('0x31')]);_0x4eba42[_0x550b('0x32')]=_[_0x550b('0x33')](_0x4eba42['model'],_0x4eba42[_0x550b('0x31')]);_0x1af3f6[_0x550b('0x34')]=_[_0x550b('0x33')](_0x4eba42[_0x550b('0x2f')],qs[_0x550b('0x35')](_0x5bef71[_0x550b('0x31')][_0x550b('0x35')]));_0x1af3f6[_0x550b('0x34')]=_0x1af3f6[_0x550b('0x34')][_0x550b('0x36')]?_0x1af3f6['attributes']:_0x4eba42['model'];if(!_0x5bef71[_0x550b('0x31')]['hasOwnProperty'](_0x550b('0x37'))){_0x1af3f6[_0x550b('0x1b')]=qs['limit'](_0x5bef71[_0x550b('0x31')][_0x550b('0x1b')]);_0x1af3f6[_0x550b('0x19')]=qs[_0x550b('0x19')](_0x5bef71[_0x550b('0x31')][_0x550b('0x19')]);}_0x1af3f6['order']=qs['sort'](_0x5bef71[_0x550b('0x31')][_0x550b('0x38')]);delete _0x5bef71[_0x550b('0x31')]['sort'];_0x1af3f6[_0x550b('0x39')]=qs[_0x550b('0x32')](_['pick'](_0x5bef71[_0x550b('0x31')],_0x4eba42[_0x550b('0x32')]),_0x17e721);if(_0x5bef71['query'][_0x550b('0x3a')]){_0x1af3f6['where']=_[_0x550b('0x3b')](_0x1af3f6[_0x550b('0x39')],{'$or':_[_0x550b('0x30')](_0x17e721,function(_0x4c8e2e){if(_0x4c8e2e[_0x550b('0x3c')]!==_0x550b('0x3d')){var _0x5ae3f8={};_0x5ae3f8[_0x4c8e2e[_0x550b('0x29')]]={'$like':'%'+_0x5bef71['query']['filter']+'%'};return _0x5ae3f8;}})});}_0x1af3f6=_[_0x550b('0x3b')]({},_0x1af3f6,_0x5bef71[_0x550b('0x3e')]);var _0x3c091e={'where':_0x1af3f6[_0x550b('0x39')]};return db['VoiceMusicOnHold']['count'](_0x3c091e)[_0x550b('0x26')](function(_0x5f1568){_0x4af040['count']=_0x5f1568;if(_0x5bef71[_0x550b('0x31')][_0x550b('0x3f')]){_0x1af3f6['include']=[{'all':!![]}];}return db['VoiceMusicOnHold']['findAll'](_0x1af3f6);})[_0x550b('0x26')](function(_0x37b0c7){_0x4af040[_0x550b('0x40')]=_0x37b0c7;return _0x4af040;})[_0x550b('0x26')](respondWithFilteredResult(_0x40fdc9,_0x1af3f6))[_0x550b('0x41')](handleError(_0x40fdc9,null));};exports['show']=function(_0x560353,_0x2626c1){var _0x46bcf3={'raw':![],'where':{'id':_0x560353[_0x550b('0x42')]['id']}},_0x117d7c={};_0x117d7c[_0x550b('0x2f')]=_['keys'](db[_0x550b('0x2b')][_0x550b('0x2c')]);_0x117d7c[_0x550b('0x31')]=_[_0x550b('0x43')](_0x560353[_0x550b('0x31')]);_0x117d7c[_0x550b('0x32')]=_[_0x550b('0x33')](_0x117d7c[_0x550b('0x2f')],_0x117d7c[_0x550b('0x31')]);_0x46bcf3[_0x550b('0x34')]=_[_0x550b('0x33')](_0x117d7c['model'],qs[_0x550b('0x35')](_0x560353[_0x550b('0x31')]['fields']));_0x46bcf3['attributes']=_0x46bcf3[_0x550b('0x34')][_0x550b('0x36')]?_0x46bcf3[_0x550b('0x34')]:_0x117d7c[_0x550b('0x2f')];if(_0x560353['query'][_0x550b('0x3f')]){_0x46bcf3[_0x550b('0x44')]=[{'all':!![]}];}_0x46bcf3=_['merge']({},_0x46bcf3,_0x560353[_0x550b('0x3e')]);return db['VoiceMusicOnHold'][_0x550b('0x45')](_0x46bcf3)[_0x550b('0x26')](handleEntityNotFound(_0x2626c1,null))[_0x550b('0x26')](respondWithResult(_0x2626c1,null))[_0x550b('0x41')](handleError(_0x2626c1,null));};exports['update']=function(_0x4a77fb,_0x4f58ad){if(_0x4a77fb[_0x550b('0x46')]['id']){delete _0x4a77fb['body']['id'];}return db[_0x550b('0x2b')]['find']({'where':{'id':_0x4a77fb[_0x550b('0x42')]['id']}})[_0x550b('0x26')](handleEntityNotFound(_0x4f58ad,null))['then'](saveUpdates(_0x4a77fb[_0x550b('0x46')],null))[_0x550b('0x26')](respondWithResult(_0x4f58ad,null))[_0x550b('0x41')](handleError(_0x4f58ad,null));};exports[_0x550b('0x47')]=function(_0x252607,_0x3bb0d0,_0x40b4c2){return db['sequelize'][_0x550b('0x48')](function(_0x187456){if(_0x252607[_0x550b('0x46')][_0x550b('0x49')]===_0x550b('0x4a')){_0x252607[_0x550b('0x46')]['directory']=path[_0x550b('0x4b')](config['root'],_0x550b('0x4c'),_0x252607[_0x550b('0x46')]['name']);}return db[_0x550b('0x2b')]['create'](_0x252607['body'],{'transaction':_0x187456})[_0x550b('0x26')](function(_0x4c0c2a){if(_0x252607[_0x550b('0x46')]['mode']===_0x550b('0x4a')){fs['mkdirSync'](_0x4c0c2a[_0x550b('0x4d')],parseInt(_0x550b('0x4e'),0x8));}var _0x5c059f=_0x252607[_0x550b('0x4f')][_0x550b('0x23')]({'plain':!![]});if(!_0x5c059f)throw new Error(_0x550b('0x50'));if(_0x5c059f[_0x550b('0x51')]===_0x550b('0x4f')){var _0x433b1f=_0x4c0c2a[_0x550b('0x23')]({'plain':!![]});return db['UserProfileSection']['find']({'where':{'name':_0x550b('0x24'),'userProfileId':_0x5c059f[_0x550b('0x52')]},'raw':!![]})[_0x550b('0x26')](function(_0x596ec9){if(_0x596ec9&&_0x596ec9[_0x550b('0x53')]===0x0){return db[_0x550b('0x25')]['create']({'name':_0x433b1f[_0x550b('0x29')],'resourceId':_0x433b1f['id'],'type':_0x596ec9[_0x550b('0x29')],'sectionId':_0x596ec9['id']},{})[_0x550b('0x26')](function(){return _0x4c0c2a;});}else{return _0x4c0c2a;}})[_0x550b('0x41')](function(_0x5133e2){logger[_0x550b('0x27')](_0x550b('0x54'),_0x5133e2);});}return _0x4c0c2a;});})['then'](respondWithResult(_0x3bb0d0,0xc9))['catch'](handleError(_0x3bb0d0,null));};exports[_0x550b('0x22')]=function(_0x5a45b1,_0x2dc489,_0x8a62e3){var _0x563a61;return db[_0x550b('0x2b')]['find']({'where':{'id':_0x5a45b1['params']['id']}})[_0x550b('0x26')](function(_0x5de1f1){if(_0x5de1f1){return db['sequelize'][_0x550b('0x48')](function(_0x811c5e){return _0x5de1f1[_0x550b('0x22')]({'transaction':_0x811c5e,'raw':!![]})['then'](function(_0x34c4c2){if(_0x34c4c2['directory']){fs[_0x550b('0x55')](_0x34c4c2['directory'])[_0x550b('0x56')](function(_0x16708c){fs[_0x550b('0x57')](path[_0x550b('0x4b')](_0x34c4c2['directory'],_0x16708c));});fs[_0x550b('0x58')](_0x34c4c2[_0x550b('0x4d')]);}return _0x34c4c2;});})[_0x550b('0x41')](function(_0x4039f2){throw new db[(_0x550b('0x59'))]['ValidationError'](_0x4039f2['message']);});}})[_0x550b('0x26')](handleEntityNotFound(_0x2dc489,null))['then'](removeEntity(_0x2dc489,null))['catch'](handleError(_0x2dc489,null));};exports[_0x550b('0x5a')]=function(_0x3bab17,_0x507b96,_0x2360cb){return db[_0x550b('0x5b')]['transaction'](function(_0x2d7558){var _0x429243;return db[_0x550b('0x2b')]['find']({'where':{'id':_0x3bab17[_0x550b('0x42')]['id']}})[_0x550b('0x26')](function(_0x5ea5d3){if(_0x5ea5d3){_0x429243=_0x5ea5d3;return _0x5ea5d3[_0x550b('0x5a')](_0x3bab17[_0x550b('0x46')]['id'],{'transaction':_0x2d7558});}})[_0x550b('0x26')](function(_0x3b5ffd){if(_0x3b5ffd){return db[_0x550b('0x5c')][_0x550b('0x5d')]({'where':{'id':_0x3bab17[_0x550b('0x46')]['id']},'attributes':['id','name',_0x550b('0x5e'),_0x550b('0x5f'),_0x550b('0x60')],'raw':!![]});}})[_0x550b('0x26')](function(_0x250251){if(_0x250251){var _0x1d3537=path['join'](config[_0x550b('0x61')],_0x550b('0x62'),util[_0x550b('0x63')](_0x550b('0x64'),path['basename'](_0x250251[_0x550b('0x5e')],path[_0x550b('0x65')](_0x250251[_0x550b('0x5e')])),_0x250251['converted_format']));var _0x1cb3cd=path[_0x550b('0x4b')](config['root'],_0x550b('0x4c'),_0x429243[_0x550b('0x29')],util['format'](_0x550b('0x64'),_0x250251[_0x550b('0x29')],_0x250251[_0x550b('0x5f')]));fs[_0x550b('0x66')](_0x1d3537,_0x1cb3cd);return _0x250251;}})[_0x550b('0x41')](function(_0x660ecf){throw new db[(_0x550b('0x59'))][(_0x550b('0x67'))](_0x660ecf[_0x550b('0x68')]);});})['then'](handleEntityNotFound(_0x507b96,null))[_0x550b('0x26')](respondWithResult(_0x507b96,0xc9))[_0x550b('0x41')](handleError(_0x507b96,null));};exports[_0x550b('0x69')]=function(_0x30270f,_0x474d8b,_0x2a8908){return db[_0x550b('0x5b')][_0x550b('0x48')](function(_0x3524e7){var _0x5e560d;return db['VoiceMusicOnHold'][_0x550b('0x5d')]({'where':{'id':_0x30270f[_0x550b('0x42')]['id']}})[_0x550b('0x26')](handleEntityNotFound(_0x474d8b,null))[_0x550b('0x26')](function(_0x5b46a6){if(_0x5b46a6){_0x5e560d=_0x5b46a6;return _0x5b46a6[_0x550b('0x69')](_0x30270f[_0x550b('0x42')][_0x550b('0x6a')]);}})[_0x550b('0x26')](function(_0x5db781){if(_0x5db781){return db[_0x550b('0x5c')][_0x550b('0x5d')]({'where':{'id':_0x30270f[_0x550b('0x42')]['id2']},'attributes':['id',_0x550b('0x29'),_0x550b('0x5e'),'converted_format','createdAt'],'raw':!![]});}})[_0x550b('0x26')](function(_0x1d0b1b){if(_0x1d0b1b){fs[_0x550b('0x57')](path[_0x550b('0x4b')](_0x5e560d[_0x550b('0x4d')],util[_0x550b('0x63')]('%s.%s',_0x1d0b1b[_0x550b('0x29')],_0x1d0b1b['converted_format'])));return _0x1d0b1b;}})[_0x550b('0x41')](function(_0x2f0084){throw new db[(_0x550b('0x59'))][(_0x550b('0x67'))](_0x2f0084[_0x550b('0x68')]);});})[_0x550b('0x26')](handleEntityNotFound(_0x474d8b,null))['then'](respondWithStatusCode(_0x474d8b,0xcc))[_0x550b('0x41')](handleError(_0x474d8b,null));};exports[_0x550b('0x6b')]=function(_0x4ddc72,_0x3a49eb,_0x48f3bd){var _0x4df65d={};var _0x553500={};var _0x39215f;var _0x563d0b;return db[_0x550b('0x2b')][_0x550b('0x5d')]({'where':{'id':_0x4ddc72[_0x550b('0x42')]['id']}})[_0x550b('0x26')](handleEntityNotFound(_0x3a49eb,null))[_0x550b('0x26')](function(_0x3a63df){if(_0x3a63df){_0x39215f=_0x3a63df;_0x553500[_0x550b('0x2f')]=_[_0x550b('0x43')](db['Sound'][_0x550b('0x2c')]);_0x553500[_0x550b('0x31')]=_['keys'](_0x4ddc72[_0x550b('0x31')]);_0x553500[_0x550b('0x32')]=_[_0x550b('0x33')](_0x553500[_0x550b('0x2f')],_0x553500[_0x550b('0x31')]);_0x4df65d[_0x550b('0x34')]=_[_0x550b('0x33')](_0x553500['model'],qs[_0x550b('0x35')](_0x4ddc72['query']['fields']));_0x4df65d['attributes']=_0x4df65d[_0x550b('0x34')][_0x550b('0x36')]?_0x4df65d[_0x550b('0x34')]:_0x553500[_0x550b('0x2f')];_0x4df65d[_0x550b('0x6c')]=qs[_0x550b('0x38')](_0x4ddc72[_0x550b('0x31')][_0x550b('0x38')]);_0x4df65d[_0x550b('0x39')]=qs[_0x550b('0x32')](_[_0x550b('0x6d')](_0x4ddc72[_0x550b('0x31')],_0x553500['filters']));if(_0x4ddc72[_0x550b('0x31')]['filter']){_0x4df65d[_0x550b('0x39')]=_[_0x550b('0x3b')](_0x4df65d[_0x550b('0x39')],{'$or':_[_0x550b('0x30')](_0x4df65d[_0x550b('0x34')],function(_0x5f01f1){var _0x9034d1={};_0x9034d1[_0x5f01f1]={'$like':'%'+_0x4ddc72[_0x550b('0x31')]['filter']+'%'};return _0x9034d1;})});}_0x4df65d=_[_0x550b('0x3b')]({},_0x4df65d,_0x4ddc72[_0x550b('0x3e')]);return _0x39215f[_0x550b('0x6b')](_0x4df65d);}})[_0x550b('0x26')](function(_0x1f5eee){if(_0x1f5eee){_0x563d0b=_0x1f5eee['length'];if(!_0x4ddc72[_0x550b('0x31')]['hasOwnProperty'](_0x550b('0x37'))){_0x4df65d[_0x550b('0x1b')]=qs[_0x550b('0x1b')](_0x4ddc72[_0x550b('0x31')][_0x550b('0x1b')]);_0x4df65d[_0x550b('0x19')]=qs[_0x550b('0x19')](_0x4ddc72[_0x550b('0x31')][_0x550b('0x19')]);}return _0x39215f[_0x550b('0x6b')](_0x4df65d);}})[_0x550b('0x26')](function(_0x1bb743){if(_0x1bb743){return _0x1bb743?{'count':_0x563d0b,'rows':_0x1bb743}:null;}})[_0x550b('0x26')](respondWithResult(_0x3a49eb,null))[_0x550b('0x41')](handleError(_0x3a49eb,null));};