exports.index = function (req, res) { res.render('index', { title: 'Home' }) }; exports.db = function (req, res) { res.render('database', { title: 'Manage MAC' }) }; exports.form = function (req, res) { var snmpMac = req.app.get('snmpMac'); //TODO: wie kann man das schoener machen? var mac = req.body.mac, label = req.body.label, action = req.body.action; var status = ""; mac = mac.toLowerCase(); var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; if (/^([0-9a-f]{2}[:-]){5}([0-9a-f]{2})$/.exec(mac)) { if (action == "add") { console.log("add mac request mac: "+mac + " label " + label + " ip: " + ip); if (/^[0-9a-zA-Z]+$/.exec(label)) { snmpMac.add(mac, label, function (err) { console.log("add mac result: " + err); req.flash('status', err == null ? "" : "database error: " + err); res.redirect("/db"); }); } else { req.flash('status', 'label is invalid ("^[0-9a-zA-Z]+$")'); res.redirect("/db"); } } else if (action == "remove") { console.log("remove mac request mac: "+mac + " label " + label + " ip: " + ip); snmpMac.delete(mac, function (err) { console.log("delete mac result: " + err); req.flash('status', err == null ? "" : "database error: " + err); res.redirect("/db"); }); } else { res.redirect("/db"); } } else { req.flash('status', 'mac address is invalid'); res.redirect("/db"); } };