| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- const express = require('express');
- const bodyparser = require('body-parser');
- const async = require('async');
- var app = express();
- var engine = require("./engine");
- app.use(bodyparser.urlencoded({
- extended: true
- }));
- app.use(bodyparser.json());
- app.get("/", function (req, res) {
- // TODO Frontend app
- return res.send("WIP");
- });
- app.get("/api/types", function (req, res) {
- res.type('json');
- res.send(JSON.stringify(engine.getServerTypes()));
- });
- app.get("/api/servers/list", function (req,res) {
- engine.serverMenager.list(function (data) {
- res.type('json');
- res.send(JSON.stringify(data));
- });
- });
- app.post("/api/servers/add", function (req,res) {
- var type = req.body.type;
- var name = req.body.name;
- var address = req.body.address;
- engine.serverMenager.add(type, address, name);
- res.send("");
- });
- app.post("/api/servers/remove", function (req, res) {
- var id = req.body.id;
- engine.serverMenager.remove(id);
- res.send("");
- });
- app.get("/api/trafic/update", function (req, res) {
- engine.serverMenager.list(function (data) {
- async.map(data, function (data, callback) {
- var server = data;
- engine.statusGrabber.getStatus(server.type, server.address, function(data) {
- var h = engine.statusGrabber.getResponseHandler(server.type);
- h(data, server.get("id"));
- callback(null, data);
- });
- }, function (err, map) {
- res.type("json");
- res.send(JSON.stringify(map));
- });
- });
- });
- app.get("/api/trafic/update/:id", function (req, res) {
- engine.serverMenager.getByID(Number(req.params.id), function (data) {
- if(typeof data == "string"){
- res.type("text");
- res.send(data);
- return;
- }
- var server = data;
- engine.statusGrabber.getStatus(server.type, server.address, function(data) {
- var h = engine.statusGrabber.getResponseHandler(server.type);
- h(data, server.get("id"));
- res.type("json");
- res.send(JSON.stringify(data));
- });
- });
- });
- app.get("/api/status", function (req, res) {
- engine.serverMenager.list(function (data) {
- async.map(data, function (data, callback) {
- var server = data;
- engine.statusGrabber.getStatus(server.type, server.address, function(data) {
- callback(null, data);
- });
- }, function (err, map) {
- res.type("json");
- res.send(JSON.stringify(map));
- });
- });
- });
- app.get("/api/status/:id", function (req, res) {
- engine.serverMenager.getByID(Number(req.params.id), function (data) {
- if(typeof data == "string"){
- res.type("text");
- res.send(data);
- return;
- }
- var server = data;
- engine.statusGrabber.getStatus(server.type, server.address, function(data) {
- if(data){
- res.type("json");
- data["_id"] = Number(req.params.id);
- res.send(JSON.stringify(data));
- }else{
- res.send("Intertnal Error");
- }
- });
- });
- });
- app.get("/api/trafic/get/all", function (req, res) {
- engine.statusGrabber.getTraffic(function (data) {
- res.type('json');
- res.send(JSON.stringify(data));
- });
- });
- app.listen(80);
|