Persist server config

This commit is contained in:
Björn Dahlgren 2014-04-06 22:10:42 +00:00
parent b620ac5d55
commit 292fd99446
2 changed files with 33 additions and 2 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ node_modules
# Project stuff
config.js
servers.json

View File

@ -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;