Built motion from commit f3da74b7.|2.5.36
[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 _0xa208=['rows','catch','show','includeAll','options','body','find','create','sequelize','transaction','mode','directory','join','root','server/files/moh','files','mkdirSync','0777','Unable\x20to\x20retrieve\x20the\x20current\x20user','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','readdirSync','Sequelize','ValidationError','addSound','Sound','findOne','save_name','createdAt','server/files/sounds/converted','format','%s.%s','basename','extname','converted_format','message','removeSound','id2','unlinkSync','getSounds','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','undefined','count','offset','limit','json','apply','reject','save','update','then','destroy','get','MusicOnHolds','UserProfileResource','stack','name','send','VoiceMusicOnHold','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','map','VIRTUAL','include','findAll'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xa208,0x1d6));var _0x8a20=function(_0x424a9a,_0x2dd9af){_0x424a9a=_0x424a9a-0x0;var _0xa7831c=_0xa208[_0x424a9a];return _0xa7831c;};'use strict';var emlformat=require(_0x8a20('0x0'));var rimraf=require(_0x8a20('0x1'));var zipdir=require(_0x8a20('0x2'));var jsonpatch=require(_0x8a20('0x3'));var rp=require(_0x8a20('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x8a20('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x8a20('0x6'));var ejs=require(_0x8a20('0x7'));var fs=require('fs');var fs_extra=require(_0x8a20('0x8'));var _=require(_0x8a20('0x9'));var squel=require(_0x8a20('0xa'));var crypto=require('crypto');var jsforce=require(_0x8a20('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x8a20('0x6'));var querystring=require(_0x8a20('0xc'));var Papa=require(_0x8a20('0xd'));var Redis=require(_0x8a20('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x8a20('0xf'));var hardwareService=require(_0x8a20('0x10'));var logger=require(_0x8a20('0x11'))('api');var utils=require(_0x8a20('0x12'));var config=require(_0x8a20('0x13'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1f15cf,_0xddc49b){_0xddc49b=_0xddc49b||0xcc;return function(_0x33e73b){if(_0x33e73b){return _0x1f15cf[_0x8a20('0x14')](_0xddc49b);}return _0x1f15cf[_0x8a20('0x15')](_0xddc49b)[_0x8a20('0x16')]();};}function respondWithResult(_0x3d39db,_0x2d6487){_0x2d6487=_0x2d6487||0xc8;return function(_0x1b909f){if(_0x1b909f){return _0x3d39db[_0x8a20('0x15')](_0x2d6487)['json'](_0x1b909f);}};}function respondWithFilteredResult(_0x3924d8,_0x3987b5){return function(_0x2b496a){if(_0x2b496a){var _0x5a49d3=typeof _0x3987b5['offset']===_0x8a20('0x17')&&typeof _0x3987b5['limit']===_0x8a20('0x17');var _0x4fc83b=_0x2b496a[_0x8a20('0x18')];var _0xe789fa=_0x5a49d3?0x0:_0x3987b5[_0x8a20('0x19')];var _0x364e69=_0x5a49d3?_0x2b496a[_0x8a20('0x18')]:_0x3987b5[_0x8a20('0x19')]+_0x3987b5[_0x8a20('0x1a')];var _0x349723;if(_0x364e69>=_0x4fc83b){_0x364e69=_0x4fc83b;_0x349723=0xc8;}else{_0x349723=0xce;}_0x3924d8[_0x8a20('0x15')](_0x349723);return _0x3924d8['set']('Content-Range',_0xe789fa+'-'+_0x364e69+'/'+_0x4fc83b)[_0x8a20('0x1b')](_0x2b496a);}return null;};}function patchUpdates(_0x1b8cd6){return function(_0x5d35ad){try{jsonpatch[_0x8a20('0x1c')](_0x5d35ad,_0x1b8cd6,!![]);}catch(_0x1f5268){return BPromise[_0x8a20('0x1d')](_0x1f5268);}return _0x5d35ad[_0x8a20('0x1e')]();};}function saveUpdates(_0x4f3de0,_0x15e161){return function(_0x22a999){if(_0x22a999){return _0x22a999[_0x8a20('0x1f')](_0x4f3de0)[_0x8a20('0x20')](function(_0x3275b4){return _0x3275b4;});}return null;};}function removeEntity(_0x7f7e12,_0x108cd8){return function(_0x273dbc){if(_0x273dbc){return _0x273dbc[_0x8a20('0x21')]()[_0x8a20('0x20')](function(){var _0x29b334=_0x273dbc[_0x8a20('0x22')]({'plain':!![]});var _0xdd9f1b=_0x8a20('0x23');return db[_0x8a20('0x24')]['destroy']({'where':{'type':_0xdd9f1b,'resourceId':_0x29b334['id']}})[_0x8a20('0x20')](function(){return _0x273dbc;});})[_0x8a20('0x20')](function(){_0x7f7e12[_0x8a20('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3c4ab2,_0x265169){return function(_0x5ad1de){if(!_0x5ad1de){_0x3c4ab2['sendStatus'](0x194);}return _0x5ad1de;};}function handleError(_0x329bbd,_0x4f2f70){_0x4f2f70=_0x4f2f70||0x1f4;return function(_0x2afcd7){logger['error'](_0x2afcd7[_0x8a20('0x25')]);if(_0x2afcd7['name']){delete _0x2afcd7[_0x8a20('0x26')];}_0x329bbd[_0x8a20('0x15')](_0x4f2f70)[_0x8a20('0x27')](_0x2afcd7);};}exports['index']=function(_0x5b94fa,_0x3f4fce){var _0x167b0c={},_0x4f8c18={},_0x1caf72={'count':0x0,'rows':[]};var _0x3d5626=_['map'](db[_0x8a20('0x28')][_0x8a20('0x29')],function(_0x30710d){return{'name':_0x30710d[_0x8a20('0x2a')],'type':_0x30710d[_0x8a20('0x2b')][_0x8a20('0x2c')]};});_0x4f8c18[_0x8a20('0x2d')]=_['map'](_0x3d5626,_0x8a20('0x26'));_0x4f8c18[_0x8a20('0x2e')]=_[_0x8a20('0x2f')](_0x5b94fa[_0x8a20('0x2e')]);_0x4f8c18[_0x8a20('0x30')]=_[_0x8a20('0x31')](_0x4f8c18[_0x8a20('0x2d')],_0x4f8c18[_0x8a20('0x2e')]);_0x167b0c[_0x8a20('0x32')]=_[_0x8a20('0x31')](_0x4f8c18[_0x8a20('0x2d')],qs[_0x8a20('0x33')](_0x5b94fa[_0x8a20('0x2e')]['fields']));_0x167b0c[_0x8a20('0x32')]=_0x167b0c['attributes'][_0x8a20('0x34')]?_0x167b0c['attributes']:_0x4f8c18[_0x8a20('0x2d')];if(!_0x5b94fa[_0x8a20('0x2e')][_0x8a20('0x35')](_0x8a20('0x36'))){_0x167b0c[_0x8a20('0x1a')]=qs[_0x8a20('0x1a')](_0x5b94fa[_0x8a20('0x2e')][_0x8a20('0x1a')]);_0x167b0c[_0x8a20('0x19')]=qs['offset'](_0x5b94fa[_0x8a20('0x2e')]['offset']);}_0x167b0c[_0x8a20('0x37')]=qs[_0x8a20('0x38')](_0x5b94fa['query'][_0x8a20('0x38')]);delete _0x5b94fa['query'][_0x8a20('0x38')];_0x167b0c[_0x8a20('0x39')]=qs[_0x8a20('0x30')](_[_0x8a20('0x3a')](_0x5b94fa[_0x8a20('0x2e')],_0x4f8c18[_0x8a20('0x30')]),_0x3d5626);if(_0x5b94fa[_0x8a20('0x2e')][_0x8a20('0x3b')]){_0x167b0c[_0x8a20('0x39')]=_[_0x8a20('0x3c')](_0x167b0c['where'],{'$or':_[_0x8a20('0x3d')](_0x3d5626,function(_0x37c1c7){if(_0x37c1c7[_0x8a20('0x2b')]!==_0x8a20('0x3e')){var _0x46b919={};_0x46b919[_0x37c1c7[_0x8a20('0x26')]]={'$like':'%'+_0x5b94fa['query'][_0x8a20('0x3b')]+'%'};return _0x46b919;}})});}_0x167b0c=_[_0x8a20('0x3c')]({},_0x167b0c,_0x5b94fa['options']);var _0x337ccf={'where':_0x167b0c[_0x8a20('0x39')]};return db[_0x8a20('0x28')][_0x8a20('0x18')](_0x337ccf)[_0x8a20('0x20')](function(_0x345efc){_0x1caf72[_0x8a20('0x18')]=_0x345efc;if(_0x5b94fa[_0x8a20('0x2e')]['includeAll']){_0x167b0c[_0x8a20('0x3f')]=[{'all':!![]}];}return db[_0x8a20('0x28')][_0x8a20('0x40')](_0x167b0c);})[_0x8a20('0x20')](function(_0x50b3f5){_0x1caf72[_0x8a20('0x41')]=_0x50b3f5;return _0x1caf72;})['then'](respondWithFilteredResult(_0x3f4fce,_0x167b0c))[_0x8a20('0x42')](handleError(_0x3f4fce,null));};exports[_0x8a20('0x43')]=function(_0x5598df,_0x33a5df){var _0x1ff5cc={'raw':![],'where':{'id':_0x5598df['params']['id']}},_0x3deb2b={};_0x3deb2b[_0x8a20('0x2d')]=_['keys'](db[_0x8a20('0x28')][_0x8a20('0x29')]);_0x3deb2b[_0x8a20('0x2e')]=_[_0x8a20('0x2f')](_0x5598df[_0x8a20('0x2e')]);_0x3deb2b[_0x8a20('0x30')]=_[_0x8a20('0x31')](_0x3deb2b[_0x8a20('0x2d')],_0x3deb2b[_0x8a20('0x2e')]);_0x1ff5cc[_0x8a20('0x32')]=_[_0x8a20('0x31')](_0x3deb2b[_0x8a20('0x2d')],qs[_0x8a20('0x33')](_0x5598df[_0x8a20('0x2e')][_0x8a20('0x33')]));_0x1ff5cc[_0x8a20('0x32')]=_0x1ff5cc[_0x8a20('0x32')]['length']?_0x1ff5cc[_0x8a20('0x32')]:_0x3deb2b[_0x8a20('0x2d')];if(_0x5598df[_0x8a20('0x2e')][_0x8a20('0x44')]){_0x1ff5cc[_0x8a20('0x3f')]=[{'all':!![]}];}_0x1ff5cc=_[_0x8a20('0x3c')]({},_0x1ff5cc,_0x5598df[_0x8a20('0x45')]);return db[_0x8a20('0x28')]['find'](_0x1ff5cc)[_0x8a20('0x20')](handleEntityNotFound(_0x33a5df,null))[_0x8a20('0x20')](respondWithResult(_0x33a5df,null))['catch'](handleError(_0x33a5df,null));};exports[_0x8a20('0x1f')]=function(_0x4a500a,_0x141956){if(_0x4a500a['body']['id']){delete _0x4a500a[_0x8a20('0x46')]['id'];}return db['VoiceMusicOnHold'][_0x8a20('0x47')]({'where':{'id':_0x4a500a['params']['id']}})[_0x8a20('0x20')](handleEntityNotFound(_0x141956,null))[_0x8a20('0x20')](saveUpdates(_0x4a500a['body'],null))['then'](respondWithResult(_0x141956,null))[_0x8a20('0x42')](handleError(_0x141956,null));};exports[_0x8a20('0x48')]=function(_0x3b059b,_0x3699d6,_0x3fa9bc){return db[_0x8a20('0x49')][_0x8a20('0x4a')](function(_0x487a35){if(_0x3b059b[_0x8a20('0x46')][_0x8a20('0x4b')]==='files'){_0x3b059b[_0x8a20('0x46')][_0x8a20('0x4c')]=path[_0x8a20('0x4d')](config[_0x8a20('0x4e')],_0x8a20('0x4f'),_0x3b059b[_0x8a20('0x46')][_0x8a20('0x26')]);}return db[_0x8a20('0x28')]['create'](_0x3b059b[_0x8a20('0x46')],{'transaction':_0x487a35})['then'](function(_0x3ef03c){if(_0x3b059b[_0x8a20('0x46')][_0x8a20('0x4b')]===_0x8a20('0x50')){fs[_0x8a20('0x51')](_0x3ef03c['directory'],parseInt(_0x8a20('0x52'),0x8));}var _0xef66da=_0x3b059b['user'][_0x8a20('0x22')]({'plain':!![]});if(!_0xef66da)throw new Error(_0x8a20('0x53'));if(_0xef66da['role']==='user'){var _0x418b0b=_0x3ef03c['get']({'plain':!![]});return db['UserProfileSection'][_0x8a20('0x47')]({'where':{'name':_0x8a20('0x23'),'userProfileId':_0xef66da['userProfileId']},'raw':!![]})['then'](function(_0x5da5aa){if(_0x5da5aa&&_0x5da5aa[_0x8a20('0x54')]===0x0){return db['UserProfileResource'][_0x8a20('0x48')]({'name':_0x418b0b[_0x8a20('0x26')],'resourceId':_0x418b0b['id'],'type':_0x5da5aa[_0x8a20('0x26')],'sectionId':_0x5da5aa['id']},{})[_0x8a20('0x20')](function(){return _0x3ef03c;});}else{return _0x3ef03c;}})[_0x8a20('0x42')](function(_0x22971a){logger[_0x8a20('0x55')](_0x8a20('0x56'),_0x22971a);});}return _0x3ef03c;});})[_0x8a20('0x20')](respondWithResult(_0x3699d6,0xc9))[_0x8a20('0x42')](handleError(_0x3699d6,null));};exports[_0x8a20('0x21')]=function(_0x438ccf,_0x1f2a67,_0x48ea12){var _0x1cea9b;return db[_0x8a20('0x28')][_0x8a20('0x47')]({'where':{'id':_0x438ccf[_0x8a20('0x57')]['id']}})[_0x8a20('0x20')](function(_0x1e06d0){if(_0x1e06d0){return db[_0x8a20('0x49')][_0x8a20('0x4a')](function(_0x450496){return _0x1e06d0['destroy']({'transaction':_0x450496,'raw':!![]})[_0x8a20('0x20')](function(_0x46da94){if(_0x46da94[_0x8a20('0x4c')]){fs[_0x8a20('0x58')](_0x46da94[_0x8a20('0x4c')])['forEach'](function(_0x3dab23){fs['unlinkSync'](path[_0x8a20('0x4d')](_0x46da94[_0x8a20('0x4c')],_0x3dab23));});fs['rmdirSync'](_0x46da94['directory']);}return _0x46da94;});})[_0x8a20('0x42')](function(_0x3a46d3){throw new db[(_0x8a20('0x59'))][(_0x8a20('0x5a'))](_0x3a46d3['message']);});}})['then'](handleEntityNotFound(_0x1f2a67,null))['then'](removeEntity(_0x1f2a67,null))[_0x8a20('0x42')](handleError(_0x1f2a67,null));};exports[_0x8a20('0x5b')]=function(_0x1ce47e,_0x2edb7b,_0xdaf333){return db[_0x8a20('0x49')]['transaction'](function(_0x213d57){var _0xd39d6d;return db[_0x8a20('0x28')][_0x8a20('0x47')]({'where':{'id':_0x1ce47e[_0x8a20('0x57')]['id']}})['then'](function(_0x1b8e43){if(_0x1b8e43){_0xd39d6d=_0x1b8e43;return _0x1b8e43[_0x8a20('0x5b')](_0x1ce47e[_0x8a20('0x46')]['id'],{'transaction':_0x213d57});}})[_0x8a20('0x20')](function(_0x2a9953){if(_0x2a9953){return db[_0x8a20('0x5c')][_0x8a20('0x5d')]({'where':{'id':_0x1ce47e[_0x8a20('0x46')]['id']},'attributes':['id',_0x8a20('0x26'),_0x8a20('0x5e'),'converted_format',_0x8a20('0x5f')],'raw':!![]});}})[_0x8a20('0x20')](function(_0x23df34){if(_0x23df34){var _0x1cfb12=path[_0x8a20('0x4d')](config[_0x8a20('0x4e')],_0x8a20('0x60'),util[_0x8a20('0x61')](_0x8a20('0x62'),path[_0x8a20('0x63')](_0x23df34[_0x8a20('0x5e')],path[_0x8a20('0x64')](_0x23df34['save_name'])),_0x23df34[_0x8a20('0x65')]));var _0x56827c=path[_0x8a20('0x4d')](config[_0x8a20('0x4e')],_0x8a20('0x4f'),_0xd39d6d[_0x8a20('0x26')],util[_0x8a20('0x61')]('%s.%s',_0x23df34[_0x8a20('0x26')],_0x23df34[_0x8a20('0x65')]));fs['symlinkSync'](_0x1cfb12,_0x56827c);return _0x23df34;}})[_0x8a20('0x42')](function(_0x56b803){throw new db[(_0x8a20('0x59'))][(_0x8a20('0x5a'))](_0x56b803[_0x8a20('0x66')]);});})['then'](handleEntityNotFound(_0x2edb7b,null))['then'](respondWithResult(_0x2edb7b,0xc9))[_0x8a20('0x42')](handleError(_0x2edb7b,null));};exports[_0x8a20('0x67')]=function(_0x35f3ce,_0x1d207c,_0xed9756){return db['sequelize'][_0x8a20('0x4a')](function(_0x3d8ff1){var _0x8e1c68;return db[_0x8a20('0x28')][_0x8a20('0x5d')]({'where':{'id':_0x35f3ce['params']['id']}})[_0x8a20('0x20')](handleEntityNotFound(_0x1d207c,null))[_0x8a20('0x20')](function(_0x148da8){if(_0x148da8){_0x8e1c68=_0x148da8;return _0x148da8[_0x8a20('0x67')](_0x35f3ce[_0x8a20('0x57')][_0x8a20('0x68')]);}})[_0x8a20('0x20')](function(_0x58a691){if(_0x58a691){return db[_0x8a20('0x5c')]['findOne']({'where':{'id':_0x35f3ce['params'][_0x8a20('0x68')]},'attributes':['id',_0x8a20('0x26'),_0x8a20('0x5e'),_0x8a20('0x65'),_0x8a20('0x5f')],'raw':!![]});}})[_0x8a20('0x20')](function(_0xf702fb){if(_0xf702fb){fs[_0x8a20('0x69')](path[_0x8a20('0x4d')](_0x8e1c68['directory'],util[_0x8a20('0x61')](_0x8a20('0x62'),_0xf702fb[_0x8a20('0x26')],_0xf702fb[_0x8a20('0x65')])));return _0xf702fb;}})[_0x8a20('0x42')](function(_0xfd8ae0){throw new db[(_0x8a20('0x59'))][(_0x8a20('0x5a'))](_0xfd8ae0[_0x8a20('0x66')]);});})[_0x8a20('0x20')](handleEntityNotFound(_0x1d207c,null))['then'](respondWithStatusCode(_0x1d207c,0xcc))[_0x8a20('0x42')](handleError(_0x1d207c,null));};exports[_0x8a20('0x6a')]=function(_0x2df934,_0x4635c9,_0x34a7e0){var _0x1c37c7={};var _0x2b41e8={};var _0x16c60c;var _0x1c99c1;return db[_0x8a20('0x28')][_0x8a20('0x5d')]({'where':{'id':_0x2df934[_0x8a20('0x57')]['id']}})['then'](handleEntityNotFound(_0x4635c9,null))['then'](function(_0x2a34fc){if(_0x2a34fc){_0x16c60c=_0x2a34fc;_0x2b41e8[_0x8a20('0x2d')]=_[_0x8a20('0x2f')](db[_0x8a20('0x5c')][_0x8a20('0x29')]);_0x2b41e8['query']=_[_0x8a20('0x2f')](_0x2df934['query']);_0x2b41e8[_0x8a20('0x30')]=_[_0x8a20('0x31')](_0x2b41e8[_0x8a20('0x2d')],_0x2b41e8[_0x8a20('0x2e')]);_0x1c37c7[_0x8a20('0x32')]=_[_0x8a20('0x31')](_0x2b41e8['model'],qs[_0x8a20('0x33')](_0x2df934['query'][_0x8a20('0x33')]));_0x1c37c7[_0x8a20('0x32')]=_0x1c37c7[_0x8a20('0x32')][_0x8a20('0x34')]?_0x1c37c7[_0x8a20('0x32')]:_0x2b41e8[_0x8a20('0x2d')];_0x1c37c7[_0x8a20('0x37')]=qs[_0x8a20('0x38')](_0x2df934['query'][_0x8a20('0x38')]);_0x1c37c7[_0x8a20('0x39')]=qs['filters'](_[_0x8a20('0x3a')](_0x2df934[_0x8a20('0x2e')],_0x2b41e8[_0x8a20('0x30')]));if(_0x2df934[_0x8a20('0x2e')]['filter']){_0x1c37c7[_0x8a20('0x39')]=_[_0x8a20('0x3c')](_0x1c37c7[_0x8a20('0x39')],{'$or':_['map'](_0x1c37c7[_0x8a20('0x32')],function(_0x53e842){var _0x350322={};_0x350322[_0x53e842]={'$like':'%'+_0x2df934['query'][_0x8a20('0x3b')]+'%'};return _0x350322;})});}_0x1c37c7=_['merge']({},_0x1c37c7,_0x2df934[_0x8a20('0x45')]);return _0x16c60c[_0x8a20('0x6a')](_0x1c37c7);}})[_0x8a20('0x20')](function(_0x1af4a8){if(_0x1af4a8){_0x1c99c1=_0x1af4a8[_0x8a20('0x34')];if(!_0x2df934[_0x8a20('0x2e')][_0x8a20('0x35')](_0x8a20('0x36'))){_0x1c37c7[_0x8a20('0x1a')]=qs[_0x8a20('0x1a')](_0x2df934['query'][_0x8a20('0x1a')]);_0x1c37c7['offset']=qs['offset'](_0x2df934[_0x8a20('0x2e')][_0x8a20('0x19')]);}return _0x16c60c[_0x8a20('0x6a')](_0x1c37c7);}})[_0x8a20('0x20')](function(_0xb9f816){if(_0xb9f816){return _0xb9f816?{'count':_0x1c99c1,'rows':_0xb9f816}:null;}})['then'](respondWithResult(_0x4635c9,null))['catch'](handleError(_0x4635c9,null));};