Built motion from commit 97153652.|2.6.26
[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 _0x7744=['../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','destroy','get','MusicOnHolds','UserProfileResource','sendStatus','error','name','send','index','map','VoiceMusicOnHold','fieldName','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','findAll','catch','params','rawAttributes','length','include','find','body','create','sequelize','files','directory','join','root','server/files/moh','mode','mkdirSync','0777','user','UserProfileSection','userProfileId','transaction','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','message','findOne','converted_format','server/files/sounds/converted','format','%s.%s','extname','save_name','removeSound','id2','Sound','createdAt','getSounds','pick','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x7744,0xc8));var _0x4774=function(_0x1c3765,_0xc3b431){_0x1c3765=_0x1c3765-0x0;var _0x3ab003=_0x7744[_0x1c3765];return _0x3ab003;};'use strict';var emlformat=require(_0x4774('0x0'));var rimraf=require(_0x4774('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4774('0x2'));var rp=require('request-promise');var moment=require(_0x4774('0x3'));var BPromise=require(_0x4774('0x4'));var Mustache=require(_0x4774('0x5'));var util=require(_0x4774('0x6'));var path=require('path');var sox=require(_0x4774('0x7'));var csv=require(_0x4774('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4774('0x9'));var _=require(_0x4774('0xa'));var squel=require(_0x4774('0xb'));var crypto=require(_0x4774('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x4774('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x4774('0xe'));var Redis=require(_0x4774('0xf'));var authService=require(_0x4774('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x4774('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4774('0x12'))(_0x4774('0x13'));var utils=require(_0x4774('0x14'));var config=require(_0x4774('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4774('0x16'))['db'];function respondWithStatusCode(_0x53152f,_0x496050){_0x496050=_0x496050||0xcc;return function(_0x194e96){if(_0x194e96){return _0x53152f['sendStatus'](_0x496050);}return _0x53152f[_0x4774('0x17')](_0x496050)[_0x4774('0x18')]();};}function respondWithResult(_0x4e6506,_0x30c103){_0x30c103=_0x30c103||0xc8;return function(_0x3b54df){if(_0x3b54df){return _0x4e6506[_0x4774('0x17')](_0x30c103)[_0x4774('0x19')](_0x3b54df);}};}function respondWithFilteredResult(_0x306d05,_0x348f0c){return function(_0x5f0134){if(_0x5f0134){var _0x1f8933=typeof _0x348f0c[_0x4774('0x1a')]==='undefined'&&typeof _0x348f0c[_0x4774('0x1b')]===_0x4774('0x1c');var _0x2aa0bb=_0x5f0134[_0x4774('0x1d')];var _0x5e0da3=_0x1f8933?0x0:_0x348f0c[_0x4774('0x1a')];var _0x5abf7c=_0x1f8933?_0x5f0134[_0x4774('0x1d')]:_0x348f0c['offset']+_0x348f0c[_0x4774('0x1b')];var _0x3be781;if(_0x5abf7c>=_0x2aa0bb){_0x5abf7c=_0x2aa0bb;_0x3be781=0xc8;}else{_0x3be781=0xce;}_0x306d05[_0x4774('0x17')](_0x3be781);return _0x306d05[_0x4774('0x1e')](_0x4774('0x1f'),_0x5e0da3+'-'+_0x5abf7c+'/'+_0x2aa0bb)[_0x4774('0x19')](_0x5f0134);}return null;};}function patchUpdates(_0x601fa1){return function(_0x5dfe66){try{jsonpatch[_0x4774('0x20')](_0x5dfe66,_0x601fa1,!![]);}catch(_0x35f6bd){return BPromise['reject'](_0x35f6bd);}return _0x5dfe66[_0x4774('0x21')]();};}function saveUpdates(_0x2ede34,_0x3a0cd9){return function(_0x23d89b){if(_0x23d89b){return _0x23d89b[_0x4774('0x22')](_0x2ede34)[_0x4774('0x23')](function(_0x2317ef){return _0x2317ef;});}return null;};}function removeEntity(_0x2c8e50,_0x2bcd90){return function(_0x4211fc){if(_0x4211fc){return _0x4211fc[_0x4774('0x24')]()[_0x4774('0x23')](function(){var _0x2e894f=_0x4211fc[_0x4774('0x25')]({'plain':!![]});var _0x436867=_0x4774('0x26');return db[_0x4774('0x27')][_0x4774('0x24')]({'where':{'type':_0x436867,'resourceId':_0x2e894f['id']}})[_0x4774('0x23')](function(){return _0x4211fc;});})[_0x4774('0x23')](function(){_0x2c8e50['status'](0xcc)[_0x4774('0x18')]();});}};}function handleEntityNotFound(_0x190fc1,_0x1ea1e8){return function(_0x521e0f){if(!_0x521e0f){_0x190fc1[_0x4774('0x28')](0x194);}return _0x521e0f;};}function handleError(_0xc8360f,_0x564706){_0x564706=_0x564706||0x1f4;return function(_0x107157){logger[_0x4774('0x29')](_0x107157['stack']);if(_0x107157[_0x4774('0x2a')]){delete _0x107157[_0x4774('0x2a')];}_0xc8360f[_0x4774('0x17')](_0x564706)[_0x4774('0x2b')](_0x107157);};}exports[_0x4774('0x2c')]=function(_0x5d3685,_0x315ff0){var _0x9c1735={},_0x3325dc={},_0x30006d={'count':0x0,'rows':[]};var _0x3005e8=_[_0x4774('0x2d')](db[_0x4774('0x2e')]['rawAttributes'],function(_0x406faa){return{'name':_0x406faa[_0x4774('0x2f')],'type':_0x406faa[_0x4774('0x30')][_0x4774('0x31')]};});_0x3325dc[_0x4774('0x32')]=_[_0x4774('0x2d')](_0x3005e8,'name');_0x3325dc[_0x4774('0x33')]=_[_0x4774('0x34')](_0x5d3685['query']);_0x3325dc['filters']=_[_0x4774('0x35')](_0x3325dc[_0x4774('0x32')],_0x3325dc[_0x4774('0x33')]);_0x9c1735['attributes']=_[_0x4774('0x35')](_0x3325dc[_0x4774('0x32')],qs[_0x4774('0x36')](_0x5d3685[_0x4774('0x33')][_0x4774('0x36')]));_0x9c1735[_0x4774('0x37')]=_0x9c1735['attributes']['length']?_0x9c1735['attributes']:_0x3325dc[_0x4774('0x32')];if(!_0x5d3685[_0x4774('0x33')][_0x4774('0x38')](_0x4774('0x39'))){_0x9c1735['limit']=qs['limit'](_0x5d3685['query']['limit']);_0x9c1735['offset']=qs[_0x4774('0x1a')](_0x5d3685[_0x4774('0x33')]['offset']);}_0x9c1735[_0x4774('0x3a')]=qs[_0x4774('0x3b')](_0x5d3685[_0x4774('0x33')][_0x4774('0x3b')]);delete _0x5d3685[_0x4774('0x33')][_0x4774('0x3b')];_0x9c1735[_0x4774('0x3c')]=qs[_0x4774('0x3d')](_['pick'](_0x5d3685[_0x4774('0x33')],_0x3325dc[_0x4774('0x3d')]),_0x3005e8);if(_0x5d3685[_0x4774('0x33')][_0x4774('0x3e')]){_0x9c1735[_0x4774('0x3c')]=_[_0x4774('0x3f')](_0x9c1735[_0x4774('0x3c')],{'$or':_[_0x4774('0x2d')](_0x3005e8,function(_0xf552c4){if(_0xf552c4[_0x4774('0x30')]!==_0x4774('0x40')){var _0x26bc7e={};_0x26bc7e[_0xf552c4[_0x4774('0x2a')]]={'$like':'%'+_0x5d3685[_0x4774('0x33')]['filter']+'%'};return _0x26bc7e;}})});}_0x9c1735=_[_0x4774('0x3f')]({},_0x9c1735,_0x5d3685[_0x4774('0x41')]);var _0x4c991c={'where':_0x9c1735[_0x4774('0x3c')]};return db[_0x4774('0x2e')][_0x4774('0x1d')](_0x4c991c)[_0x4774('0x23')](function(_0x179cc8){_0x30006d[_0x4774('0x1d')]=_0x179cc8;if(_0x5d3685[_0x4774('0x33')][_0x4774('0x42')]){_0x9c1735['include']=[{'all':!![]}];}return db[_0x4774('0x2e')][_0x4774('0x43')](_0x9c1735);})[_0x4774('0x23')](function(_0x50e357){_0x30006d['rows']=_0x50e357;return _0x30006d;})[_0x4774('0x23')](respondWithFilteredResult(_0x315ff0,_0x9c1735))[_0x4774('0x44')](handleError(_0x315ff0,null));};exports['show']=function(_0x34eb1e,_0x1f4191){var _0x226a01={'raw':![],'where':{'id':_0x34eb1e[_0x4774('0x45')]['id']}},_0x4bb276={};_0x4bb276[_0x4774('0x32')]=_[_0x4774('0x34')](db[_0x4774('0x2e')][_0x4774('0x46')]);_0x4bb276['query']=_['keys'](_0x34eb1e[_0x4774('0x33')]);_0x4bb276[_0x4774('0x3d')]=_['intersection'](_0x4bb276[_0x4774('0x32')],_0x4bb276['query']);_0x226a01['attributes']=_[_0x4774('0x35')](_0x4bb276['model'],qs[_0x4774('0x36')](_0x34eb1e[_0x4774('0x33')][_0x4774('0x36')]));_0x226a01[_0x4774('0x37')]=_0x226a01[_0x4774('0x37')][_0x4774('0x47')]?_0x226a01[_0x4774('0x37')]:_0x4bb276[_0x4774('0x32')];if(_0x34eb1e[_0x4774('0x33')][_0x4774('0x42')]){_0x226a01[_0x4774('0x48')]=[{'all':!![]}];}_0x226a01=_[_0x4774('0x3f')]({},_0x226a01,_0x34eb1e[_0x4774('0x41')]);return db[_0x4774('0x2e')][_0x4774('0x49')](_0x226a01)[_0x4774('0x23')](handleEntityNotFound(_0x1f4191,null))['then'](respondWithResult(_0x1f4191,null))[_0x4774('0x44')](handleError(_0x1f4191,null));};exports[_0x4774('0x22')]=function(_0x1c2e79,_0x37be43){if(_0x1c2e79[_0x4774('0x4a')]['id']){delete _0x1c2e79['body']['id'];}return db[_0x4774('0x2e')][_0x4774('0x49')]({'where':{'id':_0x1c2e79[_0x4774('0x45')]['id']}})['then'](handleEntityNotFound(_0x37be43,null))['then'](saveUpdates(_0x1c2e79[_0x4774('0x4a')],null))[_0x4774('0x23')](respondWithResult(_0x37be43,null))[_0x4774('0x44')](handleError(_0x37be43,null));};exports[_0x4774('0x4b')]=function(_0x2d26c0,_0x472f8b,_0x2c0a95){return db[_0x4774('0x4c')]['transaction'](function(_0x27a6a2){if(_0x2d26c0[_0x4774('0x4a')]['mode']===_0x4774('0x4d')){_0x2d26c0[_0x4774('0x4a')][_0x4774('0x4e')]=path[_0x4774('0x4f')](config[_0x4774('0x50')],_0x4774('0x51'),_0x2d26c0[_0x4774('0x4a')]['name']);}return db[_0x4774('0x2e')]['create'](_0x2d26c0['body'],{'transaction':_0x27a6a2})[_0x4774('0x23')](function(_0x26420d){if(_0x2d26c0[_0x4774('0x4a')][_0x4774('0x52')]==='files'){fs[_0x4774('0x53')](_0x26420d['directory'],parseInt(_0x4774('0x54'),0x8));}var _0x4d8594=_0x2d26c0[_0x4774('0x55')][_0x4774('0x25')]({'plain':!![]});if(!_0x4d8594)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4d8594['role']===_0x4774('0x55')){var _0x3ce318=_0x26420d[_0x4774('0x25')]({'plain':!![]});return db[_0x4774('0x56')][_0x4774('0x49')]({'where':{'name':_0x4774('0x26'),'userProfileId':_0x4d8594[_0x4774('0x57')]},'raw':!![]})[_0x4774('0x23')](function(_0x5ca78a){if(_0x5ca78a&&_0x5ca78a['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x3ce318[_0x4774('0x2a')],'resourceId':_0x3ce318['id'],'type':_0x5ca78a[_0x4774('0x2a')],'sectionId':_0x5ca78a['id']},{})[_0x4774('0x23')](function(){return _0x26420d;});}else{return _0x26420d;}})[_0x4774('0x44')](function(_0x339dea){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x339dea);});}return _0x26420d;});})[_0x4774('0x23')](respondWithResult(_0x472f8b,0xc9))[_0x4774('0x44')](handleError(_0x472f8b,null));};exports['destroy']=function(_0xfada48,_0x4a0a00,_0x5b6e53){var _0xe2c479;return db[_0x4774('0x2e')][_0x4774('0x49')]({'where':{'id':_0xfada48[_0x4774('0x45')]['id']}})[_0x4774('0x23')](function(_0x4a271b){if(_0x4a271b){return db[_0x4774('0x4c')][_0x4774('0x58')](function(_0x50ea79){return _0x4a271b[_0x4774('0x24')]({'transaction':_0x50ea79,'raw':!![]})[_0x4774('0x23')](function(_0x263bd6){if(_0x263bd6[_0x4774('0x4e')]){fs[_0x4774('0x59')](_0x263bd6[_0x4774('0x4e')])[_0x4774('0x5a')](function(_0xc08d83){fs[_0x4774('0x5b')](path['join'](_0x263bd6[_0x4774('0x4e')],_0xc08d83));});fs[_0x4774('0x5c')](_0x263bd6[_0x4774('0x4e')]);}return _0x263bd6;});})['catch'](function(_0x22733d){throw new db[(_0x4774('0x5d'))][(_0x4774('0x5e'))](_0x22733d[_0x4774('0x5f')]);});}})[_0x4774('0x23')](handleEntityNotFound(_0x4a0a00,null))[_0x4774('0x23')](removeEntity(_0x4a0a00,null))['catch'](handleError(_0x4a0a00,null));};exports['addSound']=function(_0x4997b0,_0x2d70c7,_0x5bca7f){return db[_0x4774('0x4c')][_0x4774('0x58')](function(_0x549e93){var _0x2ed0df;return db[_0x4774('0x2e')][_0x4774('0x49')]({'where':{'id':_0x4997b0[_0x4774('0x45')]['id']}})['then'](function(_0x218ebc){if(_0x218ebc){_0x2ed0df=_0x218ebc;return _0x218ebc['addSound'](_0x4997b0['body']['id'],{'transaction':_0x549e93});}})[_0x4774('0x23')](function(_0x513214){if(_0x513214){return db['Sound'][_0x4774('0x60')]({'where':{'id':_0x4997b0[_0x4774('0x4a')]['id']},'attributes':['id',_0x4774('0x2a'),'save_name',_0x4774('0x61'),'createdAt'],'raw':!![]});}})[_0x4774('0x23')](function(_0x877173){if(_0x877173){var _0x243c6b=path['join'](config[_0x4774('0x50')],_0x4774('0x62'),util[_0x4774('0x63')](_0x4774('0x64'),path['basename'](_0x877173['save_name'],path[_0x4774('0x65')](_0x877173[_0x4774('0x66')])),_0x877173[_0x4774('0x61')]));var _0x3709b8=path[_0x4774('0x4f')](config[_0x4774('0x50')],_0x4774('0x51'),_0x2ed0df[_0x4774('0x2a')],util[_0x4774('0x63')](_0x4774('0x64'),_0x877173['name'],_0x877173['converted_format']));fs['symlinkSync'](_0x243c6b,_0x3709b8);return _0x877173;}})[_0x4774('0x44')](function(_0x4df1a5){throw new db['Sequelize'][(_0x4774('0x5e'))](_0x4df1a5['message']);});})[_0x4774('0x23')](handleEntityNotFound(_0x2d70c7,null))[_0x4774('0x23')](respondWithResult(_0x2d70c7,0xc9))[_0x4774('0x44')](handleError(_0x2d70c7,null));};exports[_0x4774('0x67')]=function(_0x52fc40,_0x646311,_0x27825b){return db[_0x4774('0x4c')][_0x4774('0x58')](function(_0x438311){var _0x547d80;return db[_0x4774('0x2e')][_0x4774('0x60')]({'where':{'id':_0x52fc40[_0x4774('0x45')]['id']}})[_0x4774('0x23')](handleEntityNotFound(_0x646311,null))[_0x4774('0x23')](function(_0x48ae63){if(_0x48ae63){_0x547d80=_0x48ae63;return _0x48ae63[_0x4774('0x67')](_0x52fc40[_0x4774('0x45')][_0x4774('0x68')]);}})['then'](function(_0x2d9aa1){if(_0x2d9aa1){return db[_0x4774('0x69')]['findOne']({'where':{'id':_0x52fc40[_0x4774('0x45')][_0x4774('0x68')]},'attributes':['id',_0x4774('0x2a'),_0x4774('0x66'),'converted_format',_0x4774('0x6a')],'raw':!![]});}})[_0x4774('0x23')](function(_0x32051f){if(_0x32051f){fs[_0x4774('0x5b')](path[_0x4774('0x4f')](_0x547d80[_0x4774('0x4e')],util[_0x4774('0x63')](_0x4774('0x64'),_0x32051f[_0x4774('0x2a')],_0x32051f[_0x4774('0x61')])));return _0x32051f;}})[_0x4774('0x44')](function(_0x35a3d4){throw new db[(_0x4774('0x5d'))][(_0x4774('0x5e'))](_0x35a3d4[_0x4774('0x5f')]);});})[_0x4774('0x23')](handleEntityNotFound(_0x646311,null))[_0x4774('0x23')](respondWithStatusCode(_0x646311,0xcc))[_0x4774('0x44')](handleError(_0x646311,null));};exports[_0x4774('0x6b')]=function(_0x68ae26,_0x5b66ff,_0x2f4bd6){var _0x308093={};var _0x231aeb={};var _0x52ee4b;var _0xec2956;return db[_0x4774('0x2e')]['findOne']({'where':{'id':_0x68ae26[_0x4774('0x45')]['id']}})[_0x4774('0x23')](handleEntityNotFound(_0x5b66ff,null))['then'](function(_0x27af4b){if(_0x27af4b){_0x52ee4b=_0x27af4b;_0x231aeb['model']=_[_0x4774('0x34')](db[_0x4774('0x69')][_0x4774('0x46')]);_0x231aeb[_0x4774('0x33')]=_[_0x4774('0x34')](_0x68ae26['query']);_0x231aeb[_0x4774('0x3d')]=_[_0x4774('0x35')](_0x231aeb[_0x4774('0x32')],_0x231aeb[_0x4774('0x33')]);_0x308093[_0x4774('0x37')]=_[_0x4774('0x35')](_0x231aeb[_0x4774('0x32')],qs['fields'](_0x68ae26[_0x4774('0x33')][_0x4774('0x36')]));_0x308093[_0x4774('0x37')]=_0x308093[_0x4774('0x37')][_0x4774('0x47')]?_0x308093['attributes']:_0x231aeb[_0x4774('0x32')];_0x308093[_0x4774('0x3a')]=qs[_0x4774('0x3b')](_0x68ae26[_0x4774('0x33')][_0x4774('0x3b')]);_0x308093[_0x4774('0x3c')]=qs['filters'](_[_0x4774('0x6c')](_0x68ae26[_0x4774('0x33')],_0x231aeb['filters']));if(_0x68ae26[_0x4774('0x33')][_0x4774('0x3e')]){_0x308093[_0x4774('0x3c')]=_[_0x4774('0x3f')](_0x308093[_0x4774('0x3c')],{'$or':_[_0x4774('0x2d')](_0x308093[_0x4774('0x37')],function(_0x3ec1b1){var _0x40c5e0={};_0x40c5e0[_0x3ec1b1]={'$like':'%'+_0x68ae26['query'][_0x4774('0x3e')]+'%'};return _0x40c5e0;})});}_0x308093=_[_0x4774('0x3f')]({},_0x308093,_0x68ae26[_0x4774('0x41')]);return _0x52ee4b[_0x4774('0x6b')](_0x308093);}})[_0x4774('0x23')](function(_0x4e62c8){if(_0x4e62c8){_0xec2956=_0x4e62c8['length'];if(!_0x68ae26[_0x4774('0x33')][_0x4774('0x38')](_0x4774('0x39'))){_0x308093['limit']=qs[_0x4774('0x1b')](_0x68ae26[_0x4774('0x33')][_0x4774('0x1b')]);_0x308093[_0x4774('0x1a')]=qs[_0x4774('0x1a')](_0x68ae26[_0x4774('0x33')][_0x4774('0x1a')]);}return _0x52ee4b[_0x4774('0x6b')](_0x308093);}})[_0x4774('0x23')](function(_0x29bc3f){if(_0x29bc3f){return _0x29bc3f?{'count':_0xec2956,'rows':_0x29bc3f}:null;}})[_0x4774('0x23')](respondWithResult(_0x5b66ff,null))[_0x4774('0x44')](handleError(_0x5b66ff,null));};