Built motion from commit (unavailable).|2.4.19
[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 _0x0e96=['fields','find','body','create','sequelize','mode','files','join','root','server/files/moh','mkdirSync','directory','0777','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','transaction','readdirSync','forEach','rmdirSync','Sequelize','ValidationError','addSound','findOne','save_name','converted_format','createdAt','server/files/sounds/converted','format','%s.%s','symlinkSync','message','removeSound','id2','Sound','unlinkSync','getSounds','rawAttributes','order','nolimit','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','ejs','crypto','jsforce','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','update','then','destroy','get','MusicOnHolds','UserProfileResource','sendStatus','error','stack','name','map','VoiceMusicOnHold','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','sort','filter','where','merge','options','includeAll','include','rows','catch','params'];(function(_0x550bd1,_0x3358a4){var _0x21889f=function(_0xffa850){while(--_0xffa850){_0x550bd1['push'](_0x550bd1['shift']());}};_0x21889f(++_0x3358a4);}(_0x0e96,0x1d3));var _0x60e9=function(_0x5e5de8,_0x1548b6){_0x5e5de8=_0x5e5de8-0x0;var _0x55caaf=_0x0e96[_0x5e5de8];return _0x55caaf;};'use strict';var pdf=require(_0x60e9('0x0'));var emlformat=require(_0x60e9('0x1'));var rimraf=require(_0x60e9('0x2'));var zipdir=require(_0x60e9('0x3'));var jsonpatch=require(_0x60e9('0x4'));var rp=require(_0x60e9('0x5'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x60e9('0x6'));var util=require(_0x60e9('0x7'));var path=require(_0x60e9('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x60e9('0x9'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x60e9('0xa'));var jsforce=require(_0x60e9('0xb'));var deskjs=require(_0x60e9('0xc'));var toCsv=require(_0x60e9('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x60e9('0xe'));var authService=require(_0x60e9('0xf'));var qs=require(_0x60e9('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x60e9('0x11'));var logger=require('../../config/logger')(_0x60e9('0x12'));var utils=require('../../config/utils');var config=require(_0x60e9('0x13'));var db=require(_0x60e9('0x14'))['db'];function respondWithStatusCode(_0x50af01,_0xbeaf77){_0xbeaf77=_0xbeaf77||0xcc;return function(_0x2aa78f){if(_0x2aa78f){return _0x50af01['sendStatus'](_0xbeaf77);}return _0x50af01[_0x60e9('0x15')](_0xbeaf77)[_0x60e9('0x16')]();};}function respondWithResult(_0x89c7c1,_0x511fbb){_0x511fbb=_0x511fbb||0xc8;return function(_0x4160cf){if(_0x4160cf){return _0x89c7c1[_0x60e9('0x15')](_0x511fbb)[_0x60e9('0x17')](_0x4160cf);}};}function respondWithFilteredResult(_0x5504c7,_0x530d3b){return function(_0x4197b4){if(_0x4197b4){var _0x2d7bde=_0x4197b4[_0x60e9('0x18')],_0x3b2c5e=_0x530d3b[_0x60e9('0x19')],_0x50fd66=_0x530d3b[_0x60e9('0x19')]+_0x530d3b[_0x60e9('0x1a')],_0x82ae21;if(_0x50fd66>=_0x2d7bde){_0x50fd66=_0x2d7bde;_0x82ae21=0xc8;}else{_0x82ae21=0xce;}_0x5504c7[_0x60e9('0x15')](_0x82ae21);return _0x5504c7[_0x60e9('0x1b')](_0x60e9('0x1c'),_0x3b2c5e+'-'+_0x50fd66+'/'+_0x2d7bde)[_0x60e9('0x17')](_0x4197b4);}return null;};}function patchUpdates(_0x13104a){return function(_0x2c1a52){try{jsonpatch[_0x60e9('0x1d')](_0x2c1a52,_0x13104a,!![]);}catch(_0x3b958a){return BPromise['reject'](_0x3b958a);}return _0x2c1a52['save']();};}function saveUpdates(_0x25b8ba,_0x45e269){return function(_0x3ee604){if(_0x3ee604){return _0x3ee604[_0x60e9('0x1e')](_0x25b8ba)[_0x60e9('0x1f')](function(_0x429819){return _0x429819;});}return null;};}function removeEntity(_0x1e889d,_0x466e37){return function(_0x156ed3){if(_0x156ed3){return _0x156ed3[_0x60e9('0x20')]()[_0x60e9('0x1f')](function(){var _0x3dd8f2=_0x156ed3[_0x60e9('0x21')]({'plain':!![]});var _0x4a6d95=_0x60e9('0x22');return db[_0x60e9('0x23')][_0x60e9('0x20')]({'where':{'type':_0x4a6d95,'resourceId':_0x3dd8f2['id']}})[_0x60e9('0x1f')](function(){return _0x156ed3;});})[_0x60e9('0x1f')](function(){_0x1e889d['status'](0xcc)[_0x60e9('0x16')]();});}};}function handleEntityNotFound(_0x4bb34c,_0x8349b7){return function(_0x15e42a){if(!_0x15e42a){_0x4bb34c[_0x60e9('0x24')](0x194);}return _0x15e42a;};}function handleError(_0x2ffcd9,_0x142b58){_0x142b58=_0x142b58||0x1f4;return function(_0x182d4e){logger[_0x60e9('0x25')](_0x182d4e[_0x60e9('0x26')]);if(_0x182d4e[_0x60e9('0x27')]){delete _0x182d4e['name'];}_0x2ffcd9[_0x60e9('0x15')](_0x142b58)['send'](_0x182d4e);};}exports['index']=function(_0x21948a,_0x24ba01){var _0x1b5d07={},_0x5abfb6={},_0x4a6226={'count':0x0,'rows':[]};var _0x2d1a4e=_[_0x60e9('0x28')](db[_0x60e9('0x29')]['rawAttributes'],function(_0x5d8069){return{'name':_0x5d8069[_0x60e9('0x2a')],'type':_0x5d8069[_0x60e9('0x2b')][_0x60e9('0x2c')]};});_0x5abfb6[_0x60e9('0x2d')]=_[_0x60e9('0x28')](_0x2d1a4e,_0x60e9('0x27'));_0x5abfb6[_0x60e9('0x2e')]=_[_0x60e9('0x2f')](_0x21948a['query']);_0x5abfb6[_0x60e9('0x30')]=_[_0x60e9('0x31')](_0x5abfb6[_0x60e9('0x2d')],_0x5abfb6[_0x60e9('0x2e')]);_0x1b5d07[_0x60e9('0x32')]=_['intersection'](_0x5abfb6[_0x60e9('0x2d')],qs['fields'](_0x21948a[_0x60e9('0x2e')]['fields']));_0x1b5d07[_0x60e9('0x32')]=_0x1b5d07[_0x60e9('0x32')][_0x60e9('0x33')]?_0x1b5d07[_0x60e9('0x32')]:_0x5abfb6[_0x60e9('0x2d')];if(!_0x21948a[_0x60e9('0x2e')][_0x60e9('0x34')]('nolimit')){_0x1b5d07[_0x60e9('0x1a')]=qs['limit'](_0x21948a[_0x60e9('0x2e')][_0x60e9('0x1a')]);_0x1b5d07[_0x60e9('0x19')]=qs[_0x60e9('0x19')](_0x21948a[_0x60e9('0x2e')]['offset']);}_0x1b5d07['order']=qs[_0x60e9('0x35')](_0x21948a['query'][_0x60e9('0x35')]);_0x1b5d07['where']=qs[_0x60e9('0x30')](_['pick'](_0x21948a['query'],_0x5abfb6['filters']));if(_0x21948a[_0x60e9('0x2e')][_0x60e9('0x36')]){_0x1b5d07[_0x60e9('0x37')]=_[_0x60e9('0x38')](_0x1b5d07['where'],{'$or':_[_0x60e9('0x28')](_0x2d1a4e,function(_0x45964d){if(_0x45964d[_0x60e9('0x2b')]!=='VIRTUAL'){var _0x19f9e4={};_0x19f9e4[_0x45964d[_0x60e9('0x27')]]={'$like':'%'+_0x21948a[_0x60e9('0x2e')][_0x60e9('0x36')]+'%'};return _0x19f9e4;}})});}_0x1b5d07=_[_0x60e9('0x38')]({},_0x1b5d07,_0x21948a[_0x60e9('0x39')]);var _0x2661b9={'where':_0x1b5d07[_0x60e9('0x37')]};return db[_0x60e9('0x29')]['count'](_0x2661b9)['then'](function(_0x54348e){_0x4a6226[_0x60e9('0x18')]=_0x54348e;if(_0x21948a[_0x60e9('0x2e')][_0x60e9('0x3a')]){_0x1b5d07[_0x60e9('0x3b')]=[{'all':!![]}];}return db[_0x60e9('0x29')]['findAll'](_0x1b5d07);})[_0x60e9('0x1f')](function(_0x3f7cce){_0x4a6226[_0x60e9('0x3c')]=_0x3f7cce;return _0x4a6226;})[_0x60e9('0x1f')](respondWithFilteredResult(_0x24ba01,_0x1b5d07))[_0x60e9('0x3d')](handleError(_0x24ba01,null));};exports['show']=function(_0x11adf7,_0x3229b9){var _0x1775f5={'raw':![],'where':{'id':_0x11adf7[_0x60e9('0x3e')]['id']}},_0x283839={};_0x283839[_0x60e9('0x2d')]=_[_0x60e9('0x2f')](db['VoiceMusicOnHold']['rawAttributes']);_0x283839[_0x60e9('0x2e')]=_[_0x60e9('0x2f')](_0x11adf7[_0x60e9('0x2e')]);_0x283839[_0x60e9('0x30')]=_[_0x60e9('0x31')](_0x283839['model'],_0x283839[_0x60e9('0x2e')]);_0x1775f5[_0x60e9('0x32')]=_[_0x60e9('0x31')](_0x283839['model'],qs[_0x60e9('0x3f')](_0x11adf7['query'][_0x60e9('0x3f')]));_0x1775f5[_0x60e9('0x32')]=_0x1775f5[_0x60e9('0x32')][_0x60e9('0x33')]?_0x1775f5[_0x60e9('0x32')]:_0x283839[_0x60e9('0x2d')];if(_0x11adf7['query'][_0x60e9('0x3a')]){_0x1775f5[_0x60e9('0x3b')]=[{'all':!![]}];}_0x1775f5=_[_0x60e9('0x38')]({},_0x1775f5,_0x11adf7[_0x60e9('0x39')]);return db['VoiceMusicOnHold'][_0x60e9('0x40')](_0x1775f5)[_0x60e9('0x1f')](handleEntityNotFound(_0x3229b9,null))[_0x60e9('0x1f')](respondWithResult(_0x3229b9,null))[_0x60e9('0x3d')](handleError(_0x3229b9,null));};exports[_0x60e9('0x1e')]=function(_0x53298d,_0x4bc735){if(_0x53298d['body']['id']){delete _0x53298d[_0x60e9('0x41')]['id'];}return db[_0x60e9('0x29')][_0x60e9('0x40')]({'where':{'id':_0x53298d[_0x60e9('0x3e')]['id']}})[_0x60e9('0x1f')](handleEntityNotFound(_0x4bc735,null))[_0x60e9('0x1f')](saveUpdates(_0x53298d[_0x60e9('0x41')],null))[_0x60e9('0x1f')](respondWithResult(_0x4bc735,null))[_0x60e9('0x3d')](handleError(_0x4bc735,null));};exports[_0x60e9('0x42')]=function(_0xb32723,_0x5515c4,_0x5f5beb){return db[_0x60e9('0x43')]['transaction'](function(_0x306125){if(_0xb32723[_0x60e9('0x41')][_0x60e9('0x44')]===_0x60e9('0x45')){_0xb32723['body']['directory']=path[_0x60e9('0x46')](config[_0x60e9('0x47')],_0x60e9('0x48'),_0xb32723[_0x60e9('0x41')]['name']);}return db['VoiceMusicOnHold'][_0x60e9('0x42')](_0xb32723[_0x60e9('0x41')],{'transaction':_0x306125})[_0x60e9('0x1f')](function(_0xcf9c66){if(_0xb32723[_0x60e9('0x41')][_0x60e9('0x44')]===_0x60e9('0x45')){fs[_0x60e9('0x49')](_0xcf9c66[_0x60e9('0x4a')],parseInt(_0x60e9('0x4b'),0x8));}var _0x4a2e8d=_0xb32723['user'][_0x60e9('0x21')]({'plain':!![]});if(!_0x4a2e8d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4a2e8d[_0x60e9('0x4c')]===_0x60e9('0x4d')){var _0x3d3478=_0xcf9c66[_0x60e9('0x21')]({'plain':!![]});return db[_0x60e9('0x4e')][_0x60e9('0x40')]({'where':{'name':_0x60e9('0x22'),'userProfileId':_0x4a2e8d[_0x60e9('0x4f')]},'raw':!![]})[_0x60e9('0x1f')](function(_0x3a63e0){if(_0x3a63e0&&_0x3a63e0[_0x60e9('0x50')]===0x0){return db[_0x60e9('0x23')]['create']({'name':_0x3d3478[_0x60e9('0x27')],'resourceId':_0x3d3478['id'],'type':_0x3a63e0['name'],'sectionId':_0x3a63e0['id']},{})[_0x60e9('0x1f')](function(){return _0xcf9c66;});}else{return _0xcf9c66;}})[_0x60e9('0x3d')](function(_0x48ca5b){logger[_0x60e9('0x25')](_0x60e9('0x51'),_0x48ca5b);});}return _0xcf9c66;});})[_0x60e9('0x1f')](respondWithResult(_0x5515c4,0xc9))[_0x60e9('0x3d')](handleError(_0x5515c4,null));};exports[_0x60e9('0x20')]=function(_0x389541,_0x2b7623,_0x41ce59){var _0x1440a5;return db[_0x60e9('0x29')][_0x60e9('0x40')]({'where':{'id':_0x389541[_0x60e9('0x3e')]['id']}})[_0x60e9('0x1f')](function(_0x8c6f8c){if(_0x8c6f8c){return db[_0x60e9('0x43')][_0x60e9('0x52')](function(_0x2ea0e2){return _0x8c6f8c[_0x60e9('0x20')]({'transaction':_0x2ea0e2,'raw':!![]})[_0x60e9('0x1f')](function(_0x50d4a7){if(_0x50d4a7[_0x60e9('0x4a')]){fs[_0x60e9('0x53')](_0x50d4a7['directory'])[_0x60e9('0x54')](function(_0x422346){fs['unlinkSync'](path[_0x60e9('0x46')](_0x50d4a7[_0x60e9('0x4a')],_0x422346));});fs[_0x60e9('0x55')](_0x50d4a7[_0x60e9('0x4a')]);}return _0x50d4a7;});})[_0x60e9('0x3d')](function(_0x52db20){throw new db[(_0x60e9('0x56'))][(_0x60e9('0x57'))](_0x52db20['message']);});}})[_0x60e9('0x1f')](handleEntityNotFound(_0x2b7623,null))[_0x60e9('0x1f')](removeEntity(_0x2b7623,null))[_0x60e9('0x3d')](handleError(_0x2b7623,null));};exports[_0x60e9('0x58')]=function(_0x4cb2c7,_0x35f51f,_0xdd9cf5){return db[_0x60e9('0x43')]['transaction'](function(_0x33169b){var _0x4aa885;return db[_0x60e9('0x29')][_0x60e9('0x40')]({'where':{'id':_0x4cb2c7[_0x60e9('0x3e')]['id']}})[_0x60e9('0x1f')](function(_0x37c41a){if(_0x37c41a){_0x4aa885=_0x37c41a;return _0x37c41a[_0x60e9('0x58')](_0x4cb2c7[_0x60e9('0x41')]['id'],{'transaction':_0x33169b});}})[_0x60e9('0x1f')](function(_0x54133d){if(_0x54133d){return db['Sound'][_0x60e9('0x59')]({'where':{'id':_0x4cb2c7[_0x60e9('0x41')]['id']},'attributes':['id',_0x60e9('0x27'),_0x60e9('0x5a'),_0x60e9('0x5b'),_0x60e9('0x5c')],'raw':!![]});}})['then'](function(_0x2a3add){if(_0x2a3add){var _0x3b82eb=path[_0x60e9('0x46')](config['root'],_0x60e9('0x5d'),util[_0x60e9('0x5e')]('%s.%s',path['basename'](_0x2a3add[_0x60e9('0x5a')],path['extname'](_0x2a3add[_0x60e9('0x5a')])),_0x2a3add[_0x60e9('0x5b')]));var _0x57d805=path[_0x60e9('0x46')](config[_0x60e9('0x47')],_0x60e9('0x48'),_0x4aa885[_0x60e9('0x27')],util[_0x60e9('0x5e')](_0x60e9('0x5f'),_0x2a3add[_0x60e9('0x27')],_0x2a3add['converted_format']));fs[_0x60e9('0x60')](_0x3b82eb,_0x57d805);return _0x2a3add;}})[_0x60e9('0x3d')](function(_0x2c6940){throw new db['Sequelize'][(_0x60e9('0x57'))](_0x2c6940[_0x60e9('0x61')]);});})[_0x60e9('0x1f')](handleEntityNotFound(_0x35f51f,null))[_0x60e9('0x1f')](respondWithResult(_0x35f51f,0xc9))[_0x60e9('0x3d')](handleError(_0x35f51f,null));};exports['removeSound']=function(_0x1e9076,_0x59c717,_0x49adbe){return db['sequelize'][_0x60e9('0x52')](function(_0x56768c){var _0x4a80d1;return db[_0x60e9('0x29')][_0x60e9('0x59')]({'where':{'id':_0x1e9076['params']['id']}})[_0x60e9('0x1f')](handleEntityNotFound(_0x59c717,null))[_0x60e9('0x1f')](function(_0x253c0d){if(_0x253c0d){_0x4a80d1=_0x253c0d;return _0x253c0d[_0x60e9('0x62')](_0x1e9076[_0x60e9('0x3e')][_0x60e9('0x63')]);}})[_0x60e9('0x1f')](function(_0x560db1){if(_0x560db1){return db[_0x60e9('0x64')][_0x60e9('0x59')]({'where':{'id':_0x1e9076['params'][_0x60e9('0x63')]},'attributes':['id','name',_0x60e9('0x5a'),'converted_format',_0x60e9('0x5c')],'raw':!![]});}})[_0x60e9('0x1f')](function(_0x181e00){if(_0x181e00){fs[_0x60e9('0x65')](path[_0x60e9('0x46')](_0x4a80d1[_0x60e9('0x4a')],util[_0x60e9('0x5e')](_0x60e9('0x5f'),_0x181e00['name'],_0x181e00['converted_format'])));return _0x181e00;}})['catch'](function(_0x323ae9){throw new db[(_0x60e9('0x56'))][(_0x60e9('0x57'))](_0x323ae9[_0x60e9('0x61')]);});})[_0x60e9('0x1f')](handleEntityNotFound(_0x59c717,null))[_0x60e9('0x1f')](respondWithStatusCode(_0x59c717,0xcc))['catch'](handleError(_0x59c717,null));};exports[_0x60e9('0x66')]=function(_0x37c289,_0x2a4518,_0x2095b8){var _0x36c45c={};var _0x4594d2={};var _0xb5d645;var _0x347068;return db['VoiceMusicOnHold']['findOne']({'where':{'id':_0x37c289[_0x60e9('0x3e')]['id']}})[_0x60e9('0x1f')](handleEntityNotFound(_0x2a4518,null))[_0x60e9('0x1f')](function(_0x3c4fb6){if(_0x3c4fb6){_0xb5d645=_0x3c4fb6;_0x4594d2[_0x60e9('0x2d')]=_[_0x60e9('0x2f')](db[_0x60e9('0x64')][_0x60e9('0x67')]);_0x4594d2[_0x60e9('0x2e')]=_['keys'](_0x37c289['query']);_0x4594d2[_0x60e9('0x30')]=_['intersection'](_0x4594d2[_0x60e9('0x2d')],_0x4594d2[_0x60e9('0x2e')]);_0x36c45c[_0x60e9('0x32')]=_[_0x60e9('0x31')](_0x4594d2[_0x60e9('0x2d')],qs[_0x60e9('0x3f')](_0x37c289[_0x60e9('0x2e')]['fields']));_0x36c45c['attributes']=_0x36c45c[_0x60e9('0x32')][_0x60e9('0x33')]?_0x36c45c[_0x60e9('0x32')]:_0x4594d2[_0x60e9('0x2d')];_0x36c45c[_0x60e9('0x68')]=qs[_0x60e9('0x35')](_0x37c289[_0x60e9('0x2e')]['sort']);_0x36c45c[_0x60e9('0x37')]=qs[_0x60e9('0x30')](_['pick'](_0x37c289[_0x60e9('0x2e')],_0x4594d2[_0x60e9('0x30')]));if(_0x37c289[_0x60e9('0x2e')][_0x60e9('0x36')]){_0x36c45c[_0x60e9('0x37')]=_[_0x60e9('0x38')](_0x36c45c['where'],{'$or':_[_0x60e9('0x28')](_0x36c45c['attributes'],function(_0x308109){var _0x114b0a={};_0x114b0a[_0x308109]={'$like':'%'+_0x37c289[_0x60e9('0x2e')][_0x60e9('0x36')]+'%'};return _0x114b0a;})});}_0x36c45c=_[_0x60e9('0x38')]({},_0x36c45c,_0x37c289[_0x60e9('0x39')]);return _0xb5d645['getSounds'](_0x36c45c);}})[_0x60e9('0x1f')](function(_0x43aa8d){if(_0x43aa8d){_0x347068=_0x43aa8d[_0x60e9('0x33')];if(!_0x37c289['query'][_0x60e9('0x34')](_0x60e9('0x69'))){_0x36c45c[_0x60e9('0x1a')]=qs[_0x60e9('0x1a')](_0x37c289['query']['limit']);_0x36c45c[_0x60e9('0x19')]=qs[_0x60e9('0x19')](_0x37c289[_0x60e9('0x2e')][_0x60e9('0x19')]);}return _0xb5d645['getSounds'](_0x36c45c);}})[_0x60e9('0x1f')](function(_0x575292){if(_0x575292){return _0x575292?{'count':_0x347068,'rows':_0x575292}:null;}})['then'](respondWithResult(_0x2a4518,null))[_0x60e9('0x3d')](handleError(_0x2a4518,null));};