baec43a70f26be3c3167c15c503362e6ababb0d4
[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 _0x80f7=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','then','get','MusicOnHolds','UserProfileResource','destroy','error','stack','name','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','VoiceMusicOnHold','rawAttributes','includeAll','find','body','create','transaction','mode','files','join','root','server/files/moh','directory','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','sequelize','Sound','findOne','createdAt','server/files/sounds/converted','format','%s.%s','basename','extname','save_name','converted_format','removeSound','id2','getSounds','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','lodash','squel'];(function(_0x292f35,_0x72e859){var _0x288e75=function(_0x1bba68){while(--_0x1bba68){_0x292f35['push'](_0x292f35['shift']());}};_0x288e75(++_0x72e859);}(_0x80f7,0xd6));var _0x780f=function(_0x28c89b,_0x2510b3){_0x28c89b=_0x28c89b-0x0;var _0x176500=_0x80f7[_0x28c89b];return _0x176500;};'use strict';var pdf=require(_0x780f('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x780f('0x1'));var zipdir=require(_0x780f('0x2'));var jsonpatch=require(_0x780f('0x3'));var rp=require(_0x780f('0x4'));var moment=require(_0x780f('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x780f('0x6'));var path=require(_0x780f('0x7'));var sox=require(_0x780f('0x8'));var csv=require(_0x780f('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x780f('0xa'));var squel=require(_0x780f('0xb'));var crypto=require(_0x780f('0xc'));var jsforce=require(_0x780f('0xd'));var deskjs=require(_0x780f('0xe'));var toCsv=require('to-csv');var querystring=require(_0x780f('0xf'));var Papa=require(_0x780f('0x10'));var Redis=require(_0x780f('0x11'));var authService=require(_0x780f('0x12'));var qs=require(_0x780f('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x780f('0x14'));var logger=require(_0x780f('0x15'))(_0x780f('0x16'));var utils=require(_0x780f('0x17'));var config=require(_0x780f('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x780f('0x19'))['db'];function respondWithStatusCode(_0x467c01,_0x4aa103){_0x4aa103=_0x4aa103||0xcc;return function(_0x171764){if(_0x171764){return _0x467c01[_0x780f('0x1a')](_0x4aa103);}return _0x467c01[_0x780f('0x1b')](_0x4aa103)[_0x780f('0x1c')]();};}function respondWithResult(_0x126c79,_0xca13c6){_0xca13c6=_0xca13c6||0xc8;return function(_0x184c35){if(_0x184c35){return _0x126c79[_0x780f('0x1b')](_0xca13c6)['json'](_0x184c35);}};}function respondWithFilteredResult(_0x156654,_0x1bcfb9){return function(_0x6dc32b){if(_0x6dc32b){var _0x39c3f3=_0x6dc32b[_0x780f('0x1d')],_0x380e25=_0x1bcfb9['offset'],_0x37e9ca=_0x1bcfb9[_0x780f('0x1e')]+_0x1bcfb9[_0x780f('0x1f')],_0x3ae247;if(_0x37e9ca>=_0x39c3f3){_0x37e9ca=_0x39c3f3;_0x3ae247=0xc8;}else{_0x3ae247=0xce;}_0x156654['status'](_0x3ae247);return _0x156654[_0x780f('0x20')](_0x780f('0x21'),_0x380e25+'-'+_0x37e9ca+'/'+_0x39c3f3)[_0x780f('0x22')](_0x6dc32b);}return null;};}function patchUpdates(_0x3fa0e7){return function(_0x5f2124){try{jsonpatch[_0x780f('0x23')](_0x5f2124,_0x3fa0e7,!![]);}catch(_0x5d0ce1){return BPromise[_0x780f('0x24')](_0x5d0ce1);}return _0x5f2124[_0x780f('0x25')]();};}function saveUpdates(_0x53347e,_0x158ca2){return function(_0x783625){if(_0x783625){return _0x783625['update'](_0x53347e)['then'](function(_0x2d4c7b){return _0x2d4c7b;});}return null;};}function removeEntity(_0x41a6a9,_0x13968a){return function(_0x420f2b){if(_0x420f2b){return _0x420f2b['destroy']()[_0x780f('0x26')](function(){var _0xc75738=_0x420f2b[_0x780f('0x27')]({'plain':!![]});var _0x2eb0cc=_0x780f('0x28');return db[_0x780f('0x29')][_0x780f('0x2a')]({'where':{'type':_0x2eb0cc,'resourceId':_0xc75738['id']}})[_0x780f('0x26')](function(){return _0x420f2b;});})['then'](function(){_0x41a6a9['status'](0xcc)[_0x780f('0x1c')]();});}};}function handleEntityNotFound(_0xb2c405,_0xe53c5a){return function(_0x1154a3){if(!_0x1154a3){_0xb2c405[_0x780f('0x1a')](0x194);}return _0x1154a3;};}function handleError(_0x3b2cff,_0x548db4){_0x548db4=_0x548db4||0x1f4;return function(_0x142364){logger[_0x780f('0x2b')](_0x142364[_0x780f('0x2c')]);if(_0x142364[_0x780f('0x2d')]){delete _0x142364[_0x780f('0x2d')];}_0x3b2cff[_0x780f('0x1b')](_0x548db4)['send'](_0x142364);};}exports['index']=function(_0x21a5ff,_0x38bd0d){var _0x11cf79={},_0x21075c={},_0x490f5c={'count':0x0,'rows':[]};var _0xf388f5=_['map'](db['VoiceMusicOnHold']['rawAttributes'],function(_0x5784ac){return{'name':_0x5784ac[_0x780f('0x2e')],'type':_0x5784ac[_0x780f('0x2f')]['key']};});_0x21075c[_0x780f('0x30')]=_[_0x780f('0x31')](_0xf388f5,_0x780f('0x2d'));_0x21075c[_0x780f('0x32')]=_[_0x780f('0x33')](_0x21a5ff[_0x780f('0x32')]);_0x21075c[_0x780f('0x34')]=_[_0x780f('0x35')](_0x21075c[_0x780f('0x30')],_0x21075c[_0x780f('0x32')]);_0x11cf79[_0x780f('0x36')]=_[_0x780f('0x35')](_0x21075c[_0x780f('0x30')],qs[_0x780f('0x37')](_0x21a5ff[_0x780f('0x32')][_0x780f('0x37')]));_0x11cf79[_0x780f('0x36')]=_0x11cf79[_0x780f('0x36')][_0x780f('0x38')]?_0x11cf79[_0x780f('0x36')]:_0x21075c['model'];if(!_0x21a5ff[_0x780f('0x32')][_0x780f('0x39')](_0x780f('0x3a'))){_0x11cf79[_0x780f('0x1f')]=qs[_0x780f('0x1f')](_0x21a5ff[_0x780f('0x32')]['limit']);_0x11cf79['offset']=qs['offset'](_0x21a5ff[_0x780f('0x32')]['offset']);}_0x11cf79[_0x780f('0x3b')]=qs['sort'](_0x21a5ff[_0x780f('0x32')][_0x780f('0x3c')]);_0x11cf79[_0x780f('0x3d')]=qs['filters'](_[_0x780f('0x3e')](_0x21a5ff['query'],_0x21075c[_0x780f('0x34')]),_0xf388f5);if(_0x21a5ff[_0x780f('0x32')][_0x780f('0x3f')]){_0x11cf79[_0x780f('0x3d')]=_[_0x780f('0x40')](_0x11cf79['where'],{'$or':_[_0x780f('0x31')](_0xf388f5,function(_0x28f5cf){if(_0x28f5cf['type']!==_0x780f('0x41')){var _0x45d341={};_0x45d341[_0x28f5cf['name']]={'$like':'%'+_0x21a5ff[_0x780f('0x32')][_0x780f('0x3f')]+'%'};return _0x45d341;}})});}_0x11cf79=_[_0x780f('0x40')]({},_0x11cf79,_0x21a5ff[_0x780f('0x42')]);var _0x511a18={'where':_0x11cf79[_0x780f('0x3d')]};return db['VoiceMusicOnHold'][_0x780f('0x1d')](_0x511a18)['then'](function(_0x9d85b4){_0x490f5c[_0x780f('0x1d')]=_0x9d85b4;if(_0x21a5ff[_0x780f('0x32')]['includeAll']){_0x11cf79[_0x780f('0x43')]=[{'all':!![]}];}return db['VoiceMusicOnHold'][_0x780f('0x44')](_0x11cf79);})[_0x780f('0x26')](function(_0xce7bc){_0x490f5c[_0x780f('0x45')]=_0xce7bc;return _0x490f5c;})[_0x780f('0x26')](respondWithFilteredResult(_0x38bd0d,_0x11cf79))[_0x780f('0x46')](handleError(_0x38bd0d,null));};exports[_0x780f('0x47')]=function(_0x589cf8,_0x29e044){var _0x4f1b8f={'raw':![],'where':{'id':_0x589cf8[_0x780f('0x48')]['id']}},_0x435685={};_0x435685[_0x780f('0x30')]=_[_0x780f('0x33')](db[_0x780f('0x49')][_0x780f('0x4a')]);_0x435685['query']=_[_0x780f('0x33')](_0x589cf8[_0x780f('0x32')]);_0x435685[_0x780f('0x34')]=_[_0x780f('0x35')](_0x435685['model'],_0x435685[_0x780f('0x32')]);_0x4f1b8f[_0x780f('0x36')]=_[_0x780f('0x35')](_0x435685[_0x780f('0x30')],qs[_0x780f('0x37')](_0x589cf8[_0x780f('0x32')][_0x780f('0x37')]));_0x4f1b8f[_0x780f('0x36')]=_0x4f1b8f[_0x780f('0x36')]['length']?_0x4f1b8f['attributes']:_0x435685[_0x780f('0x30')];if(_0x589cf8['query'][_0x780f('0x4b')]){_0x4f1b8f[_0x780f('0x43')]=[{'all':!![]}];}_0x4f1b8f=_['merge']({},_0x4f1b8f,_0x589cf8['options']);return db[_0x780f('0x49')][_0x780f('0x4c')](_0x4f1b8f)[_0x780f('0x26')](handleEntityNotFound(_0x29e044,null))['then'](respondWithResult(_0x29e044,null))[_0x780f('0x46')](handleError(_0x29e044,null));};exports['update']=function(_0x486d5a,_0x25b167){if(_0x486d5a[_0x780f('0x4d')]['id']){delete _0x486d5a['body']['id'];}return db[_0x780f('0x49')][_0x780f('0x4c')]({'where':{'id':_0x486d5a[_0x780f('0x48')]['id']}})['then'](handleEntityNotFound(_0x25b167,null))[_0x780f('0x26')](saveUpdates(_0x486d5a[_0x780f('0x4d')],null))['then'](respondWithResult(_0x25b167,null))['catch'](handleError(_0x25b167,null));};exports[_0x780f('0x4e')]=function(_0x44e6ee,_0x5abe65,_0x185c1b){return db['sequelize'][_0x780f('0x4f')](function(_0x5afa4a){if(_0x44e6ee[_0x780f('0x4d')][_0x780f('0x50')]===_0x780f('0x51')){_0x44e6ee[_0x780f('0x4d')]['directory']=path[_0x780f('0x52')](config[_0x780f('0x53')],_0x780f('0x54'),_0x44e6ee['body']['name']);}return db[_0x780f('0x49')][_0x780f('0x4e')](_0x44e6ee['body'],{'transaction':_0x5afa4a})[_0x780f('0x26')](function(_0x14843f){if(_0x44e6ee[_0x780f('0x4d')]['mode']===_0x780f('0x51')){fs['mkdirSync'](_0x14843f[_0x780f('0x55')],parseInt('0777',0x8));}var _0x2f4ae2=_0x44e6ee[_0x780f('0x56')][_0x780f('0x27')]({'plain':!![]});if(!_0x2f4ae2)throw new Error(_0x780f('0x57'));if(_0x2f4ae2['role']===_0x780f('0x56')){var _0x1df5b0=_0x14843f[_0x780f('0x27')]({'plain':!![]});return db[_0x780f('0x58')][_0x780f('0x4c')]({'where':{'name':_0x780f('0x28'),'userProfileId':_0x2f4ae2[_0x780f('0x59')]},'raw':!![]})[_0x780f('0x26')](function(_0x8e5b4c){if(_0x8e5b4c&&_0x8e5b4c[_0x780f('0x5a')]===0x0){return db['UserProfileResource'][_0x780f('0x4e')]({'name':_0x1df5b0[_0x780f('0x2d')],'resourceId':_0x1df5b0['id'],'type':_0x8e5b4c[_0x780f('0x2d')],'sectionId':_0x8e5b4c['id']},{})['then'](function(){return _0x14843f;});}else{return _0x14843f;}})['catch'](function(_0x2dc16a){logger[_0x780f('0x2b')](_0x780f('0x5b'),_0x2dc16a);});}return _0x14843f;});})[_0x780f('0x26')](respondWithResult(_0x5abe65,0xc9))[_0x780f('0x46')](handleError(_0x5abe65,null));};exports[_0x780f('0x2a')]=function(_0x3b577f,_0x28c713,_0x263a78){var _0x166512;return db[_0x780f('0x49')][_0x780f('0x4c')]({'where':{'id':_0x3b577f[_0x780f('0x48')]['id']}})[_0x780f('0x26')](function(_0x393d1c){if(_0x393d1c){return db['sequelize'][_0x780f('0x4f')](function(_0x5a4a70){return _0x393d1c[_0x780f('0x2a')]({'transaction':_0x5a4a70,'raw':!![]})['then'](function(_0x3c48ad){if(_0x3c48ad['directory']){fs[_0x780f('0x5c')](_0x3c48ad[_0x780f('0x55')])['forEach'](function(_0x1051f0){fs[_0x780f('0x5d')](path[_0x780f('0x52')](_0x3c48ad['directory'],_0x1051f0));});fs[_0x780f('0x5e')](_0x3c48ad['directory']);}return _0x3c48ad;});})['catch'](function(_0x4f633e){throw new db[(_0x780f('0x5f'))][(_0x780f('0x60'))](_0x4f633e[_0x780f('0x61')]);});}})[_0x780f('0x26')](handleEntityNotFound(_0x28c713,null))[_0x780f('0x26')](removeEntity(_0x28c713,null))[_0x780f('0x46')](handleError(_0x28c713,null));};exports[_0x780f('0x62')]=function(_0x5422fc,_0x5db0da,_0x2c380a){return db[_0x780f('0x63')][_0x780f('0x4f')](function(_0x34397a){var _0x5e4bb5;return db['VoiceMusicOnHold'][_0x780f('0x4c')]({'where':{'id':_0x5422fc[_0x780f('0x48')]['id']}})[_0x780f('0x26')](function(_0x31beb9){if(_0x31beb9){_0x5e4bb5=_0x31beb9;return _0x31beb9['addSound'](_0x5422fc[_0x780f('0x4d')]['id'],{'transaction':_0x34397a});}})[_0x780f('0x26')](function(_0x586e6d){if(_0x586e6d){return db[_0x780f('0x64')][_0x780f('0x65')]({'where':{'id':_0x5422fc['body']['id']},'attributes':['id',_0x780f('0x2d'),'save_name','converted_format',_0x780f('0x66')],'raw':!![]});}})[_0x780f('0x26')](function(_0x2b1ddd){if(_0x2b1ddd){var _0x54582d=path[_0x780f('0x52')](config[_0x780f('0x53')],_0x780f('0x67'),util[_0x780f('0x68')](_0x780f('0x69'),path[_0x780f('0x6a')](_0x2b1ddd['save_name'],path[_0x780f('0x6b')](_0x2b1ddd[_0x780f('0x6c')])),_0x2b1ddd[_0x780f('0x6d')]));var _0x1fae99=path[_0x780f('0x52')](config[_0x780f('0x53')],_0x780f('0x54'),_0x5e4bb5['name'],util[_0x780f('0x68')](_0x780f('0x69'),_0x2b1ddd['name'],_0x2b1ddd['converted_format']));fs['symlinkSync'](_0x54582d,_0x1fae99);return _0x2b1ddd;}})[_0x780f('0x46')](function(_0x5ca6d7){throw new db[(_0x780f('0x5f'))][(_0x780f('0x60'))](_0x5ca6d7['message']);});})[_0x780f('0x26')](handleEntityNotFound(_0x5db0da,null))[_0x780f('0x26')](respondWithResult(_0x5db0da,0xc9))[_0x780f('0x46')](handleError(_0x5db0da,null));};exports[_0x780f('0x6e')]=function(_0x4e54b9,_0x1db294,_0x249b37){return db[_0x780f('0x63')][_0x780f('0x4f')](function(_0xfe679e){var _0x3c5403;return db['VoiceMusicOnHold']['findOne']({'where':{'id':_0x4e54b9[_0x780f('0x48')]['id']}})['then'](handleEntityNotFound(_0x1db294,null))['then'](function(_0x159473){if(_0x159473){_0x3c5403=_0x159473;return _0x159473[_0x780f('0x6e')](_0x4e54b9['params'][_0x780f('0x6f')]);}})['then'](function(_0x3da648){if(_0x3da648){return db['Sound'][_0x780f('0x65')]({'where':{'id':_0x4e54b9[_0x780f('0x48')][_0x780f('0x6f')]},'attributes':['id',_0x780f('0x2d'),_0x780f('0x6c'),_0x780f('0x6d'),'createdAt'],'raw':!![]});}})['then'](function(_0x287369){if(_0x287369){fs[_0x780f('0x5d')](path['join'](_0x3c5403[_0x780f('0x55')],util[_0x780f('0x68')](_0x780f('0x69'),_0x287369[_0x780f('0x2d')],_0x287369[_0x780f('0x6d')])));return _0x287369;}})[_0x780f('0x46')](function(_0x3791cd){throw new db[(_0x780f('0x5f'))][(_0x780f('0x60'))](_0x3791cd[_0x780f('0x61')]);});})[_0x780f('0x26')](handleEntityNotFound(_0x1db294,null))[_0x780f('0x26')](respondWithStatusCode(_0x1db294,0xcc))['catch'](handleError(_0x1db294,null));};exports[_0x780f('0x70')]=function(_0x33a2ab,_0x22a2b0,_0x53948b){var _0x35cbab={};var _0x9614e7={};var _0x34d87c;var _0xe2093e;return db[_0x780f('0x49')][_0x780f('0x65')]({'where':{'id':_0x33a2ab[_0x780f('0x48')]['id']}})[_0x780f('0x26')](handleEntityNotFound(_0x22a2b0,null))[_0x780f('0x26')](function(_0x241666){if(_0x241666){_0x34d87c=_0x241666;_0x9614e7[_0x780f('0x30')]=_[_0x780f('0x33')](db[_0x780f('0x64')][_0x780f('0x4a')]);_0x9614e7[_0x780f('0x32')]=_[_0x780f('0x33')](_0x33a2ab[_0x780f('0x32')]);_0x9614e7[_0x780f('0x34')]=_[_0x780f('0x35')](_0x9614e7[_0x780f('0x30')],_0x9614e7[_0x780f('0x32')]);_0x35cbab[_0x780f('0x36')]=_[_0x780f('0x35')](_0x9614e7[_0x780f('0x30')],qs[_0x780f('0x37')](_0x33a2ab[_0x780f('0x32')][_0x780f('0x37')]));_0x35cbab[_0x780f('0x36')]=_0x35cbab[_0x780f('0x36')]['length']?_0x35cbab[_0x780f('0x36')]:_0x9614e7[_0x780f('0x30')];_0x35cbab['order']=qs[_0x780f('0x3c')](_0x33a2ab[_0x780f('0x32')]['sort']);_0x35cbab[_0x780f('0x3d')]=qs[_0x780f('0x34')](_[_0x780f('0x3e')](_0x33a2ab[_0x780f('0x32')],_0x9614e7[_0x780f('0x34')]));if(_0x33a2ab['query'][_0x780f('0x3f')]){_0x35cbab['where']=_[_0x780f('0x40')](_0x35cbab[_0x780f('0x3d')],{'$or':_['map'](_0x35cbab[_0x780f('0x36')],function(_0x2c1c5d){var _0x3f6c6b={};_0x3f6c6b[_0x2c1c5d]={'$like':'%'+_0x33a2ab[_0x780f('0x32')][_0x780f('0x3f')]+'%'};return _0x3f6c6b;})});}_0x35cbab=_['merge']({},_0x35cbab,_0x33a2ab[_0x780f('0x42')]);return _0x34d87c['getSounds'](_0x35cbab);}})[_0x780f('0x26')](function(_0x145650){if(_0x145650){_0xe2093e=_0x145650[_0x780f('0x38')];if(!_0x33a2ab[_0x780f('0x32')][_0x780f('0x39')](_0x780f('0x3a'))){_0x35cbab[_0x780f('0x1f')]=qs[_0x780f('0x1f')](_0x33a2ab[_0x780f('0x32')][_0x780f('0x1f')]);_0x35cbab[_0x780f('0x1e')]=qs['offset'](_0x33a2ab['query'][_0x780f('0x1e')]);}return _0x34d87c[_0x780f('0x70')](_0x35cbab);}})[_0x780f('0x26')](function(_0x384643){if(_0x384643){return _0x384643?{'count':_0xe2093e,'rows':_0x384643}:null;}})[_0x780f('0x26')](respondWithResult(_0x22a2b0,null))[_0x780f('0x46')](handleError(_0x22a2b0,null));};