Built motion from commit (unavailable).|2.5.17
[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 _0x40ab=['request-promise','moment','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','offset','limit','set','Content-Range','apply','reject','save','destroy','then','get','UserProfileResource','sendStatus','error','stack','name','VoiceMusicOnHold','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','includeAll','findAll','catch','show','params','filters','fields','include','options','find','body','create','sequelize','mode','join','mkdirSync','directory','0777','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','MusicOnHolds','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','transaction','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','Sound','createdAt','root','server/files/sounds/converted','format','%s.%s','basename','save_name','extname','converted_format','server/files/moh','symlinkSync','removeSound','id2','findOne','getSounds','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch'];(function(_0x2094bb,_0x4b4068){var _0x39615c=function(_0x34db99){while(--_0x34db99){_0x2094bb['push'](_0x2094bb['shift']());}};_0x39615c(++_0x4b4068);}(_0x40ab,0x1c3));var _0xb40a=function(_0x2907cf,_0x43c4ee){_0x2907cf=_0x2907cf-0x0;var _0x67470=_0x40ab[_0x2907cf];return _0x67470;};'use strict';var pdf=require(_0xb40a('0x0'));var emlformat=require(_0xb40a('0x1'));var rimraf=require(_0xb40a('0x2'));var zipdir=require(_0xb40a('0x3'));var jsonpatch=require(_0xb40a('0x4'));var rp=require(_0xb40a('0x5'));var moment=require(_0xb40a('0x6'));var BPromise=require('bluebird');var Mustache=require(_0xb40a('0x7'));var util=require(_0xb40a('0x8'));var path=require(_0xb40a('0x9'));var sox=require('sox');var csv=require(_0xb40a('0xa'));var ejs=require(_0xb40a('0xb'));var fs=require('fs');var _=require(_0xb40a('0xc'));var squel=require('squel');var crypto=require(_0xb40a('0xd'));var jsforce=require(_0xb40a('0xe'));var deskjs=require(_0xb40a('0xf'));var toCsv=require(_0xb40a('0xa'));var querystring=require(_0xb40a('0x10'));var Papa=require(_0xb40a('0x11'));var Redis=require(_0xb40a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xb40a('0x13'));var as=require(_0xb40a('0x14'));var hardwareService=require(_0xb40a('0x15'));var logger=require(_0xb40a('0x16'))(_0xb40a('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xb40a('0x18'));var db=require(_0xb40a('0x19'))['db'];function respondWithStatusCode(_0x3be5d4,_0x308944){_0x308944=_0x308944||0xcc;return function(_0x186ad7){if(_0x186ad7){return _0x3be5d4['sendStatus'](_0x308944);}return _0x3be5d4[_0xb40a('0x1a')](_0x308944)[_0xb40a('0x1b')]();};}function respondWithResult(_0x36316a,_0x359b2d){_0x359b2d=_0x359b2d||0xc8;return function(_0x32abaf){if(_0x32abaf){return _0x36316a[_0xb40a('0x1a')](_0x359b2d)[_0xb40a('0x1c')](_0x32abaf);}};}function respondWithFilteredResult(_0x442289,_0x43515d){return function(_0x141154){if(_0x141154){var _0x3f4a45=_0x141154['count'],_0x1d2ced=_0x43515d[_0xb40a('0x1d')],_0x42864d=_0x43515d[_0xb40a('0x1d')]+_0x43515d[_0xb40a('0x1e')],_0x540fb9;if(_0x42864d>=_0x3f4a45){_0x42864d=_0x3f4a45;_0x540fb9=0xc8;}else{_0x540fb9=0xce;}_0x442289[_0xb40a('0x1a')](_0x540fb9);return _0x442289[_0xb40a('0x1f')](_0xb40a('0x20'),_0x1d2ced+'-'+_0x42864d+'/'+_0x3f4a45)[_0xb40a('0x1c')](_0x141154);}return null;};}function patchUpdates(_0x474da0){return function(_0x21fe21){try{jsonpatch[_0xb40a('0x21')](_0x21fe21,_0x474da0,!![]);}catch(_0x4aa2bb){return BPromise[_0xb40a('0x22')](_0x4aa2bb);}return _0x21fe21[_0xb40a('0x23')]();};}function saveUpdates(_0x160b48,_0x27ac9c){return function(_0x8652f5){if(_0x8652f5){return _0x8652f5['update'](_0x160b48)['then'](function(_0x1e2f68){return _0x1e2f68;});}return null;};}function removeEntity(_0x2bbcac,_0x436313){return function(_0xf07b){if(_0xf07b){return _0xf07b[_0xb40a('0x24')]()[_0xb40a('0x25')](function(){var _0x17dd4e=_0xf07b[_0xb40a('0x26')]({'plain':!![]});var _0x5d8024='MusicOnHolds';return db[_0xb40a('0x27')]['destroy']({'where':{'type':_0x5d8024,'resourceId':_0x17dd4e['id']}})['then'](function(){return _0xf07b;});})[_0xb40a('0x25')](function(){_0x2bbcac[_0xb40a('0x1a')](0xcc)[_0xb40a('0x1b')]();});}};}function handleEntityNotFound(_0x298ff5,_0x479ef9){return function(_0x1f0894){if(!_0x1f0894){_0x298ff5[_0xb40a('0x28')](0x194);}return _0x1f0894;};}function handleError(_0x1ae76c,_0x3502e7){_0x3502e7=_0x3502e7||0x1f4;return function(_0x2921d9){logger[_0xb40a('0x29')](_0x2921d9[_0xb40a('0x2a')]);if(_0x2921d9[_0xb40a('0x2b')]){delete _0x2921d9[_0xb40a('0x2b')];}_0x1ae76c[_0xb40a('0x1a')](_0x3502e7)['send'](_0x2921d9);};}exports['index']=function(_0x5e8961,_0x1575c2){var _0x23a7ad={},_0x381df9={},_0x39f790={'count':0x0,'rows':[]};var _0x143479=_['map'](db[_0xb40a('0x2c')][_0xb40a('0x2d')],function(_0x53f52d){return{'name':_0x53f52d[_0xb40a('0x2e')],'type':_0x53f52d[_0xb40a('0x2f')][_0xb40a('0x30')]};});_0x381df9[_0xb40a('0x31')]=_[_0xb40a('0x32')](_0x143479,_0xb40a('0x2b'));_0x381df9[_0xb40a('0x33')]=_[_0xb40a('0x34')](_0x5e8961[_0xb40a('0x33')]);_0x381df9['filters']=_[_0xb40a('0x35')](_0x381df9[_0xb40a('0x31')],_0x381df9[_0xb40a('0x33')]);_0x23a7ad['attributes']=_[_0xb40a('0x35')](_0x381df9[_0xb40a('0x31')],qs['fields'](_0x5e8961[_0xb40a('0x33')]['fields']));_0x23a7ad[_0xb40a('0x36')]=_0x23a7ad[_0xb40a('0x36')][_0xb40a('0x37')]?_0x23a7ad[_0xb40a('0x36')]:_0x381df9['model'];if(!_0x5e8961[_0xb40a('0x33')][_0xb40a('0x38')](_0xb40a('0x39'))){_0x23a7ad['limit']=qs[_0xb40a('0x1e')](_0x5e8961[_0xb40a('0x33')][_0xb40a('0x1e')]);_0x23a7ad[_0xb40a('0x1d')]=qs[_0xb40a('0x1d')](_0x5e8961[_0xb40a('0x33')][_0xb40a('0x1d')]);}_0x23a7ad[_0xb40a('0x3a')]=qs[_0xb40a('0x3b')](_0x5e8961[_0xb40a('0x33')][_0xb40a('0x3b')]);_0x23a7ad[_0xb40a('0x3c')]=qs['filters'](_['pick'](_0x5e8961[_0xb40a('0x33')],_0x381df9['filters']),_0x143479);if(_0x5e8961[_0xb40a('0x33')][_0xb40a('0x3d')]){_0x23a7ad['where']=_[_0xb40a('0x3e')](_0x23a7ad[_0xb40a('0x3c')],{'$or':_[_0xb40a('0x32')](_0x143479,function(_0x1917b4){if(_0x1917b4['type']!=='VIRTUAL'){var _0xc0e573={};_0xc0e573[_0x1917b4[_0xb40a('0x2b')]]={'$like':'%'+_0x5e8961[_0xb40a('0x33')][_0xb40a('0x3d')]+'%'};return _0xc0e573;}})});}_0x23a7ad=_[_0xb40a('0x3e')]({},_0x23a7ad,_0x5e8961['options']);var _0x1d75b1={'where':_0x23a7ad[_0xb40a('0x3c')]};return db[_0xb40a('0x2c')]['count'](_0x1d75b1)[_0xb40a('0x25')](function(_0x214547){_0x39f790['count']=_0x214547;if(_0x5e8961[_0xb40a('0x33')][_0xb40a('0x3f')]){_0x23a7ad['include']=[{'all':!![]}];}return db[_0xb40a('0x2c')][_0xb40a('0x40')](_0x23a7ad);})[_0xb40a('0x25')](function(_0x3a32d2){_0x39f790['rows']=_0x3a32d2;return _0x39f790;})[_0xb40a('0x25')](respondWithFilteredResult(_0x1575c2,_0x23a7ad))[_0xb40a('0x41')](handleError(_0x1575c2,null));};exports[_0xb40a('0x42')]=function(_0x15831f,_0x313cd0){var _0x2f1c72={'raw':![],'where':{'id':_0x15831f[_0xb40a('0x43')]['id']}},_0x25294d={};_0x25294d['model']=_[_0xb40a('0x34')](db[_0xb40a('0x2c')][_0xb40a('0x2d')]);_0x25294d[_0xb40a('0x33')]=_[_0xb40a('0x34')](_0x15831f['query']);_0x25294d[_0xb40a('0x44')]=_[_0xb40a('0x35')](_0x25294d[_0xb40a('0x31')],_0x25294d[_0xb40a('0x33')]);_0x2f1c72[_0xb40a('0x36')]=_[_0xb40a('0x35')](_0x25294d[_0xb40a('0x31')],qs[_0xb40a('0x45')](_0x15831f[_0xb40a('0x33')][_0xb40a('0x45')]));_0x2f1c72['attributes']=_0x2f1c72['attributes'][_0xb40a('0x37')]?_0x2f1c72['attributes']:_0x25294d['model'];if(_0x15831f[_0xb40a('0x33')][_0xb40a('0x3f')]){_0x2f1c72[_0xb40a('0x46')]=[{'all':!![]}];}_0x2f1c72=_['merge']({},_0x2f1c72,_0x15831f[_0xb40a('0x47')]);return db[_0xb40a('0x2c')][_0xb40a('0x48')](_0x2f1c72)[_0xb40a('0x25')](handleEntityNotFound(_0x313cd0,null))['then'](respondWithResult(_0x313cd0,null))[_0xb40a('0x41')](handleError(_0x313cd0,null));};exports['update']=function(_0x15e4b1,_0x11409c){if(_0x15e4b1[_0xb40a('0x49')]['id']){delete _0x15e4b1['body']['id'];}return db['VoiceMusicOnHold'][_0xb40a('0x48')]({'where':{'id':_0x15e4b1[_0xb40a('0x43')]['id']}})['then'](handleEntityNotFound(_0x11409c,null))[_0xb40a('0x25')](saveUpdates(_0x15e4b1['body'],null))[_0xb40a('0x25')](respondWithResult(_0x11409c,null))['catch'](handleError(_0x11409c,null));};exports[_0xb40a('0x4a')]=function(_0x1c9317,_0x59a071,_0x4fb085){return db[_0xb40a('0x4b')]['transaction'](function(_0x338de2){if(_0x1c9317[_0xb40a('0x49')][_0xb40a('0x4c')]==='files'){_0x1c9317['body']['directory']=path[_0xb40a('0x4d')](config['root'],'server/files/moh',_0x1c9317[_0xb40a('0x49')][_0xb40a('0x2b')]);}return db['VoiceMusicOnHold']['create'](_0x1c9317[_0xb40a('0x49')],{'transaction':_0x338de2})[_0xb40a('0x25')](function(_0x3be61d){if(_0x1c9317[_0xb40a('0x49')][_0xb40a('0x4c')]==='files'){fs[_0xb40a('0x4e')](_0x3be61d[_0xb40a('0x4f')],parseInt(_0xb40a('0x50'),0x8));}var _0x1aece9=_0x1c9317[_0xb40a('0x51')][_0xb40a('0x26')]({'plain':!![]});if(!_0x1aece9)throw new Error(_0xb40a('0x52'));if(_0x1aece9[_0xb40a('0x53')]===_0xb40a('0x51')){var _0x103e27=_0x3be61d['get']({'plain':!![]});return db[_0xb40a('0x54')][_0xb40a('0x48')]({'where':{'name':_0xb40a('0x55'),'userProfileId':_0x1aece9[_0xb40a('0x56')]},'raw':!![]})[_0xb40a('0x25')](function(_0x4cba51){if(_0x4cba51&&_0x4cba51[_0xb40a('0x57')]===0x0){return db['UserProfileResource'][_0xb40a('0x4a')]({'name':_0x103e27[_0xb40a('0x2b')],'resourceId':_0x103e27['id'],'type':_0x4cba51[_0xb40a('0x2b')],'sectionId':_0x4cba51['id']},{})[_0xb40a('0x25')](function(){return _0x3be61d;});}else{return _0x3be61d;}})[_0xb40a('0x41')](function(_0x33a425){logger[_0xb40a('0x29')](_0xb40a('0x58'),_0x33a425);});}return _0x3be61d;});})[_0xb40a('0x25')](respondWithResult(_0x59a071,0xc9))[_0xb40a('0x41')](handleError(_0x59a071,null));};exports[_0xb40a('0x24')]=function(_0x2619ea,_0x46d7c7,_0x3b5fd6){var _0x39ef36;return db[_0xb40a('0x2c')][_0xb40a('0x48')]({'where':{'id':_0x2619ea['params']['id']}})[_0xb40a('0x25')](function(_0x2628ba){if(_0x2628ba){return db['sequelize'][_0xb40a('0x59')](function(_0x5752bf){return _0x2628ba[_0xb40a('0x24')]({'transaction':_0x5752bf,'raw':!![]})[_0xb40a('0x25')](function(_0x21da5b){if(_0x21da5b['directory']){fs[_0xb40a('0x5a')](_0x21da5b[_0xb40a('0x4f')])[_0xb40a('0x5b')](function(_0x3ee74e){fs[_0xb40a('0x5c')](path[_0xb40a('0x4d')](_0x21da5b[_0xb40a('0x4f')],_0x3ee74e));});fs[_0xb40a('0x5d')](_0x21da5b[_0xb40a('0x4f')]);}return _0x21da5b;});})[_0xb40a('0x41')](function(_0x7984a){throw new db[(_0xb40a('0x5e'))][(_0xb40a('0x5f'))](_0x7984a[_0xb40a('0x60')]);});}})[_0xb40a('0x25')](handleEntityNotFound(_0x46d7c7,null))[_0xb40a('0x25')](removeEntity(_0x46d7c7,null))[_0xb40a('0x41')](handleError(_0x46d7c7,null));};exports['addSound']=function(_0x28fc82,_0x2fcb0b,_0x4426ac){return db[_0xb40a('0x4b')][_0xb40a('0x59')](function(_0x33e871){var _0x24d27f;return db['VoiceMusicOnHold'][_0xb40a('0x48')]({'where':{'id':_0x28fc82[_0xb40a('0x43')]['id']}})['then'](function(_0xbb7924){if(_0xbb7924){_0x24d27f=_0xbb7924;return _0xbb7924[_0xb40a('0x61')](_0x28fc82[_0xb40a('0x49')]['id'],{'transaction':_0x33e871});}})[_0xb40a('0x25')](function(_0x3b3f0f){if(_0x3b3f0f){return db[_0xb40a('0x62')]['findOne']({'where':{'id':_0x28fc82[_0xb40a('0x49')]['id']},'attributes':['id',_0xb40a('0x2b'),'save_name','converted_format',_0xb40a('0x63')],'raw':!![]});}})[_0xb40a('0x25')](function(_0xa38468){if(_0xa38468){var _0x14fdc3=path[_0xb40a('0x4d')](config[_0xb40a('0x64')],_0xb40a('0x65'),util[_0xb40a('0x66')](_0xb40a('0x67'),path[_0xb40a('0x68')](_0xa38468[_0xb40a('0x69')],path[_0xb40a('0x6a')](_0xa38468[_0xb40a('0x69')])),_0xa38468[_0xb40a('0x6b')]));var _0x3cc900=path['join'](config[_0xb40a('0x64')],_0xb40a('0x6c'),_0x24d27f[_0xb40a('0x2b')],util[_0xb40a('0x66')](_0xb40a('0x67'),_0xa38468[_0xb40a('0x2b')],_0xa38468[_0xb40a('0x6b')]));fs[_0xb40a('0x6d')](_0x14fdc3,_0x3cc900);return _0xa38468;}})[_0xb40a('0x41')](function(_0x363806){throw new db[(_0xb40a('0x5e'))]['ValidationError'](_0x363806[_0xb40a('0x60')]);});})['then'](handleEntityNotFound(_0x2fcb0b,null))[_0xb40a('0x25')](respondWithResult(_0x2fcb0b,0xc9))['catch'](handleError(_0x2fcb0b,null));};exports[_0xb40a('0x6e')]=function(_0x138700,_0x342bf9,_0x71424f){return db['sequelize'][_0xb40a('0x59')](function(_0x35dd87){var _0x14dd88;return db[_0xb40a('0x2c')]['findOne']({'where':{'id':_0x138700[_0xb40a('0x43')]['id']}})[_0xb40a('0x25')](handleEntityNotFound(_0x342bf9,null))[_0xb40a('0x25')](function(_0x2fa20e){if(_0x2fa20e){_0x14dd88=_0x2fa20e;return _0x2fa20e[_0xb40a('0x6e')](_0x138700[_0xb40a('0x43')][_0xb40a('0x6f')]);}})[_0xb40a('0x25')](function(_0x40732a){if(_0x40732a){return db[_0xb40a('0x62')]['findOne']({'where':{'id':_0x138700['params']['id2']},'attributes':['id',_0xb40a('0x2b'),_0xb40a('0x69'),_0xb40a('0x6b'),_0xb40a('0x63')],'raw':!![]});}})[_0xb40a('0x25')](function(_0x1c3381){if(_0x1c3381){fs[_0xb40a('0x5c')](path[_0xb40a('0x4d')](_0x14dd88[_0xb40a('0x4f')],util[_0xb40a('0x66')]('%s.%s',_0x1c3381[_0xb40a('0x2b')],_0x1c3381[_0xb40a('0x6b')])));return _0x1c3381;}})[_0xb40a('0x41')](function(_0x38a32d){throw new db[(_0xb40a('0x5e'))]['ValidationError'](_0x38a32d[_0xb40a('0x60')]);});})[_0xb40a('0x25')](handleEntityNotFound(_0x342bf9,null))[_0xb40a('0x25')](respondWithStatusCode(_0x342bf9,0xcc))[_0xb40a('0x41')](handleError(_0x342bf9,null));};exports['getSounds']=function(_0x273276,_0x202309,_0xba6a58){var _0x268562={};var _0x41fda5={};var _0x22dbc1;var _0xec4121;return db[_0xb40a('0x2c')][_0xb40a('0x70')]({'where':{'id':_0x273276[_0xb40a('0x43')]['id']}})[_0xb40a('0x25')](handleEntityNotFound(_0x202309,null))[_0xb40a('0x25')](function(_0x3d0279){if(_0x3d0279){_0x22dbc1=_0x3d0279;_0x41fda5[_0xb40a('0x31')]=_[_0xb40a('0x34')](db[_0xb40a('0x62')][_0xb40a('0x2d')]);_0x41fda5[_0xb40a('0x33')]=_[_0xb40a('0x34')](_0x273276[_0xb40a('0x33')]);_0x41fda5[_0xb40a('0x44')]=_[_0xb40a('0x35')](_0x41fda5[_0xb40a('0x31')],_0x41fda5[_0xb40a('0x33')]);_0x268562['attributes']=_['intersection'](_0x41fda5[_0xb40a('0x31')],qs[_0xb40a('0x45')](_0x273276[_0xb40a('0x33')][_0xb40a('0x45')]));_0x268562[_0xb40a('0x36')]=_0x268562['attributes'][_0xb40a('0x37')]?_0x268562[_0xb40a('0x36')]:_0x41fda5[_0xb40a('0x31')];_0x268562[_0xb40a('0x3a')]=qs[_0xb40a('0x3b')](_0x273276[_0xb40a('0x33')]['sort']);_0x268562[_0xb40a('0x3c')]=qs[_0xb40a('0x44')](_['pick'](_0x273276[_0xb40a('0x33')],_0x41fda5[_0xb40a('0x44')]));if(_0x273276[_0xb40a('0x33')]['filter']){_0x268562[_0xb40a('0x3c')]=_[_0xb40a('0x3e')](_0x268562['where'],{'$or':_[_0xb40a('0x32')](_0x268562[_0xb40a('0x36')],function(_0x2c8636){var _0x5a7065={};_0x5a7065[_0x2c8636]={'$like':'%'+_0x273276[_0xb40a('0x33')]['filter']+'%'};return _0x5a7065;})});}_0x268562=_[_0xb40a('0x3e')]({},_0x268562,_0x273276[_0xb40a('0x47')]);return _0x22dbc1['getSounds'](_0x268562);}})[_0xb40a('0x25')](function(_0x3aebab){if(_0x3aebab){_0xec4121=_0x3aebab[_0xb40a('0x37')];if(!_0x273276[_0xb40a('0x33')][_0xb40a('0x38')](_0xb40a('0x39'))){_0x268562[_0xb40a('0x1e')]=qs[_0xb40a('0x1e')](_0x273276[_0xb40a('0x33')][_0xb40a('0x1e')]);_0x268562[_0xb40a('0x1d')]=qs[_0xb40a('0x1d')](_0x273276[_0xb40a('0x33')][_0xb40a('0x1d')]);}return _0x22dbc1[_0xb40a('0x71')](_0x268562);}})[_0xb40a('0x25')](function(_0x1d112f){if(_0x1d112f){return _0x1d112f?{'count':_0xec4121,'rows':_0x1d112f}:null;}})[_0xb40a('0x25')](respondWithResult(_0x202309,null))[_0xb40a('0x41')](handleError(_0x202309,null));};