MozDef/meteor/client/router.js

225 строки
5.7 KiB
JavaScript

/*
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
Copyright (c) 2014 Mozilla Corporation
*/
import { Meteor } from 'meteor/meteor';
Router.configure({
// the default layout
layoutTemplate: 'layout',
loadingTemplate: 'loading',
waitOn: function() {
return [
Meteor.subscribe('features'),
Meteor.subscribe('mozdefsettings')
];
}
});
Router.map(function () {
this.route('home', {
path: '/',
template: 'hello',
layoutTemplate: 'layout'
});
this.route('about', {
path: '/about',
template: 'about',
layoutTemplate: 'layout'
});
this.route('alertssummary', {
path: '/alerts',
template: 'alertssummary',
layoutTemplate: 'layout'
});
this.route('alertdetails', {
path: '/alert/:alert_id',
template: 'alertdetails',
waitOn: function() {
Session.set('alertID', this.params.alert_id);
return Meteor.subscribe('alerts-details', Session.get('alertID'))
},
data: function() {
return alerts.findOne({'esmetadata.id':Session.get('alertID')});
},
layoutTemplate: 'layout'
});
this.route('ipblocklist', {
path: '/ipblocklist',
template: 'ipblocklist',
layoutTemplate: 'layout'
});
this.route('fqdnblocklist', {
path: '/fqdnblocklist',
template: 'fqdnblocklist',
layoutTemplate: 'layout'
});
this.route('watchlist', {
path: '/watchlist',
template: 'watchlist',
layoutTemplate: 'layout'
});
this.route('investigations', {
path: '/investigations',
template: 'investigations',
layoutTemplate: 'layout'
});
this.route('investigationsnew', {
path: '/investigation/new',
template: 'addinvestigationform',
layoutTemplate: 'layout'
});
this.route('investigationsveris', {
path: '/investigations/veris',
template: 'investigationsveris',
layoutTemplate: 'layout'
});
this.route('investigationedit', {
path: '/investigation/:_id/edit',
waitOn: function() {
Session.set('investigationID', this.params._id);
return Meteor.subscribe('investigation-details', Session.get('investigationID'))
},
data: function() {
return investigations.findOne(this.params._id);
},
template: 'editinvestigationform',
layoutTemplate: 'layout'
});
this.route('incidents', {
path: '/incidents',
template: 'incidents',
layoutTemplate: 'layout'
});
this.route('incidentnew', {
path: '/incident/new',
template: 'addincidentform',
layoutTemplate: 'layout'
});
this.route('incidentsveris', {
path: '/incidents/veris',
template: 'incidentsveris',
layoutTemplate: 'layout'
});
this.route('incidentedit', {
path: '/incident/:_id/edit',
waitOn: function() {
Session.set('incidentID', this.params._id);
return Meteor.subscribe('incident-details', Session.get('incidentID'))
},
data: function() {
return incidents.findOne(this.params._id);
},
template: 'editincidentform',
layoutTemplate: 'layout'
});
this.route('attackers', {
path: '/attackers',
template: 'attackers',
layoutTemplate: 'layout'
});
this.route('attackerdetails', {
path: '/attacker/:attackerid',
template: 'attackerdetails',
waitOn: function() {
Session.set('attackerID', this.params.attackerid);
return Meteor.subscribe('attacker-details', Session.get('attackerID'))
},
data: function() {
return attackers.findOne({'_id':Session.get('attackerID')});
},
layoutTemplate: 'layout'
});
this.route('globe', {
path: '/globe',
template: 'globe',
layoutTemplate: 'layout'
});
this.route('logincounts', {
path: '/logincounts',
template: 'logincounts',
layoutTemplate: 'layout'
});
this.route('blockip', {
path: '/blockip/:_ipaddr',
template: 'blockIPform',
data: function() {
Session.set('blockIPipaddress', this.params._ipaddr);
},
layoutTemplate: 'layout'
});
this.route('blockfqdn', {
path: '/blockfqdn/:_fqdn',
template: 'blockFQDNform',
data: function() {
Session.set('blockFQDN', this.params._fqdn);
},
layoutTemplate: 'layout'
});
this.route('watchitem', {
path: '/watchitem/:_watchcontent',
template: 'watchItemform',
data: function() {
Session.set('watchItem', this.params._watchcontent);
},
layoutTemplate: 'layout'
});
this.route('ipwhois', {
path: '/ipwhois/:_ipaddress',
template: 'ipwhois',
data: function() {
Session.set('ipwhoisipaddress', this.params._ipaddress);
}
});
this.route('ipdshield', {
path: '/ipdshield/:_ipaddress',
template: 'ipdshield',
data: function() {
Session.set('ipdshieldipaddress', this.params._ipaddress);
}
});
this.route('ipintel',{
path: '/ipintel/:_ipaddress',
template: 'ipintel',
data: function(){
Session.set('ipintelipaddress',this.params._ipaddress)
}
});
this.route('veris',{
path: '/veris',
template:'veristags',
layoutTemplate: 'layout'
});
});