mirror of
https://github.com/Dahlgren/arma-server-web-admin.git
synced 2024-08-30 17:22:10 +00:00
Persist server config
This commit is contained in:
parent
b620ac5d55
commit
292fd99446
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ node_modules
|
||||
|
||||
# Project stuff
|
||||
config.js
|
||||
servers.json
|
||||
|
34
manager.js
34
manager.js
@ -1,6 +1,8 @@
|
||||
var spawn = require('child_process').spawn;
|
||||
var fs = require('fs'),
|
||||
spawn = require('child_process').spawn;
|
||||
|
||||
var config = require('./config');
|
||||
var filePath = "servers.json";
|
||||
|
||||
function Server(id, title, port, mods) {
|
||||
this.id = id;
|
||||
@ -42,10 +44,17 @@ Server.prototype.start = function() {
|
||||
|
||||
function Manager() {
|
||||
this.serversArr = [];
|
||||
this.serversHash = {}
|
||||
this.serversHash = {};
|
||||
this.load();
|
||||
};
|
||||
|
||||
Manager.prototype.addServer = (function (id, title) {
|
||||
var server = this._addServer(id, title);
|
||||
this.save();
|
||||
return server;
|
||||
});
|
||||
|
||||
Manager.prototype._addServer = (function (id, title) {
|
||||
mods = [];
|
||||
port = 2302;
|
||||
var server = new Server(id, title, port, mods)
|
||||
@ -62,4 +71,25 @@ Manager.prototype.getServers = (function () {
|
||||
return this.serversArr;
|
||||
});
|
||||
|
||||
Manager.prototype.load = (function () {
|
||||
var self = this;
|
||||
|
||||
fs.readFile(filePath, function (err, data) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return;
|
||||
}
|
||||
|
||||
JSON.parse(data).forEach(function (server) {
|
||||
self._addServer(server.id, server.title);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Manager.prototype.save = (function () {
|
||||
fs.writeFile(filePath, JSON.stringify(this.serversArr), function(err) {
|
||||
if(err) throw err;
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = Manager;
|
||||
|
Loading…
x
Reference in New Issue
Block a user