ce7a6aa62b5ba622facadc33d708dcf0f61341fa
[motion-next.git] / server / api / network / network.controller.js
1 const a457_0x5a18=['http','name','merge','server/files/templates/stun_multiple.ejs','sendStatus','result','body','options','where','server/files/templates/turn_multiple.ejs','files/templates/stun_multiple.ejs','Content-Range','sort','root','Network,\x20%s,\x20%s','index','readFileSync','rawAttributes','create','../../components/parsers/qs','/etc/asterisk/turn_xcally.conf','join','catch','findOne','query','../../config/logger','params','utf8','map','key','../../mysqldb','files/templates/turn_multiple.ejs','attributes','stack','chan_sip.so','filters','request','ejs','keys','undefined','then','update','count','TURN','request\x20sent','model','format','message','offset','api','client','length','VIRTUAL','toUpperCase','STUN','Network','status','like','includeAll','Network,\x20%s,\x20%s,\x20%s','info','/etc/asterisk/sip_xcally_%s.conf','limit','json','Reload','include','nolimit','render','intersection','findAll','destroy','toLowerCase','util','set','error','show','res_stun_monitor.so','writeFileSync','order','transaction','files/templates/network.ejs','type','/etc/asterisk/stun_xcally.conf','fields','sequelize'];(function(_0x5419cc,_0x5a18c8){const _0x1cd6d9=function(_0x5cf8a2){while(--_0x5cf8a2){_0x5419cc['push'](_0x5419cc['shift']());}};_0x1cd6d9(++_0x5a18c8);}(a457_0x5a18,0x1bd));const a457_0x1cd6=function(_0x5419cc,_0x5a18c8){_0x5419cc=_0x5419cc-0x0;let _0x1cd6d9=a457_0x5a18[_0x5419cc];return _0x1cd6d9;};const _0x8efdd0=a457_0x1cd6;'use strict';const util=require(_0x8efdd0('0x34')),path=require('path'),ejs=require(_0x8efdd0('0x11')),fs=require('fs'),_=require('lodash'),qs=require(_0x8efdd0('0x54')),logger=require(_0x8efdd0('0x5'))(_0x8efdd0('0x1d')),config=require('../../config/environment'),db=require(_0x8efdd0('0xa'))['db'],{Op}=require(_0x8efdd0('0x40')),jayson=require('jayson/promise'),client=jayson[_0x8efdd0('0x1e')][_0x8efdd0('0x41')]({'port':0x232a});function respondWithRpcPromise(_0x5cf8a2,_0x39b084,_0x528fca,_0x47d576){return new Promise(function(_0x22c0d4,_0x276af7){const _0x575f0a=a457_0x1cd6,_0xd1f57b=_0x47d576||client;return _0xd1f57b[_0x575f0a('0x10')](_0x5cf8a2,_0x528fca)[_0x575f0a('0x14')](function(_0x3ce89f){const _0xbd2253=_0x575f0a;logger[_0xbd2253('0x28')]('Network,\x20%s,\x20%s',_0x39b084,_0xbd2253('0x18')),logger['debug'](_0xbd2253('0x27'),_0x39b084,_0xbd2253('0x18'),JSON['stringify'](_0x3ce89f));if(_0x3ce89f[_0xbd2253('0x36')]){if(_0x3ce89f[_0xbd2253('0x36')]['code']===0x1f4)return logger[_0xbd2253('0x36')]('Network,\x20%s,\x20%s',_0x39b084,_0x3ce89f['error'][_0xbd2253('0x1b')]),_0x276af7(_0x3ce89f[_0xbd2253('0x36')][_0xbd2253('0x1b')]);return logger['error'](_0xbd2253('0x4f'),_0x39b084,_0x3ce89f[_0xbd2253('0x36')][_0xbd2253('0x1b')]),_0x22c0d4(_0x3ce89f[_0xbd2253('0x36')]['message']);}else logger[_0xbd2253('0x28')](_0xbd2253('0x4f'),_0x39b084,_0xbd2253('0x18')),_0x22c0d4(_0x3ce89f[_0xbd2253('0x46')]['message']);})[_0x575f0a('0x2')](function(_0x26e1a2){logger['error']('Network,\x20%s,\x20%s',_0x39b084,_0x26e1a2),_0x276af7(_0x26e1a2);});});}function respondWithResult(_0x20b530,_0x322832){return _0x322832=_0x322832||0xc8,function(_0x2751ee){const _0x178579=a457_0x1cd6;if(_0x2751ee)return _0x20b530[_0x178579('0x24')](_0x322832)[_0x178579('0x2b')](_0x2751ee);};}function respondWithFilteredResult(_0x38958b,_0x598afe){return function(_0x249e04){const _0x2917d1=a457_0x1cd6;if(_0x249e04){const _0x79994d=_0x249e04[_0x2917d1('0x16')],_0x3e0926=_0x598afe[_0x2917d1('0x1c')];let _0x3add7b=_0x598afe[_0x2917d1('0x1c')]+_0x598afe[_0x2917d1('0x2a')],_0x207261;return _0x3add7b>=_0x79994d?(_0x3add7b=_0x79994d,_0x207261=0xc8):_0x207261=0xce,_0x38958b[_0x2917d1('0x24')](_0x207261),_0x38958b[_0x2917d1('0x35')](_0x2917d1('0x4c'),_0x3e0926+'-'+_0x3add7b+'/'+_0x79994d)[_0x2917d1('0x2b')](_0x249e04);}return null;};}function saveUpdates(_0x2fdd0f){return function(_0x1582f4){const _0x4a785a=a457_0x1cd6;if(_0x1582f4)return _0x1582f4['update'](_0x2fdd0f)[_0x4a785a('0x14')](function(_0x347a73){return _0x347a73;});return null;};}function removeEntity(_0x5ace90){return function(_0x13f663){const _0x2076be=a457_0x1cd6;if(_0x13f663)return _0x13f663[_0x2076be('0x32')]()[_0x2076be('0x14')](function(){const _0x4488f9=_0x2076be;_0x5ace90[_0x4488f9('0x24')](0xcc)['end']();});};}function handleEntityNotFound(_0x2c4779){return function(_0x3c271d){const _0x54e1f6=a457_0x1cd6;return!_0x3c271d&&_0x2c4779[_0x54e1f6('0x45')](0x194),_0x3c271d;};}function handleError(_0x4ca306,_0x451a40){return _0x451a40=_0x451a40||0x1f4,function(_0x41c786){const _0x154ec0=a457_0x1cd6;logger['error'](_0x41c786[_0x154ec0('0xd')]),_0x41c786[_0x154ec0('0x42')]&&delete _0x41c786[_0x154ec0('0x42')],_0x4ca306[_0x154ec0('0x24')](_0x451a40)['send'](_0x41c786);};}exports[_0x8efdd0('0x50')]=function(_0x4b62b0,_0x6bfd6e){const _0x1aee07=_0x8efdd0;let _0x493b56={};const _0x20efc2={},_0x526d42={'count':0x0,'rows':[]},_0x15ecbf=_[_0x1aee07('0x8')](db['Network'][_0x1aee07('0x52')],function(_0x217d6d){const _0x1dc4b6=_0x1aee07;return{'name':_0x217d6d['fieldName'],'type':_0x217d6d['type'][_0x1dc4b6('0x9')]};});_0x20efc2[_0x1aee07('0x19')]=_[_0x1aee07('0x8')](_0x15ecbf,_0x1aee07('0x42')),_0x20efc2[_0x1aee07('0x4')]=_[_0x1aee07('0x12')](_0x4b62b0[_0x1aee07('0x4')]),_0x20efc2['filters']=_['intersection'](_0x20efc2[_0x1aee07('0x19')],_0x20efc2[_0x1aee07('0x4')]),_0x493b56[_0x1aee07('0xc')]=_['intersection'](_0x20efc2[_0x1aee07('0x19')],qs[_0x1aee07('0x3f')](_0x4b62b0[_0x1aee07('0x4')][_0x1aee07('0x3f')])),_0x493b56[_0x1aee07('0xc')]=_0x493b56[_0x1aee07('0xc')][_0x1aee07('0x1f')]?_0x493b56[_0x1aee07('0xc')]:_0x20efc2[_0x1aee07('0x19')];typeof _0x4b62b0[_0x1aee07('0x4')][_0x1aee07('0x2e')]===_0x1aee07('0x13')&&(_0x493b56['limit']=qs[_0x1aee07('0x2a')](_0x4b62b0[_0x1aee07('0x4')][_0x1aee07('0x2a')]),_0x493b56[_0x1aee07('0x1c')]=qs['offset'](_0x4b62b0['query'][_0x1aee07('0x1c')]));_0x493b56[_0x1aee07('0x3a')]=qs[_0x1aee07('0x4d')](_0x4b62b0['query']['sort']),_0x493b56[_0x1aee07('0x49')]=qs[_0x1aee07('0xf')](_['pick'](_0x4b62b0[_0x1aee07('0x4')],_0x20efc2[_0x1aee07('0xf')]),_0x15ecbf);_0x4b62b0[_0x1aee07('0x4')]['filter']&&(_0x493b56[_0x1aee07('0x49')]=_[_0x1aee07('0x43')](_0x493b56[_0x1aee07('0x49')],{[Op['or']]:_[_0x1aee07('0x8')](_0x15ecbf,function(_0x2bb9b5){const _0x5c2ce=_0x1aee07;if(_0x2bb9b5[_0x5c2ce('0x3d')]!==_0x5c2ce('0x20')){const _0x2a535c={};return _0x2a535c[_0x2bb9b5['name']]={[Op[_0x5c2ce('0x25')]]:'%'+_0x4b62b0[_0x5c2ce('0x4')]['filter']+'%'},_0x2a535c;}})}));_0x493b56=_[_0x1aee07('0x43')]({},_0x493b56,_0x4b62b0['options']);const _0x1fdd27={'where':_0x493b56[_0x1aee07('0x49')]};return db['Network'][_0x1aee07('0x16')](_0x1fdd27)[_0x1aee07('0x14')](function(_0x1facf2){const _0x43f7d0=_0x1aee07;return _0x526d42[_0x43f7d0('0x16')]=_0x1facf2,_0x4b62b0['query'][_0x43f7d0('0x26')]&&(_0x493b56[_0x43f7d0('0x2d')]=[{'all':!![]}]),db[_0x43f7d0('0x23')][_0x43f7d0('0x31')](_0x493b56);})[_0x1aee07('0x14')](function(_0x4dea6c){return _0x526d42['rows']=_0x4dea6c,_0x526d42;})[_0x1aee07('0x14')](respondWithFilteredResult(_0x6bfd6e,_0x493b56))[_0x1aee07('0x2')](handleError(_0x6bfd6e,null));},exports[_0x8efdd0('0x37')]=function(_0x559a26,_0x49da83){const _0x25aaf9=_0x8efdd0;let _0x308969={'raw':!![],'where':{'id':_0x559a26['params']['id']}};const _0xc30dc3={};return _0xc30dc3[_0x25aaf9('0x19')]=_['keys'](db['Network'][_0x25aaf9('0x52')]),_0xc30dc3[_0x25aaf9('0x4')]=_['keys'](_0x559a26['query']),_0xc30dc3[_0x25aaf9('0xf')]=_['intersection'](_0xc30dc3['model'],_0xc30dc3[_0x25aaf9('0x4')]),_0x308969[_0x25aaf9('0xc')]=_[_0x25aaf9('0x30')](_0xc30dc3[_0x25aaf9('0x19')],qs[_0x25aaf9('0x3f')](_0x559a26['query'][_0x25aaf9('0x3f')])),_0x308969[_0x25aaf9('0xc')]=_0x308969[_0x25aaf9('0xc')][_0x25aaf9('0x1f')]?_0x308969[_0x25aaf9('0xc')]:_0xc30dc3[_0x25aaf9('0x19')],_0x559a26['query']['includeAll']&&(_0x308969[_0x25aaf9('0x2d')]=[{'all':!![]}]),_0x308969=_[_0x25aaf9('0x43')]({},_0x308969,_0x559a26[_0x25aaf9('0x48')]),db['Network'][_0x25aaf9('0x3')](_0x308969)[_0x25aaf9('0x14')](handleEntityNotFound(_0x49da83,null))[_0x25aaf9('0x14')](respondWithResult(_0x49da83,null))[_0x25aaf9('0x2')](handleError(_0x49da83,null));},exports['create']=function(_0x42a51f,_0x11fbfe){const _0xf9315f=_0x8efdd0;let _0x1b852c;return db[_0xf9315f('0x40')][_0xf9315f('0x3b')](function(){const _0x131783=_0xf9315f;return db[_0x131783('0x23')][_0x131783('0x53')](_0x42a51f[_0x131783('0x47')],{'raw':!![]})[_0x131783('0x14')](function(_0x27cd5e){const _0xf1c50d=_0x131783;return _0x1b852c=_0x27cd5e,db[_0xf1c50d('0x23')][_0xf1c50d('0x31')]({'where':{'type':_0x42a51f[_0xf1c50d('0x47')][_0xf1c50d('0x3d')]},'raw':!![]});})[_0x131783('0x14')](function(_0x4e3e39){const _0x40deec=_0x131783;if(_0x1b852c[_0x40deec('0x3d')][_0x40deec('0x21')]()==_0x40deec('0x22')){const _0x443be4=fs[_0x40deec('0x51')](path[_0x40deec('0x1')](config[_0x40deec('0x4e')],_0x40deec('0x44')),_0x40deec('0x7')),_0x591013=ejs[_0x40deec('0x2f')](_0x443be4,{'networks':_0x4e3e39||[]});return fs[_0x40deec('0x39')](_0x40deec('0x3e'),_0x591013),respondWithRpcPromise(_0x40deec('0x2c'),_0x40deec('0x53'),{'module':_0x40deec('0x38')});}else{if(_0x1b852c[_0x40deec('0x3d')][_0x40deec('0x21')]()==_0x40deec('0x17')){const _0x322d65=fs[_0x40deec('0x51')](path[_0x40deec('0x1')](config[_0x40deec('0x4e')],'server/files/templates/turn_multiple.ejs'),_0x40deec('0x7')),_0x3bfd9a=ejs[_0x40deec('0x2f')](_0x322d65,{'networks':_0x4e3e39||[]});return fs[_0x40deec('0x39')](_0x40deec('0x0'),_0x3bfd9a),respondWithRpcPromise(_0x40deec('0x2c'),_0x40deec('0x53'),{'module':_0x40deec('0x38')});}else{const _0xd202b8=fs[_0x40deec('0x51')](path[_0x40deec('0x1')](config[_0x40deec('0x4e')],_0x40deec('0x3c')),_0x40deec('0x7')),_0x4a8f79=ejs[_0x40deec('0x2f')](_0xd202b8,{'networks':_0x4e3e39||[]});return fs['writeFileSync'](util[_0x40deec('0x1a')](_0x40deec('0x29'),_0x42a51f['body'][_0x40deec('0x3d')][_0x40deec('0x33')]()),_0x4a8f79),respondWithRpcPromise('Reload',_0x40deec('0x53'),{'module':'chan_sip.so'});}}})['then'](function(){return _0x1b852c;});})[_0xf9315f('0x14')](respondWithResult(_0x11fbfe,0xc9))[_0xf9315f('0x2')](handleError(_0x11fbfe,null));},exports[_0x8efdd0('0x15')]=function(_0xc19951,_0x131305){const _0x4a7ace=_0x8efdd0;let _0x44a007;return db[_0x4a7ace('0x40')][_0x4a7ace('0x3b')](function(){const _0x535f94=_0x4a7ace;return db[_0x535f94('0x23')][_0x535f94('0x3')]({'where':{'id':_0xc19951[_0x535f94('0x6')]['id']}})[_0x535f94('0x14')](handleEntityNotFound(_0x131305,null))['then'](saveUpdates(_0xc19951[_0x535f94('0x47')],null))['then'](function(_0x3c2962){const _0x3d4fff=_0x535f94;if(_0x3c2962)return _0x44a007=_0x3c2962,db['Network'][_0x3d4fff('0x31')]({'where':{'type':_0x44a007[_0x3d4fff('0x3d')]},'raw':!![]});return null;})[_0x535f94('0x14')](function(_0xda9352){const _0x553090=_0x535f94;if(_0x44a007['type'][_0x553090('0x21')]()==_0x553090('0x22')){const _0x516396=fs[_0x553090('0x51')](path['join'](config[_0x553090('0x4e')],_0x553090('0x44')),_0x553090('0x7')),_0x1227ee=ejs[_0x553090('0x2f')](_0x516396,{'networks':_0xda9352||[]});return fs[_0x553090('0x39')](_0x553090('0x3e'),_0x1227ee),respondWithRpcPromise('Reload','update',{'module':_0x553090('0x38')});}else{if(_0x44a007['type'][_0x553090('0x21')]()==_0x553090('0x17')){const _0x1463c0=fs[_0x553090('0x51')](path[_0x553090('0x1')](config[_0x553090('0x4e')],_0x553090('0x4a')),_0x553090('0x7')),_0x513698=ejs[_0x553090('0x2f')](_0x1463c0,{'networks':_0xda9352||[]});return fs[_0x553090('0x39')]('/etc/asterisk/turn_xcally.conf',_0x513698),respondWithRpcPromise(_0x553090('0x2c'),_0x553090('0x15'),{'module':'res_stun_monitor.so'});}else{const _0x4ec832=fs[_0x553090('0x51')](path['join'](config['root'],_0x553090('0x3c')),'utf8'),_0x273ecc=ejs[_0x553090('0x2f')](_0x4ec832,{'networks':_0xda9352||[]});return fs[_0x553090('0x39')](util['format'](_0x553090('0x29'),_0xc19951['body'][_0x553090('0x3d')]['toLowerCase']()),_0x273ecc),respondWithRpcPromise(_0x553090('0x2c'),_0x553090('0x15'),{'module':_0x553090('0xe')});}}})[_0x535f94('0x14')](function(_0x9155c3){if(_0x9155c3)return _0x44a007;return null;});})['then'](respondWithResult(_0x131305,null))[_0x4a7ace('0x2')](handleError(_0x131305,null));},exports['destroy']=function(_0x3a1ff9,_0x2e9950){const _0x158245=_0x8efdd0;let _0x29d193;return db[_0x158245('0x23')]['findOne']({'where':{'id':_0x3a1ff9[_0x158245('0x6')]['id']}})[_0x158245('0x14')](function(_0x4d8712){return _0x29d193=_0x4d8712,_0x4d8712;})[_0x158245('0x14')](handleEntityNotFound(_0x2e9950,null))['then'](removeEntity(_0x2e9950,null))[_0x158245('0x14')](function(){const _0x586df3=_0x158245;if(_0x29d193)return db[_0x586df3('0x23')][_0x586df3('0x31')]({'where':{'type':_0x29d193[_0x586df3('0x3d')]},'raw':!![]});})['then'](function(_0x22d8b3){const _0x36ed26=_0x158245;if(_0x29d193[_0x36ed26('0x3d')][_0x36ed26('0x21')]()==_0x36ed26('0x22')){const _0x290d30=fs[_0x36ed26('0x51')](path[_0x36ed26('0x1')](config['root'],_0x36ed26('0x4b')),'utf8'),_0x407837=ejs[_0x36ed26('0x2f')](_0x290d30,{'networks':_0x22d8b3||[]});return fs[_0x36ed26('0x39')]('/etc/asterisk/stun_xcally.conf',_0x407837),respondWithRpcPromise(_0x36ed26('0x2c'),_0x36ed26('0x32'),{'module':_0x36ed26('0x38')});}else{if(_0x29d193['type'][_0x36ed26('0x21')]()==_0x36ed26('0x17')){const _0x3487a9=fs[_0x36ed26('0x51')](path[_0x36ed26('0x1')](config[_0x36ed26('0x4e')],_0x36ed26('0xb')),_0x36ed26('0x7')),_0x37aecb=ejs[_0x36ed26('0x2f')](_0x3487a9,{'networks':_0x22d8b3||[]});return fs[_0x36ed26('0x39')](_0x36ed26('0x0'),_0x37aecb),respondWithRpcPromise(_0x36ed26('0x2c'),'destroy',{'module':_0x36ed26('0x38')});}else{const _0x395d3e=fs[_0x36ed26('0x51')](path['join'](config['root'],_0x36ed26('0x3c')),_0x36ed26('0x7')),_0x47f6d6=ejs['render'](_0x395d3e,{'networks':_0x22d8b3||[]});return fs['writeFileSync'](util[_0x36ed26('0x1a')](_0x36ed26('0x29'),_0x3a1ff9[_0x36ed26('0x47')][_0x36ed26('0x3d')][_0x36ed26('0x33')]()),_0x47f6d6),respondWithRpcPromise(_0x36ed26('0x2c'),_0x36ed26('0x32'),{'module':_0x36ed26('0xe')});}}})['catch'](handleError(_0x2e9950,null));};