arma-server-web-admin/routes/servers.js

51 lines
1.2 KiB
JavaScript
Raw Normal View History

var express = require('express')
2017-04-01 09:19:30 +00:00
module.exports = function (manager, mods) {
var router = express.Router()
2017-04-01 09:19:30 +00:00
router.get('/', function (req, res) {
res.json(manager.getServers())
})
2017-04-01 09:19:30 +00:00
router.post('/', function (req, res) {
var server = manager.addServer(req.body)
res.json(server)
})
2017-04-01 09:19:30 +00:00
router.get('/:server', function (req, res) {
var server = manager.getServer(req.params.server)
res.json(server)
})
2017-04-01 09:19:30 +00:00
router.put('/:server', function (req, res) {
var server = manager.getServer(req.params.server)
server.update(req.body)
manager.save()
res.json(server)
})
2017-04-01 09:19:30 +00:00
router.delete('/:server', function (req, res) {
var server = manager.removeServer(req.params.server)
res.json(server)
})
2017-04-01 09:19:30 +00:00
router.post('/:server/start', function (req, res) {
var server = manager.getServer(req.params.server)
server.start()
res.json({status: 'ok', pid: server.pid})
})
2017-04-01 09:19:30 +00:00
router.post('/:server/stop', function (req, res) {
var server = manager.getServer(req.params.server)
2017-04-01 09:19:30 +00:00
server.stop(function () {
if (!server.pid) {
res.json({status: true, pid: server.pid})
2017-04-01 09:19:30 +00:00
} else {
res.json({status: false, pid: server.pid})
2017-04-01 09:19:30 +00:00
}
})
})
2017-04-01 09:19:30 +00:00
return router
}