Built motion from commit 00bf23f6.|2.6.16
[motion2.git] / server / api / network / network.controller.js
index 4eb6cac..f8d0505 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbb4b=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','jayson/promise','client','http','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','Network,\x20%s,\x20%s','Network,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','message','result','catch','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','end','stack','send','index','map','Network','fieldName','type','key','name','query','keys','intersection','model','attributes','fields','limit','order','where','pick','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','rawAttributes','length','find','create','sequelize','body','toUpperCase','STUN','readFileSync','join','root','server/files/templates/stun_multiple.ejs','utf8','/etc/asterisk/stun_xcally.conf','Reload','res_stun_monitor.so','TURN','render','writeFileSync','/etc/asterisk/turn_xcally.conf','server/files/templates/network.ejs','/etc/asterisk/sip_xcally_%s.conf','toLowerCase','chan_sip.so','transaction','format','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce'];(function(_0x21a302,_0x40cd94){var _0x249e12=function(_0x5140b8){while(--_0x5140b8){_0x21a302['push'](_0x21a302['shift']());}};_0x249e12(++_0x40cd94);}(_0xbb4b,0x13e));var _0xbbb4=function(_0x4a5c32,_0x1b0b0f){_0x4a5c32=_0x4a5c32-0x0;var _0x4713a6=_0xbb4b[_0x4a5c32];return _0x4713a6;};'use strict';var pdf=require(_0xbbb4('0x0'));var emlformat=require(_0xbbb4('0x1'));var rimraf=require(_0xbbb4('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbbb4('0x3'));var rp=require(_0xbbb4('0x4'));var moment=require('moment');var BPromise=require(_0xbbb4('0x5'));var Mustache=require(_0xbbb4('0x6'));var util=require(_0xbbb4('0x7'));var path=require('path');var sox=require(_0xbbb4('0x8'));var csv=require(_0xbbb4('0x9'));var ejs=require(_0xbbb4('0xa'));var fs=require('fs');var _=require(_0xbbb4('0xb'));var squel=require(_0xbbb4('0xc'));var crypto=require(_0xbbb4('0xd'));var jsforce=require(_0xbbb4('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xbbb4('0x9'));var querystring=require(_0xbbb4('0xf'));var Papa=require(_0xbbb4('0x10'));var Redis=require(_0xbbb4('0x11'));var authService=require(_0xbbb4('0x12'));var qs=require(_0xbbb4('0x13'));var as=require(_0xbbb4('0x14'));var hardwareService=require(_0xbbb4('0x15'));var logger=require(_0xbbb4('0x16'))(_0xbbb4('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xbbb4('0x18'))['db'];var jayson=require(_0xbbb4('0x19'));var client=jayson[_0xbbb4('0x1a')][_0xbbb4('0x1b')]({'port':0x232a});function checkPasswordPattern(_0x5a93e4,_0x3c2a83,_0x1269e9){if(_0x1269e9){var _0x490994=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x490994[_0xbbb4('0x1c')](_0x3c2a83)){return _0x5a93e4;}else{throw new db[(_0xbbb4('0x1d'))]['ValidationError'](_0xbbb4('0x1e'));}}else{return _0x5a93e4;}}function respondWithRpcPromise(_0x1641ef,_0x20c374,_0x56907b,_0x405ede){return new BPromise(function(_0x2250b7,_0x5501bf){var _0x35c7bb=_0x405ede||client;return _0x35c7bb[_0xbbb4('0x1f')](_0x1641ef,_0x56907b)['then'](function(_0x54796a){logger[_0xbbb4('0x20')](_0xbbb4('0x21'),_0x20c374,'request\x20sent');logger['debug'](_0xbbb4('0x22'),_0x20c374,_0xbbb4('0x23'),JSON[_0xbbb4('0x24')](_0x54796a));if(_0x54796a[_0xbbb4('0x25')]){if(_0x54796a['error']['code']===0x1f4){logger[_0xbbb4('0x25')](_0xbbb4('0x21'),_0x20c374,_0x54796a['error']['message']);return _0x5501bf(_0x54796a[_0xbbb4('0x25')]['message']);}logger[_0xbbb4('0x25')]('Network,\x20%s,\x20%s',_0x20c374,_0x54796a['error'][_0xbbb4('0x26')]);return _0x2250b7(_0x54796a[_0xbbb4('0x25')][_0xbbb4('0x26')]);}else{logger[_0xbbb4('0x20')]('Network,\x20%s,\x20%s',_0x20c374,_0xbbb4('0x23'));_0x2250b7(_0x54796a[_0xbbb4('0x27')]['message']);}})[_0xbbb4('0x28')](function(_0xd3f72){logger['error'](_0xbbb4('0x21'),_0x20c374,_0xd3f72);_0x5501bf(_0xd3f72);});});}function respondWithStatusCode(_0x38d6c6,_0x4c865e){_0x4c865e=_0x4c865e||0xcc;return function(_0x37b55c){if(_0x37b55c){return _0x38d6c6[_0xbbb4('0x29')](_0x4c865e);}return _0x38d6c6['status'](_0x4c865e)['end']();};}function respondWithResult(_0x487d64,_0x4a1083){_0x4a1083=_0x4a1083||0xc8;return function(_0x42eeed){if(_0x42eeed){return _0x487d64[_0xbbb4('0x2a')](_0x4a1083)[_0xbbb4('0x2b')](_0x42eeed);}};}function respondWithFilteredResult(_0xbe1b4,_0xcc6a2d){return function(_0x593463){if(_0x593463){var _0x2ff811=_0x593463[_0xbbb4('0x2c')],_0x3e76a8=_0xcc6a2d[_0xbbb4('0x2d')],_0x1fa740=_0xcc6a2d['offset']+_0xcc6a2d['limit'],_0x46c46f;if(_0x1fa740>=_0x2ff811){_0x1fa740=_0x2ff811;_0x46c46f=0xc8;}else{_0x46c46f=0xce;}_0xbe1b4[_0xbbb4('0x2a')](_0x46c46f);return _0xbe1b4[_0xbbb4('0x2e')](_0xbbb4('0x2f'),_0x3e76a8+'-'+_0x1fa740+'/'+_0x2ff811)['json'](_0x593463);}return null;};}function patchUpdates(_0x3daf7b){return function(_0x404c52){try{jsonpatch[_0xbbb4('0x30')](_0x404c52,_0x3daf7b,!![]);}catch(_0x3e1ba9){return BPromise[_0xbbb4('0x31')](_0x3e1ba9);}return _0x404c52[_0xbbb4('0x32')]();};}function saveUpdates(_0x1e4e17,_0x569862){return function(_0x37b528){if(_0x37b528){return _0x37b528[_0xbbb4('0x33')](_0x1e4e17)['then'](function(_0x47cdde){return _0x47cdde;});}return null;};}function removeEntity(_0x407eda,_0x5eb852){return function(_0x1bb5db){if(_0x1bb5db){return _0x1bb5db[_0xbbb4('0x34')]()[_0xbbb4('0x35')](function(){_0x407eda['status'](0xcc)[_0xbbb4('0x36')]();});}};}function handleEntityNotFound(_0x3416fb,_0x454546){return function(_0x56e38d){if(!_0x56e38d){_0x3416fb[_0xbbb4('0x29')](0x194);}return _0x56e38d;};}function handleError(_0x4833fa,_0x375659){_0x375659=_0x375659||0x1f4;return function(_0x8a44){logger['error'](_0x8a44[_0xbbb4('0x37')]);if(_0x8a44['name']){delete _0x8a44['name'];}_0x4833fa[_0xbbb4('0x2a')](_0x375659)[_0xbbb4('0x38')](_0x8a44);};}exports[_0xbbb4('0x39')]=function(_0x2a93f2,_0x49ec74){var _0xe7bbe8={},_0xe99e51={},_0x59567c={'count':0x0,'rows':[]};var _0x25b9e3=_[_0xbbb4('0x3a')](db[_0xbbb4('0x3b')]['rawAttributes'],function(_0x81598){return{'name':_0x81598[_0xbbb4('0x3c')],'type':_0x81598[_0xbbb4('0x3d')][_0xbbb4('0x3e')]};});_0xe99e51['model']=_[_0xbbb4('0x3a')](_0x25b9e3,_0xbbb4('0x3f'));_0xe99e51[_0xbbb4('0x40')]=_[_0xbbb4('0x41')](_0x2a93f2[_0xbbb4('0x40')]);_0xe99e51['filters']=_[_0xbbb4('0x42')](_0xe99e51[_0xbbb4('0x43')],_0xe99e51['query']);_0xe7bbe8[_0xbbb4('0x44')]=_[_0xbbb4('0x42')](_0xe99e51[_0xbbb4('0x43')],qs['fields'](_0x2a93f2[_0xbbb4('0x40')][_0xbbb4('0x45')]));_0xe7bbe8[_0xbbb4('0x44')]=_0xe7bbe8[_0xbbb4('0x44')]['length']?_0xe7bbe8['attributes']:_0xe99e51[_0xbbb4('0x43')];if(!_0x2a93f2[_0xbbb4('0x40')]['hasOwnProperty']('nolimit')){_0xe7bbe8[_0xbbb4('0x46')]=qs[_0xbbb4('0x46')](_0x2a93f2[_0xbbb4('0x40')]['limit']);_0xe7bbe8[_0xbbb4('0x2d')]=qs[_0xbbb4('0x2d')](_0x2a93f2[_0xbbb4('0x40')][_0xbbb4('0x2d')]);}_0xe7bbe8[_0xbbb4('0x47')]=qs['sort'](_0x2a93f2['query']['sort']);_0xe7bbe8[_0xbbb4('0x48')]=qs['filters'](_[_0xbbb4('0x49')](_0x2a93f2[_0xbbb4('0x40')],_0xe99e51[_0xbbb4('0x4a')]),_0x25b9e3);if(_0x2a93f2[_0xbbb4('0x40')][_0xbbb4('0x4b')]){_0xe7bbe8['where']=_[_0xbbb4('0x4c')](_0xe7bbe8[_0xbbb4('0x48')],{'$or':_[_0xbbb4('0x3a')](_0x25b9e3,function(_0xcd82fd){if(_0xcd82fd[_0xbbb4('0x3d')]!==_0xbbb4('0x4d')){var _0x701ce2={};_0x701ce2[_0xcd82fd[_0xbbb4('0x3f')]]={'$like':'%'+_0x2a93f2[_0xbbb4('0x40')][_0xbbb4('0x4b')]+'%'};return _0x701ce2;}})});}_0xe7bbe8=_[_0xbbb4('0x4c')]({},_0xe7bbe8,_0x2a93f2[_0xbbb4('0x4e')]);var _0x1a1c91={'where':_0xe7bbe8[_0xbbb4('0x48')]};return db[_0xbbb4('0x3b')][_0xbbb4('0x2c')](_0x1a1c91)[_0xbbb4('0x35')](function(_0x553f69){_0x59567c[_0xbbb4('0x2c')]=_0x553f69;if(_0x2a93f2[_0xbbb4('0x40')][_0xbbb4('0x4f')]){_0xe7bbe8[_0xbbb4('0x50')]=[{'all':!![]}];}return db[_0xbbb4('0x3b')][_0xbbb4('0x51')](_0xe7bbe8);})['then'](function(_0x4ee2ed){_0x59567c[_0xbbb4('0x52')]=_0x4ee2ed;return _0x59567c;})[_0xbbb4('0x35')](respondWithFilteredResult(_0x49ec74,_0xe7bbe8))['catch'](handleError(_0x49ec74,null));};exports[_0xbbb4('0x53')]=function(_0x3b5653,_0x47ac51){var _0x4209ce={'raw':!![],'where':{'id':_0x3b5653[_0xbbb4('0x54')]['id']}},_0x248f22={};_0x248f22['model']=_[_0xbbb4('0x41')](db[_0xbbb4('0x3b')][_0xbbb4('0x55')]);_0x248f22[_0xbbb4('0x40')]=_['keys'](_0x3b5653[_0xbbb4('0x40')]);_0x248f22['filters']=_['intersection'](_0x248f22[_0xbbb4('0x43')],_0x248f22[_0xbbb4('0x40')]);_0x4209ce[_0xbbb4('0x44')]=_[_0xbbb4('0x42')](_0x248f22[_0xbbb4('0x43')],qs[_0xbbb4('0x45')](_0x3b5653[_0xbbb4('0x40')]['fields']));_0x4209ce[_0xbbb4('0x44')]=_0x4209ce[_0xbbb4('0x44')][_0xbbb4('0x56')]?_0x4209ce['attributes']:_0x248f22[_0xbbb4('0x43')];if(_0x3b5653[_0xbbb4('0x40')][_0xbbb4('0x4f')]){_0x4209ce[_0xbbb4('0x50')]=[{'all':!![]}];}_0x4209ce=_[_0xbbb4('0x4c')]({},_0x4209ce,_0x3b5653['options']);return db['Network'][_0xbbb4('0x57')](_0x4209ce)['then'](handleEntityNotFound(_0x47ac51,null))[_0xbbb4('0x35')](respondWithResult(_0x47ac51,null))['catch'](handleError(_0x47ac51,null));};exports[_0xbbb4('0x58')]=function(_0x1c86b7,_0x4773c1,_0x23e0bc){var _0x2c0014;return db[_0xbbb4('0x59')]['transaction'](function(_0x1ffb61){return db[_0xbbb4('0x3b')]['create'](_0x1c86b7[_0xbbb4('0x5a')],{'raw':!![]})['then'](function(_0x95e9c1){_0x2c0014=_0x95e9c1;return db['Network']['findAll']({'where':{'type':_0x1c86b7[_0xbbb4('0x5a')][_0xbbb4('0x3d')]},'raw':!![]});})['then'](function(_0x5e910d){if(_0x2c0014[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()==_0xbbb4('0x5c')){var _0x18a16b=fs[_0xbbb4('0x5d')](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],_0xbbb4('0x60')),_0xbbb4('0x61'));var _0x42f379=ejs['render'](_0x18a16b,{'networks':_0x5e910d||[]});fs['writeFileSync'](_0xbbb4('0x62'),_0x42f379);return respondWithRpcPromise(_0xbbb4('0x63'),'create',{'module':_0xbbb4('0x64')});}else if(_0x2c0014[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()==_0xbbb4('0x65')){var _0x4a0bc1=fs['readFileSync'](path['join'](config['root'],'server/files/templates/turn_multiple.ejs'),_0xbbb4('0x61'));var _0x248e64=ejs[_0xbbb4('0x66')](_0x4a0bc1,{'networks':_0x5e910d||[]});fs[_0xbbb4('0x67')](_0xbbb4('0x68'),_0x248e64);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x58'),{'module':_0xbbb4('0x64')});}else{var _0x47f5d7=fs[_0xbbb4('0x5d')](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],_0xbbb4('0x69')),_0xbbb4('0x61'));var _0x5efe58=ejs[_0xbbb4('0x66')](_0x47f5d7,{'networks':_0x5e910d||[]});fs[_0xbbb4('0x67')](util['format'](_0xbbb4('0x6a'),_0x1c86b7[_0xbbb4('0x5a')][_0xbbb4('0x3d')][_0xbbb4('0x6b')]()),_0x5efe58);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x58'),{'module':_0xbbb4('0x6c')});}return null;})[_0xbbb4('0x35')](function(){return _0x2c0014;});})[_0xbbb4('0x35')](respondWithResult(_0x4773c1,0xc9))[_0xbbb4('0x28')](handleError(_0x4773c1,null));};exports[_0xbbb4('0x33')]=function(_0x325b63,_0x92a9b3,_0x4c6873){var _0x50206e;return db['sequelize'][_0xbbb4('0x6d')](function(_0xab7239){return db[_0xbbb4('0x3b')][_0xbbb4('0x57')]({'where':{'id':_0x325b63['params']['id']}})[_0xbbb4('0x35')](handleEntityNotFound(_0x92a9b3,null))['then'](saveUpdates(_0x325b63[_0xbbb4('0x5a')],null))[_0xbbb4('0x35')](function(_0x3f2d4a){if(_0x3f2d4a){_0x50206e=_0x3f2d4a;return db[_0xbbb4('0x3b')][_0xbbb4('0x51')]({'where':{'type':_0x50206e[_0xbbb4('0x3d')]},'raw':!![]});}return null;})[_0xbbb4('0x35')](function(_0x2a8618){if(_0x50206e[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()==_0xbbb4('0x5c')){var _0x1455b4=fs[_0xbbb4('0x5d')](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],_0xbbb4('0x60')),'utf8');var _0x346437=ejs['render'](_0x1455b4,{'networks':_0x2a8618||[]});fs[_0xbbb4('0x67')](_0xbbb4('0x62'),_0x346437);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x33'),{'module':_0xbbb4('0x64')});}else if(_0x50206e[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()==_0xbbb4('0x65')){var _0x4c58f4=fs['readFileSync'](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],'server/files/templates/turn_multiple.ejs'),_0xbbb4('0x61'));var _0x5c6204=ejs['render'](_0x4c58f4,{'networks':_0x2a8618||[]});fs[_0xbbb4('0x67')](_0xbbb4('0x68'),_0x5c6204);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x33'),{'module':_0xbbb4('0x64')});}else{var _0x483802=fs[_0xbbb4('0x5d')](path['join'](config[_0xbbb4('0x5f')],_0xbbb4('0x69')),_0xbbb4('0x61'));var _0x222ac3=ejs[_0xbbb4('0x66')](_0x483802,{'networks':_0x2a8618||[]});fs[_0xbbb4('0x67')](util[_0xbbb4('0x6e')]('/etc/asterisk/sip_xcally_%s.conf',_0x325b63['body'][_0xbbb4('0x3d')][_0xbbb4('0x6b')]()),_0x222ac3);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x33'),{'module':_0xbbb4('0x6c')});}return null;})[_0xbbb4('0x35')](function(_0x26bfcd){if(_0x26bfcd){return _0x50206e;}return null;});})[_0xbbb4('0x35')](respondWithResult(_0x92a9b3,null))['catch'](handleError(_0x92a9b3,null));};exports[_0xbbb4('0x34')]=function(_0x5645fd,_0x1872a8,_0x3e82cb){var _0x2302c0;return db[_0xbbb4('0x3b')][_0xbbb4('0x57')]({'where':{'id':_0x5645fd[_0xbbb4('0x54')]['id']}})[_0xbbb4('0x35')](function(_0x2b3437){_0x2302c0=_0x2b3437;return _0x2b3437;})[_0xbbb4('0x35')](handleEntityNotFound(_0x1872a8,null))[_0xbbb4('0x35')](removeEntity(_0x1872a8,null))['then'](function(){if(_0x2302c0){return db[_0xbbb4('0x3b')]['findAll']({'where':{'type':_0x2302c0[_0xbbb4('0x3d')]},'raw':!![]});}})[_0xbbb4('0x35')](function(_0x550075){if(_0x2302c0[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()==_0xbbb4('0x5c')){var _0x1eb613=fs[_0xbbb4('0x5d')](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],_0xbbb4('0x60')),'utf8');var _0x49d0f4=ejs['render'](_0x1eb613,{'networks':_0x550075||[]});fs['writeFileSync'](_0xbbb4('0x62'),_0x49d0f4);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x34'),{'module':_0xbbb4('0x64')});}else if(_0x2302c0[_0xbbb4('0x3d')][_0xbbb4('0x5b')]()=='TURN'){var _0x263b2c=fs[_0xbbb4('0x5d')](path[_0xbbb4('0x5e')](config[_0xbbb4('0x5f')],'server/files/templates/turn_multiple.ejs'),_0xbbb4('0x61'));var _0x43ff6f=ejs[_0xbbb4('0x66')](_0x263b2c,{'networks':_0x550075||[]});fs[_0xbbb4('0x67')](_0xbbb4('0x68'),_0x43ff6f);return respondWithRpcPromise(_0xbbb4('0x63'),_0xbbb4('0x34'),{'module':_0xbbb4('0x64')});}else{var _0x9a33af=fs[_0xbbb4('0x5d')](path['join'](config[_0xbbb4('0x5f')],_0xbbb4('0x69')),_0xbbb4('0x61'));var _0x446c99=ejs['render'](_0x9a33af,{'networks':_0x550075||[]});fs[_0xbbb4('0x67')](util['format']('/etc/asterisk/sip_xcally_%s.conf',_0x5645fd['body']['type'][_0xbbb4('0x6b')]()),_0x446c99);return respondWithRpcPromise(_0xbbb4('0x63'),'destroy',{'module':'chan_sip.so'});}return null;})[_0xbbb4('0x28')](handleError(_0x1872a8,null));};
\ No newline at end of file
+var _0x1b65=['catch','status','offset','undefined','limit','count','set','Content-Range','json','update','then','end','sendStatus','name','send','map','Network','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','include','findAll','rows','show','params','keys','length','includeAll','find','create','body','toUpperCase','STUN','root','server/files/templates/stun_multiple.ejs','utf8','render','writeFileSync','/etc/asterisk/stun_xcally.conf','res_stun_monitor.so','TURN','readFileSync','server/files/templates/turn_multiple.ejs','join','server/files/templates/network.ejs','format','Reload','chan_sip.so','/etc/asterisk/sip_xcally_%s.conf','/etc/asterisk/turn_xcally.conf','destroy','toLowerCase','util','path','ejs','lodash','../../components/parsers/qs','../../config/logger','../../mysqldb','jayson/promise','http','request','info','request\x20sent','Network,\x20%s,\x20%s,\x20%s','stringify','error','code','message','Network,\x20%s,\x20%s','result'];(function(_0x14aaae,_0x2da6cd){var _0x4584b7=function(_0x20ee3f){while(--_0x20ee3f){_0x14aaae['push'](_0x14aaae['shift']());}};_0x4584b7(++_0x2da6cd);}(_0x1b65,0xf2));var _0x51b6=function(_0x97501e,_0x48c8fd){_0x97501e=_0x97501e-0x0;var _0x5919c8=_0x1b65[_0x97501e];return _0x5919c8;};'use strict';var util=require(_0x51b6('0x0'));var path=require(_0x51b6('0x1'));var ejs=require(_0x51b6('0x2'));var fs=require('fs');var _=require(_0x51b6('0x3'));var qs=require(_0x51b6('0x4'));var logger=require(_0x51b6('0x5'))('api');var config=require('../../config/environment');var db=require(_0x51b6('0x6'))['db'];var jayson=require(_0x51b6('0x7'));var client=jayson['client'][_0x51b6('0x8')]({'port':0x232a});function respondWithRpcPromise(_0x364667,_0x20341b,_0x5a7633,_0x697b9c){return new Promise(function(_0x20ae35,_0x427d5c){var _0x58ce68=_0x697b9c||client;return _0x58ce68[_0x51b6('0x9')](_0x364667,_0x5a7633)['then'](function(_0x94fbe){logger[_0x51b6('0xa')]('Network,\x20%s,\x20%s',_0x20341b,_0x51b6('0xb'));logger['debug'](_0x51b6('0xc'),_0x20341b,_0x51b6('0xb'),JSON[_0x51b6('0xd')](_0x94fbe));if(_0x94fbe[_0x51b6('0xe')]){if(_0x94fbe[_0x51b6('0xe')][_0x51b6('0xf')]===0x1f4){logger[_0x51b6('0xe')]('Network,\x20%s,\x20%s',_0x20341b,_0x94fbe['error'][_0x51b6('0x10')]);return _0x427d5c(_0x94fbe[_0x51b6('0xe')]['message']);}logger[_0x51b6('0xe')](_0x51b6('0x11'),_0x20341b,_0x94fbe[_0x51b6('0xe')][_0x51b6('0x10')]);return _0x20ae35(_0x94fbe[_0x51b6('0xe')][_0x51b6('0x10')]);}else{logger[_0x51b6('0xa')]('Network,\x20%s,\x20%s',_0x20341b,_0x51b6('0xb'));_0x20ae35(_0x94fbe[_0x51b6('0x12')]['message']);}})[_0x51b6('0x13')](function(_0x7bee98){logger[_0x51b6('0xe')](_0x51b6('0x11'),_0x20341b,_0x7bee98);_0x427d5c(_0x7bee98);});});}function respondWithResult(_0x4f866a,_0x202ae9){_0x202ae9=_0x202ae9||0xc8;return function(_0x82d9e){if(_0x82d9e){return _0x4f866a[_0x51b6('0x14')](_0x202ae9)['json'](_0x82d9e);}};}function respondWithFilteredResult(_0x372699,_0x2c23f3){return function(_0x290d88){if(_0x290d88){var _0x1b7fc7=typeof _0x2c23f3[_0x51b6('0x15')]===_0x51b6('0x16')&&typeof _0x2c23f3[_0x51b6('0x17')]===_0x51b6('0x16');var _0xe3af84=_0x290d88['count'];var _0x372868=_0x1b7fc7?0x0:_0x2c23f3[_0x51b6('0x15')];var _0x2f58c2=_0x1b7fc7?_0x290d88[_0x51b6('0x18')]:_0x2c23f3[_0x51b6('0x15')]+_0x2c23f3[_0x51b6('0x17')];var _0x2097be;if(_0x2f58c2>=_0xe3af84){_0x2f58c2=_0xe3af84;_0x2097be=0xc8;}else{_0x2097be=0xce;}_0x372699[_0x51b6('0x14')](_0x2097be);return _0x372699[_0x51b6('0x19')](_0x51b6('0x1a'),_0x372868+'-'+_0x2f58c2+'/'+_0xe3af84)[_0x51b6('0x1b')](_0x290d88);}return null;};}function saveUpdates(_0x2ef995){return function(_0x65fe28){if(_0x65fe28){return _0x65fe28[_0x51b6('0x1c')](_0x2ef995)[_0x51b6('0x1d')](function(_0x2c2410){return _0x2c2410;});}return null;};}function removeEntity(_0x4d1444){return function(_0x1b62ed){if(_0x1b62ed){return _0x1b62ed['destroy']()['then'](function(){_0x4d1444[_0x51b6('0x14')](0xcc)[_0x51b6('0x1e')]();});}};}function handleEntityNotFound(_0x3bef46){return function(_0x1d8ed1){if(!_0x1d8ed1){_0x3bef46[_0x51b6('0x1f')](0x194);}return _0x1d8ed1;};}function handleError(_0x5d1077,_0x34ba47){_0x34ba47=_0x34ba47||0x1f4;return function(_0x599fed){logger[_0x51b6('0xe')](_0x599fed['stack']);if(_0x599fed[_0x51b6('0x20')]){delete _0x599fed['name'];}_0x5d1077[_0x51b6('0x14')](_0x34ba47)[_0x51b6('0x21')](_0x599fed);};}exports['index']=function(_0x460f8e,_0x25aea2){var _0x700d23={},_0x52db4f={},_0x6093d7={'count':0x0,'rows':[]};var _0x4da01a=_[_0x51b6('0x22')](db[_0x51b6('0x23')][_0x51b6('0x24')],function(_0x519ef7){return{'name':_0x519ef7[_0x51b6('0x25')],'type':_0x519ef7[_0x51b6('0x26')][_0x51b6('0x27')]};});_0x52db4f[_0x51b6('0x28')]=_[_0x51b6('0x22')](_0x4da01a,'name');_0x52db4f[_0x51b6('0x29')]=_['keys'](_0x460f8e['query']);_0x52db4f[_0x51b6('0x2a')]=_[_0x51b6('0x2b')](_0x52db4f['model'],_0x52db4f[_0x51b6('0x29')]);_0x700d23[_0x51b6('0x2c')]=_[_0x51b6('0x2b')](_0x52db4f[_0x51b6('0x28')],qs[_0x51b6('0x2d')](_0x460f8e[_0x51b6('0x29')][_0x51b6('0x2d')]));_0x700d23[_0x51b6('0x2c')]=_0x700d23[_0x51b6('0x2c')]['length']?_0x700d23[_0x51b6('0x2c')]:_0x52db4f[_0x51b6('0x28')];if(!_0x460f8e[_0x51b6('0x29')][_0x51b6('0x2e')](_0x51b6('0x2f'))){_0x700d23[_0x51b6('0x17')]=qs[_0x51b6('0x17')](_0x460f8e['query']['limit']);_0x700d23[_0x51b6('0x15')]=qs[_0x51b6('0x15')](_0x460f8e['query'][_0x51b6('0x15')]);}_0x700d23[_0x51b6('0x30')]=qs['sort'](_0x460f8e[_0x51b6('0x29')][_0x51b6('0x31')]);_0x700d23[_0x51b6('0x32')]=qs[_0x51b6('0x2a')](_[_0x51b6('0x33')](_0x460f8e[_0x51b6('0x29')],_0x52db4f[_0x51b6('0x2a')]),_0x4da01a);if(_0x460f8e[_0x51b6('0x29')][_0x51b6('0x34')]){_0x700d23['where']=_[_0x51b6('0x35')](_0x700d23[_0x51b6('0x32')],{'$or':_[_0x51b6('0x22')](_0x4da01a,function(_0x28932a){if(_0x28932a['type']!=='VIRTUAL'){var _0x55f8f2={};_0x55f8f2[_0x28932a[_0x51b6('0x20')]]={'$like':'%'+_0x460f8e['query'][_0x51b6('0x34')]+'%'};return _0x55f8f2;}})});}_0x700d23=_[_0x51b6('0x35')]({},_0x700d23,_0x460f8e[_0x51b6('0x36')]);var _0x1bd123={'where':_0x700d23['where']};return db['Network']['count'](_0x1bd123)[_0x51b6('0x1d')](function(_0x389b23){_0x6093d7[_0x51b6('0x18')]=_0x389b23;if(_0x460f8e['query']['includeAll']){_0x700d23[_0x51b6('0x37')]=[{'all':!![]}];}return db['Network'][_0x51b6('0x38')](_0x700d23);})[_0x51b6('0x1d')](function(_0x240531){_0x6093d7[_0x51b6('0x39')]=_0x240531;return _0x6093d7;})['then'](respondWithFilteredResult(_0x25aea2,_0x700d23))['catch'](handleError(_0x25aea2,null));};exports[_0x51b6('0x3a')]=function(_0x4e1b05,_0x26882a){var _0x646069={'raw':!![],'where':{'id':_0x4e1b05[_0x51b6('0x3b')]['id']}},_0x57687f={};_0x57687f[_0x51b6('0x28')]=_[_0x51b6('0x3c')](db[_0x51b6('0x23')]['rawAttributes']);_0x57687f[_0x51b6('0x29')]=_[_0x51b6('0x3c')](_0x4e1b05[_0x51b6('0x29')]);_0x57687f[_0x51b6('0x2a')]=_['intersection'](_0x57687f[_0x51b6('0x28')],_0x57687f['query']);_0x646069[_0x51b6('0x2c')]=_[_0x51b6('0x2b')](_0x57687f[_0x51b6('0x28')],qs['fields'](_0x4e1b05['query'][_0x51b6('0x2d')]));_0x646069[_0x51b6('0x2c')]=_0x646069[_0x51b6('0x2c')][_0x51b6('0x3d')]?_0x646069[_0x51b6('0x2c')]:_0x57687f['model'];if(_0x4e1b05[_0x51b6('0x29')][_0x51b6('0x3e')]){_0x646069[_0x51b6('0x37')]=[{'all':!![]}];}_0x646069=_['merge']({},_0x646069,_0x4e1b05[_0x51b6('0x36')]);return db[_0x51b6('0x23')][_0x51b6('0x3f')](_0x646069)[_0x51b6('0x1d')](handleEntityNotFound(_0x26882a,null))[_0x51b6('0x1d')](respondWithResult(_0x26882a,null))['catch'](handleError(_0x26882a,null));};exports[_0x51b6('0x40')]=function(_0x41facb,_0x1fbb6b){var _0x504f49;return db[_0x51b6('0x23')][_0x51b6('0x40')](_0x41facb['body'],{'raw':!![]})[_0x51b6('0x1d')](function(_0x1a8eec){_0x504f49=_0x1a8eec;return db['Network'][_0x51b6('0x38')]({'where':{'type':_0x41facb[_0x51b6('0x41')][_0x51b6('0x26')]},'raw':!![]});})['then'](function(_0xd442ff){if(_0x504f49[_0x51b6('0x26')][_0x51b6('0x42')]()==_0x51b6('0x43')){var _0xb234d3=fs['readFileSync'](path['join'](config[_0x51b6('0x44')],_0x51b6('0x45')),_0x51b6('0x46'));var _0x3222db=ejs[_0x51b6('0x47')](_0xb234d3,{'networks':_0xd442ff||[]});fs[_0x51b6('0x48')](_0x51b6('0x49'),_0x3222db);return respondWithRpcPromise('Reload',_0x51b6('0x40'),{'module':_0x51b6('0x4a')});}else if(_0x504f49[_0x51b6('0x26')]['toUpperCase']()==_0x51b6('0x4b')){var _0x3f3777=fs[_0x51b6('0x4c')](path['join'](config[_0x51b6('0x44')],_0x51b6('0x4d')),_0x51b6('0x46'));var _0x5e9afd=ejs[_0x51b6('0x47')](_0x3f3777,{'networks':_0xd442ff||[]});fs[_0x51b6('0x48')]('/etc/asterisk/turn_xcally.conf',_0x5e9afd);return respondWithRpcPromise('Reload',_0x51b6('0x40'),{'module':_0x51b6('0x4a')});}else{var _0x3d56ed=fs[_0x51b6('0x4c')](path[_0x51b6('0x4e')](config[_0x51b6('0x44')],_0x51b6('0x4f')),'utf8');var _0x4584ad=ejs[_0x51b6('0x47')](_0x3d56ed,{'networks':_0xd442ff||[]});fs[_0x51b6('0x48')](util[_0x51b6('0x50')]('/etc/asterisk/sip_xcally_%s.conf',_0x41facb[_0x51b6('0x41')][_0x51b6('0x26')]['toLowerCase']()),_0x4584ad);return respondWithRpcPromise(_0x51b6('0x51'),_0x51b6('0x40'),{'module':_0x51b6('0x52')});}})[_0x51b6('0x1d')](function(){return _0x504f49;})[_0x51b6('0x1d')](respondWithResult(_0x1fbb6b,0xc9))[_0x51b6('0x13')](handleError(_0x1fbb6b,null));};exports[_0x51b6('0x1c')]=function(_0xba93b2,_0x3ab4c1){var _0x1c11ba;return db['Network'][_0x51b6('0x3f')]({'where':{'id':_0xba93b2['params']['id']}})[_0x51b6('0x1d')](handleEntityNotFound(_0x3ab4c1,null))[_0x51b6('0x1d')](saveUpdates(_0xba93b2['body'],null))[_0x51b6('0x1d')](function(_0x3cc214){if(_0x3cc214){_0x1c11ba=_0x3cc214;return db[_0x51b6('0x23')]['findAll']({'where':{'type':_0x1c11ba['type']},'raw':!![]});}return null;})['then'](function(_0x2d9b86){if(_0x1c11ba[_0x51b6('0x26')][_0x51b6('0x42')]()==_0x51b6('0x43')){var _0x5050e8=fs['readFileSync'](path[_0x51b6('0x4e')](config[_0x51b6('0x44')],_0x51b6('0x45')),_0x51b6('0x46'));var _0x441cd2=ejs[_0x51b6('0x47')](_0x5050e8,{'networks':_0x2d9b86||[]});fs['writeFileSync']('/etc/asterisk/stun_xcally.conf',_0x441cd2);return respondWithRpcPromise('Reload',_0x51b6('0x1c'),{'module':_0x51b6('0x4a')});}else if(_0x1c11ba[_0x51b6('0x26')][_0x51b6('0x42')]()==_0x51b6('0x4b')){var _0x53c6c1=fs[_0x51b6('0x4c')](path['join'](config[_0x51b6('0x44')],_0x51b6('0x4d')),'utf8');var _0x47258f=ejs[_0x51b6('0x47')](_0x53c6c1,{'networks':_0x2d9b86||[]});fs[_0x51b6('0x48')]('/etc/asterisk/turn_xcally.conf',_0x47258f);return respondWithRpcPromise(_0x51b6('0x51'),_0x51b6('0x1c'),{'module':'res_stun_monitor.so'});}else{var _0x9c8723=fs[_0x51b6('0x4c')](path[_0x51b6('0x4e')](config['root'],'server/files/templates/network.ejs'),_0x51b6('0x46'));var _0x2580ee=ejs['render'](_0x9c8723,{'networks':_0x2d9b86||[]});fs[_0x51b6('0x48')](util[_0x51b6('0x50')](_0x51b6('0x53'),_0xba93b2[_0x51b6('0x41')][_0x51b6('0x26')]['toLowerCase']()),_0x2580ee);return respondWithRpcPromise(_0x51b6('0x51'),_0x51b6('0x1c'),{'module':'chan_sip.so'});}})['then'](function(_0x382270){if(_0x382270){return _0x1c11ba;}return null;})[_0x51b6('0x1d')](respondWithResult(_0x3ab4c1,null))[_0x51b6('0x13')](handleError(_0x3ab4c1,null));};exports['destroy']=function(_0x2a5a4d,_0x3c1624){var _0x4dea88;return db[_0x51b6('0x23')]['find']({'where':{'id':_0x2a5a4d[_0x51b6('0x3b')]['id']}})['then'](function(_0x5840eb){_0x4dea88=_0x5840eb;return _0x5840eb;})[_0x51b6('0x1d')](handleEntityNotFound(_0x3c1624,null))[_0x51b6('0x1d')](removeEntity(_0x3c1624,null))[_0x51b6('0x1d')](function(){if(_0x4dea88){return db['Network'][_0x51b6('0x38')]({'where':{'type':_0x4dea88[_0x51b6('0x26')]},'raw':!![]});}})[_0x51b6('0x1d')](function(_0x23feb3){if(_0x4dea88[_0x51b6('0x26')]['toUpperCase']()=='STUN'){var _0x153691=fs[_0x51b6('0x4c')](path[_0x51b6('0x4e')](config[_0x51b6('0x44')],_0x51b6('0x45')),_0x51b6('0x46'));var _0x127695=ejs[_0x51b6('0x47')](_0x153691,{'networks':_0x23feb3||[]});fs['writeFileSync'](_0x51b6('0x49'),_0x127695);return respondWithRpcPromise(_0x51b6('0x51'),'destroy',{'module':_0x51b6('0x4a')});}else if(_0x4dea88[_0x51b6('0x26')][_0x51b6('0x42')]()==_0x51b6('0x4b')){var _0x1fa7ff=fs[_0x51b6('0x4c')](path[_0x51b6('0x4e')](config[_0x51b6('0x44')],_0x51b6('0x4d')),_0x51b6('0x46'));var _0x54bf04=ejs[_0x51b6('0x47')](_0x1fa7ff,{'networks':_0x23feb3||[]});fs[_0x51b6('0x48')](_0x51b6('0x54'),_0x54bf04);return respondWithRpcPromise(_0x51b6('0x51'),_0x51b6('0x55'),{'module':_0x51b6('0x4a')});}else{var _0x242762=fs[_0x51b6('0x4c')](path[_0x51b6('0x4e')](config[_0x51b6('0x44')],'server/files/templates/network.ejs'),_0x51b6('0x46'));var _0x290a91=ejs[_0x51b6('0x47')](_0x242762,{'networks':_0x23feb3||[]});fs['writeFileSync'](util[_0x51b6('0x50')](_0x51b6('0x53'),_0x4dea88['type'][_0x51b6('0x56')]()),_0x290a91);return respondWithRpcPromise(_0x51b6('0x51'),_0x51b6('0x55'),{'module':_0x51b6('0x52')});}})['catch'](handleError(_0x3c1624,null));};
\ No newline at end of file