Built motion from commit (unavailable).|2.5.13
[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 _0x88f2=['then','get','MusicOnHolds','sendStatus','error','stack','name','send','map','VoiceMusicOnHold','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','params','length','find','body','sequelize','transaction','mode','directory','root','server/files/moh','create','files','0777','role','user','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','readdirSync','forEach','unlinkSync','rmdirSync','Sequelize','ValidationError','message','addSound','findOne','converted_format','createdAt','join','server/files/sounds/converted','format','basename','save_name','extname','%s.%s','symlinkSync','removeSound','id2','Sound','html-pdf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x88f2,0xb8));var _0x288f=function(_0x25ed69,_0x367693){_0x25ed69=_0x25ed69-0x0;var _0x3b741a=_0x88f2[_0x25ed69];return _0x3b741a;};'use strict';var pdf=require(_0x288f('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x288f('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x288f('0x2'));var BPromise=require(_0x288f('0x3'));var Mustache=require(_0x288f('0x4'));var util=require(_0x288f('0x5'));var path=require(_0x288f('0x6'));var sox=require(_0x288f('0x7'));var csv=require(_0x288f('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x288f('0x9'));var squel=require(_0x288f('0xa'));var crypto=require(_0x288f('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x288f('0x8'));var querystring=require('querystring');var Papa=require(_0x288f('0xc'));var Redis=require(_0x288f('0xd'));var authService=require(_0x288f('0xe'));var qs=require(_0x288f('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x288f('0x10'));var logger=require(_0x288f('0x11'))('api');var utils=require(_0x288f('0x12'));var config=require(_0x288f('0x13'));var licenseUtil=require(_0x288f('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x73b4af,_0x29eb02){_0x29eb02=_0x29eb02||0xcc;return function(_0x4885c5){if(_0x4885c5){return _0x73b4af['sendStatus'](_0x29eb02);}return _0x73b4af[_0x288f('0x15')](_0x29eb02)[_0x288f('0x16')]();};}function respondWithResult(_0x23533e,_0x39962c){_0x39962c=_0x39962c||0xc8;return function(_0x462a78){if(_0x462a78){return _0x23533e[_0x288f('0x15')](_0x39962c)['json'](_0x462a78);}};}function respondWithFilteredResult(_0x40dd95,_0x344c61){return function(_0x43b3d4){if(_0x43b3d4){var _0x1b968d=_0x43b3d4[_0x288f('0x17')],_0x731a8d=_0x344c61['offset'],_0x4a1d6e=_0x344c61[_0x288f('0x18')]+_0x344c61[_0x288f('0x19')],_0x466cf4;if(_0x4a1d6e>=_0x1b968d){_0x4a1d6e=_0x1b968d;_0x466cf4=0xc8;}else{_0x466cf4=0xce;}_0x40dd95[_0x288f('0x15')](_0x466cf4);return _0x40dd95[_0x288f('0x1a')](_0x288f('0x1b'),_0x731a8d+'-'+_0x4a1d6e+'/'+_0x1b968d)[_0x288f('0x1c')](_0x43b3d4);}return null;};}function patchUpdates(_0x573a2e){return function(_0x567dd8){try{jsonpatch[_0x288f('0x1d')](_0x567dd8,_0x573a2e,!![]);}catch(_0x2b51e0){return BPromise[_0x288f('0x1e')](_0x2b51e0);}return _0x567dd8[_0x288f('0x1f')]();};}function saveUpdates(_0x4ad820,_0x31588e){return function(_0x4e092a){if(_0x4e092a){return _0x4e092a[_0x288f('0x20')](_0x4ad820)['then'](function(_0x4e6466){return _0x4e6466;});}return null;};}function removeEntity(_0x22d941,_0x45f8da){return function(_0x5a9e40){if(_0x5a9e40){return _0x5a9e40[_0x288f('0x21')]()[_0x288f('0x22')](function(){var _0xca70d=_0x5a9e40[_0x288f('0x23')]({'plain':!![]});var _0x58b1db=_0x288f('0x24');return db['UserProfileResource'][_0x288f('0x21')]({'where':{'type':_0x58b1db,'resourceId':_0xca70d['id']}})[_0x288f('0x22')](function(){return _0x5a9e40;});})[_0x288f('0x22')](function(){_0x22d941[_0x288f('0x15')](0xcc)[_0x288f('0x16')]();});}};}function handleEntityNotFound(_0x5af34d,_0x27a613){return function(_0x1560b7){if(!_0x1560b7){_0x5af34d[_0x288f('0x25')](0x194);}return _0x1560b7;};}function handleError(_0x4c57a4,_0x2cb3f5){_0x2cb3f5=_0x2cb3f5||0x1f4;return function(_0x195163){logger[_0x288f('0x26')](_0x195163[_0x288f('0x27')]);if(_0x195163[_0x288f('0x28')]){delete _0x195163[_0x288f('0x28')];}_0x4c57a4[_0x288f('0x15')](_0x2cb3f5)[_0x288f('0x29')](_0x195163);};}exports['index']=function(_0x12fcbe,_0x31038f){var _0x161e28={},_0x1167b8={},_0x53ef45={'count':0x0,'rows':[]};var _0x539e19=_[_0x288f('0x2a')](db[_0x288f('0x2b')][_0x288f('0x2c')],function(_0xc4d80c){return{'name':_0xc4d80c['fieldName'],'type':_0xc4d80c[_0x288f('0x2d')][_0x288f('0x2e')]};});_0x1167b8[_0x288f('0x2f')]=_['map'](_0x539e19,_0x288f('0x28'));_0x1167b8[_0x288f('0x30')]=_[_0x288f('0x31')](_0x12fcbe['query']);_0x1167b8[_0x288f('0x32')]=_['intersection'](_0x1167b8[_0x288f('0x2f')],_0x1167b8[_0x288f('0x30')]);_0x161e28[_0x288f('0x33')]=_[_0x288f('0x34')](_0x1167b8['model'],qs[_0x288f('0x35')](_0x12fcbe[_0x288f('0x30')]['fields']));_0x161e28[_0x288f('0x33')]=_0x161e28[_0x288f('0x33')]['length']?_0x161e28[_0x288f('0x33')]:_0x1167b8[_0x288f('0x2f')];if(!_0x12fcbe[_0x288f('0x30')][_0x288f('0x36')]('nolimit')){_0x161e28[_0x288f('0x19')]=qs['limit'](_0x12fcbe[_0x288f('0x30')][_0x288f('0x19')]);_0x161e28[_0x288f('0x18')]=qs[_0x288f('0x18')](_0x12fcbe[_0x288f('0x30')][_0x288f('0x18')]);}_0x161e28[_0x288f('0x37')]=qs[_0x288f('0x38')](_0x12fcbe[_0x288f('0x30')][_0x288f('0x38')]);_0x161e28['where']=qs[_0x288f('0x32')](_[_0x288f('0x39')](_0x12fcbe['query'],_0x1167b8['filters']),_0x539e19);if(_0x12fcbe[_0x288f('0x30')][_0x288f('0x3a')]){_0x161e28[_0x288f('0x3b')]=_[_0x288f('0x3c')](_0x161e28[_0x288f('0x3b')],{'$or':_[_0x288f('0x2a')](_0x539e19,function(_0x432693){if(_0x432693[_0x288f('0x2d')]!=='VIRTUAL'){var _0x57f70b={};_0x57f70b[_0x432693[_0x288f('0x28')]]={'$like':'%'+_0x12fcbe[_0x288f('0x30')]['filter']+'%'};return _0x57f70b;}})});}_0x161e28=_[_0x288f('0x3c')]({},_0x161e28,_0x12fcbe[_0x288f('0x3d')]);var _0x1c46df={'where':_0x161e28[_0x288f('0x3b')]};return db[_0x288f('0x2b')]['count'](_0x1c46df)['then'](function(_0x3ebead){_0x53ef45[_0x288f('0x17')]=_0x3ebead;if(_0x12fcbe['query'][_0x288f('0x3e')]){_0x161e28[_0x288f('0x3f')]=[{'all':!![]}];}return db[_0x288f('0x2b')][_0x288f('0x40')](_0x161e28);})[_0x288f('0x22')](function(_0x5c0b66){_0x53ef45[_0x288f('0x41')]=_0x5c0b66;return _0x53ef45;})[_0x288f('0x22')](respondWithFilteredResult(_0x31038f,_0x161e28))[_0x288f('0x42')](handleError(_0x31038f,null));};exports[_0x288f('0x43')]=function(_0x7322aa,_0x5f2c9b){var _0x5ef4ab={'raw':![],'where':{'id':_0x7322aa[_0x288f('0x44')]['id']}},_0x2efd6b={};_0x2efd6b[_0x288f('0x2f')]=_['keys'](db[_0x288f('0x2b')]['rawAttributes']);_0x2efd6b[_0x288f('0x30')]=_['keys'](_0x7322aa[_0x288f('0x30')]);_0x2efd6b[_0x288f('0x32')]=_['intersection'](_0x2efd6b['model'],_0x2efd6b[_0x288f('0x30')]);_0x5ef4ab[_0x288f('0x33')]=_['intersection'](_0x2efd6b[_0x288f('0x2f')],qs[_0x288f('0x35')](_0x7322aa[_0x288f('0x30')][_0x288f('0x35')]));_0x5ef4ab['attributes']=_0x5ef4ab[_0x288f('0x33')][_0x288f('0x45')]?_0x5ef4ab[_0x288f('0x33')]:_0x2efd6b[_0x288f('0x2f')];if(_0x7322aa[_0x288f('0x30')][_0x288f('0x3e')]){_0x5ef4ab[_0x288f('0x3f')]=[{'all':!![]}];}_0x5ef4ab=_[_0x288f('0x3c')]({},_0x5ef4ab,_0x7322aa[_0x288f('0x3d')]);return db[_0x288f('0x2b')][_0x288f('0x46')](_0x5ef4ab)[_0x288f('0x22')](handleEntityNotFound(_0x5f2c9b,null))[_0x288f('0x22')](respondWithResult(_0x5f2c9b,null))[_0x288f('0x42')](handleError(_0x5f2c9b,null));};exports['update']=function(_0x1bd1e7,_0x16be0f){if(_0x1bd1e7[_0x288f('0x47')]['id']){delete _0x1bd1e7[_0x288f('0x47')]['id'];}return db[_0x288f('0x2b')][_0x288f('0x46')]({'where':{'id':_0x1bd1e7[_0x288f('0x44')]['id']}})[_0x288f('0x22')](handleEntityNotFound(_0x16be0f,null))[_0x288f('0x22')](saveUpdates(_0x1bd1e7['body'],null))[_0x288f('0x22')](respondWithResult(_0x16be0f,null))['catch'](handleError(_0x16be0f,null));};exports['create']=function(_0x2109fa,_0x1e8ad9,_0x2d9e3f){return db[_0x288f('0x48')][_0x288f('0x49')](function(_0xab0e87){if(_0x2109fa[_0x288f('0x47')][_0x288f('0x4a')]==='files'){_0x2109fa['body'][_0x288f('0x4b')]=path['join'](config[_0x288f('0x4c')],_0x288f('0x4d'),_0x2109fa[_0x288f('0x47')][_0x288f('0x28')]);}return db[_0x288f('0x2b')][_0x288f('0x4e')](_0x2109fa[_0x288f('0x47')],{'transaction':_0xab0e87})[_0x288f('0x22')](function(_0x5997e8){if(_0x2109fa[_0x288f('0x47')]['mode']===_0x288f('0x4f')){fs['mkdirSync'](_0x5997e8[_0x288f('0x4b')],parseInt(_0x288f('0x50'),0x8));}var _0xb3b364=_0x2109fa['user']['get']({'plain':!![]});if(!_0xb3b364)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xb3b364[_0x288f('0x51')]===_0x288f('0x52')){var _0x2f36fd=_0x5997e8[_0x288f('0x23')]({'plain':!![]});return db[_0x288f('0x53')][_0x288f('0x46')]({'where':{'name':_0x288f('0x24'),'userProfileId':_0xb3b364[_0x288f('0x54')]},'raw':!![]})[_0x288f('0x22')](function(_0x5dab11){if(_0x5dab11&&_0x5dab11['autoAssociation']===0x0){return db[_0x288f('0x55')]['create']({'name':_0x2f36fd['name'],'resourceId':_0x2f36fd['id'],'type':_0x5dab11['name'],'sectionId':_0x5dab11['id']},{})['then'](function(){return _0x5997e8;});}else{return _0x5997e8;}})[_0x288f('0x42')](function(_0x425ce1){logger['error'](_0x288f('0x56'),_0x425ce1);});}return _0x5997e8;});})['then'](respondWithResult(_0x1e8ad9,0xc9))['catch'](handleError(_0x1e8ad9,null));};exports[_0x288f('0x21')]=function(_0x345581,_0x47089b,_0x510ab1){var _0x140ba8;return db[_0x288f('0x2b')][_0x288f('0x46')]({'where':{'id':_0x345581[_0x288f('0x44')]['id']}})['then'](function(_0x286e1e){if(_0x286e1e){return db[_0x288f('0x48')][_0x288f('0x49')](function(_0x55e9ac){return _0x286e1e[_0x288f('0x21')]({'transaction':_0x55e9ac,'raw':!![]})[_0x288f('0x22')](function(_0x454939){if(_0x454939[_0x288f('0x4b')]){fs[_0x288f('0x57')](_0x454939[_0x288f('0x4b')])[_0x288f('0x58')](function(_0x1f887f){fs[_0x288f('0x59')](path['join'](_0x454939[_0x288f('0x4b')],_0x1f887f));});fs[_0x288f('0x5a')](_0x454939[_0x288f('0x4b')]);}return _0x454939;});})[_0x288f('0x42')](function(_0x1d1f19){throw new db[(_0x288f('0x5b'))][(_0x288f('0x5c'))](_0x1d1f19[_0x288f('0x5d')]);});}})['then'](handleEntityNotFound(_0x47089b,null))[_0x288f('0x22')](removeEntity(_0x47089b,null))['catch'](handleError(_0x47089b,null));};exports[_0x288f('0x5e')]=function(_0x53e9b2,_0x32cabe,_0xa65079){return db[_0x288f('0x48')][_0x288f('0x49')](function(_0x3e78a1){var _0x39f12f;return db[_0x288f('0x2b')][_0x288f('0x46')]({'where':{'id':_0x53e9b2[_0x288f('0x44')]['id']}})[_0x288f('0x22')](function(_0x40617a){if(_0x40617a){_0x39f12f=_0x40617a;return _0x40617a[_0x288f('0x5e')](_0x53e9b2['body']['id'],{'transaction':_0x3e78a1});}})[_0x288f('0x22')](function(_0x436572){if(_0x436572){return db['Sound'][_0x288f('0x5f')]({'where':{'id':_0x53e9b2[_0x288f('0x47')]['id']},'attributes':['id',_0x288f('0x28'),'save_name',_0x288f('0x60'),_0x288f('0x61')],'raw':!![]});}})[_0x288f('0x22')](function(_0x4f877a){if(_0x4f877a){var _0x373ff2=path[_0x288f('0x62')](config[_0x288f('0x4c')],_0x288f('0x63'),util[_0x288f('0x64')]('%s.%s',path[_0x288f('0x65')](_0x4f877a[_0x288f('0x66')],path[_0x288f('0x67')](_0x4f877a['save_name'])),_0x4f877a[_0x288f('0x60')]));var _0x101dc6=path[_0x288f('0x62')](config['root'],_0x288f('0x4d'),_0x39f12f[_0x288f('0x28')],util['format'](_0x288f('0x68'),_0x4f877a[_0x288f('0x28')],_0x4f877a['converted_format']));fs[_0x288f('0x69')](_0x373ff2,_0x101dc6);return _0x4f877a;}})[_0x288f('0x42')](function(_0x1e2a2e){throw new db[(_0x288f('0x5b'))][(_0x288f('0x5c'))](_0x1e2a2e[_0x288f('0x5d')]);});})['then'](handleEntityNotFound(_0x32cabe,null))['then'](respondWithResult(_0x32cabe,0xc9))[_0x288f('0x42')](handleError(_0x32cabe,null));};exports['removeSound']=function(_0x8cb82a,_0x15a22f,_0x2ca792){return db['sequelize']['transaction'](function(_0x107c2c){var _0x26eb88;return db[_0x288f('0x2b')][_0x288f('0x5f')]({'where':{'id':_0x8cb82a[_0x288f('0x44')]['id']}})['then'](handleEntityNotFound(_0x15a22f,null))[_0x288f('0x22')](function(_0x2164d7){if(_0x2164d7){_0x26eb88=_0x2164d7;return _0x2164d7[_0x288f('0x6a')](_0x8cb82a[_0x288f('0x44')][_0x288f('0x6b')]);}})[_0x288f('0x22')](function(_0x416346){if(_0x416346){return db[_0x288f('0x6c')][_0x288f('0x5f')]({'where':{'id':_0x8cb82a['params'][_0x288f('0x6b')]},'attributes':['id',_0x288f('0x28'),'save_name','converted_format','createdAt'],'raw':!![]});}})[_0x288f('0x22')](function(_0x96aa38){if(_0x96aa38){fs[_0x288f('0x59')](path['join'](_0x26eb88[_0x288f('0x4b')],util[_0x288f('0x64')]('%s.%s',_0x96aa38[_0x288f('0x28')],_0x96aa38[_0x288f('0x60')])));return _0x96aa38;}})['catch'](function(_0x5b719b){throw new db[(_0x288f('0x5b'))][(_0x288f('0x5c'))](_0x5b719b['message']);});})[_0x288f('0x22')](handleEntityNotFound(_0x15a22f,null))[_0x288f('0x22')](respondWithStatusCode(_0x15a22f,0xcc))[_0x288f('0x42')](handleError(_0x15a22f,null));};exports['getSounds']=function(_0x586bb3,_0x29e4ec,_0x432863){var _0x840aea={};var _0x37aa99={};var _0x35aac7;var _0x237beb;return db['VoiceMusicOnHold'][_0x288f('0x5f')]({'where':{'id':_0x586bb3[_0x288f('0x44')]['id']}})[_0x288f('0x22')](handleEntityNotFound(_0x29e4ec,null))['then'](function(_0xdc2cda){if(_0xdc2cda){_0x35aac7=_0xdc2cda;_0x37aa99[_0x288f('0x2f')]=_[_0x288f('0x31')](db['Sound'][_0x288f('0x2c')]);_0x37aa99[_0x288f('0x30')]=_[_0x288f('0x31')](_0x586bb3['query']);_0x37aa99[_0x288f('0x32')]=_[_0x288f('0x34')](_0x37aa99[_0x288f('0x2f')],_0x37aa99[_0x288f('0x30')]);_0x840aea[_0x288f('0x33')]=_[_0x288f('0x34')](_0x37aa99[_0x288f('0x2f')],qs[_0x288f('0x35')](_0x586bb3[_0x288f('0x30')][_0x288f('0x35')]));_0x840aea[_0x288f('0x33')]=_0x840aea[_0x288f('0x33')][_0x288f('0x45')]?_0x840aea[_0x288f('0x33')]:_0x37aa99[_0x288f('0x2f')];_0x840aea[_0x288f('0x37')]=qs[_0x288f('0x38')](_0x586bb3[_0x288f('0x30')][_0x288f('0x38')]);_0x840aea[_0x288f('0x3b')]=qs[_0x288f('0x32')](_[_0x288f('0x39')](_0x586bb3[_0x288f('0x30')],_0x37aa99[_0x288f('0x32')]));if(_0x586bb3['query'][_0x288f('0x3a')]){_0x840aea[_0x288f('0x3b')]=_[_0x288f('0x3c')](_0x840aea[_0x288f('0x3b')],{'$or':_[_0x288f('0x2a')](_0x840aea[_0x288f('0x33')],function(_0x53e64c){var _0x4eeb4d={};_0x4eeb4d[_0x53e64c]={'$like':'%'+_0x586bb3[_0x288f('0x30')][_0x288f('0x3a')]+'%'};return _0x4eeb4d;})});}_0x840aea=_[_0x288f('0x3c')]({},_0x840aea,_0x586bb3[_0x288f('0x3d')]);return _0x35aac7['getSounds'](_0x840aea);}})[_0x288f('0x22')](function(_0x4a8654){if(_0x4a8654){_0x237beb=_0x4a8654[_0x288f('0x45')];if(!_0x586bb3[_0x288f('0x30')][_0x288f('0x36')]('nolimit')){_0x840aea[_0x288f('0x19')]=qs['limit'](_0x586bb3['query'][_0x288f('0x19')]);_0x840aea['offset']=qs['offset'](_0x586bb3[_0x288f('0x30')][_0x288f('0x18')]);}return _0x35aac7['getSounds'](_0x840aea);}})[_0x288f('0x22')](function(_0x3c20c3){if(_0x3c20c3){return _0x3c20c3?{'count':_0x237beb,'rows':_0x3c20c3}:null;}})[_0x288f('0x22')](respondWithResult(_0x29e4ec,null))[_0x288f('0x42')](handleError(_0x29e4ec,null));};