mirror of https://github.com/calzoneman/sync.git
finish refactoring acp (kind of -- depends on auth
This commit is contained in:
parent
6d84222871
commit
c4d5b1cd1d
70
acp.js
70
acp.js
|
@ -70,30 +70,23 @@ module.exports = function (Server) {
|
||||||
user.socket.on("acp-reset-password", function(data) {
|
user.socket.on("acp-reset-password", function(data) {
|
||||||
if(Auth.getGlobalRank(data.name) >= user.global_rank)
|
if(Auth.getGlobalRank(data.name) >= user.global_rank)
|
||||||
return;
|
return;
|
||||||
try {
|
|
||||||
var hash = Server.db.generatePasswordReset(user.ip, data.name, data.email);
|
|
||||||
ActionLog.record(user.ip, user.name, "acp-reset-password", data.name);
|
|
||||||
}
|
|
||||||
catch(e) {
|
|
||||||
user.socket.emit("acp-reset-password", {
|
|
||||||
success: false,
|
|
||||||
error: e
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(hash) {
|
|
||||||
user.socket.emit("acp-reset-password", {
|
|
||||||
success: true,
|
|
||||||
hash: hash
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
user.socket.emit("acp-reset-password", {
|
|
||||||
success: false,
|
|
||||||
error: "Reset failed"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
db.genPasswordReset(user.ip, data.name, data.email,
|
||||||
|
function (err, hash) {
|
||||||
|
var pkt = {
|
||||||
|
success: !err
|
||||||
|
};
|
||||||
|
|
||||||
|
if(err) {
|
||||||
|
pkt.error = err;
|
||||||
|
} else {
|
||||||
|
pkt.hash = hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
user.socket.emit("acp-reset-password", pkt);
|
||||||
|
ActionLog.record(user.ip, user.name,
|
||||||
|
"acp-reset-password", data.name);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
user.socket.on("acp-set-rank", function(data) {
|
user.socket.on("acp-set-rank", function(data) {
|
||||||
|
@ -103,21 +96,13 @@ module.exports = function (Server) {
|
||||||
if(Auth.getGlobalRank(data.name) >= user.global_rank)
|
if(Auth.getGlobalRank(data.name) >= user.global_rank)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var db = Server.db.getConnection();
|
db.setGlobalRank(data.name, data.rank, function (err, res) {
|
||||||
if(!db)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ActionLog.record(user.ip, user.name, "acp-set-rank", data);
|
ActionLog.record(user.ip, user.name, "acp-set-rank",
|
||||||
var query = Server.db.createQuery(
|
data);
|
||||||
"UPDATE registrations SET global_rank=? WHERE uname=?",
|
if(!err)
|
||||||
[data.rank, data.name]
|
user.socket.emit("acp-set-rank", data);
|
||||||
);
|
});
|
||||||
|
|
||||||
var res = db.querySync(query);
|
|
||||||
if(!res)
|
|
||||||
return;
|
|
||||||
|
|
||||||
user.socket.emit("acp-set-rank", data);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
user.socket.on("acp-list-loaded", function() {
|
user.socket.on("acp-list-loaded", function() {
|
||||||
|
@ -174,13 +159,10 @@ module.exports = function (Server) {
|
||||||
});
|
});
|
||||||
|
|
||||||
user.socket.on("acp-view-stats", function () {
|
user.socket.on("acp-view-stats", function () {
|
||||||
var db = Server.db.getConnection();
|
db.listStats(function (err, res) {
|
||||||
if(!db)
|
if(!err)
|
||||||
return;
|
user.socket.emit("acp-view-stats", res);
|
||||||
var query = "SELECT * FROM stats ORDER BY time ASC";
|
});
|
||||||
var results = db.querySync(query);
|
|
||||||
if(results)
|
|
||||||
user.socket.emit("acp-view-stats", results.fetchAllSync());
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
25
database.js
25
database.js
|
@ -38,6 +38,9 @@ Database.prototype.query = function (query, sub, callback) {
|
||||||
sub = false;
|
sub = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(typeof callback !== "function")
|
||||||
|
callback = blackHole;
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
self.pool.getConnection(function (err, conn) {
|
self.pool.getConnection(function (err, conn) {
|
||||||
if(err) {
|
if(err) {
|
||||||
|
@ -667,6 +670,17 @@ Database.prototype.searchUser = function (name, callback) {
|
||||||
self.query(query, [name], callback);
|
self.query(query, [name], callback);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* rank */
|
||||||
|
|
||||||
|
Database.prototype.setGlobalRank = function (name, rank, callback) {
|
||||||
|
var self = this;
|
||||||
|
if(typeof callback !== "function")
|
||||||
|
callback = blackHole;
|
||||||
|
|
||||||
|
var query = "UPDATE registrations SET global_rank=? WHERE uname=?";
|
||||||
|
self.query(query, [rank, name], callback);
|
||||||
|
};
|
||||||
|
|
||||||
/* email and profile */
|
/* email and profile */
|
||||||
|
|
||||||
Database.prototype.getUserProfile = function (name, callback) {
|
Database.prototype.getUserProfile = function (name, callback) {
|
||||||
|
@ -983,4 +997,15 @@ Database.prototype.listIPsForName = function (name, callback) {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* END REGION */
|
/* END REGION */
|
||||||
|
|
||||||
|
/* REGION stats */
|
||||||
|
|
||||||
|
Database.prototype.listStats = function (callback) {
|
||||||
|
var self = this;
|
||||||
|
if(typeof callback !== "function")
|
||||||
|
return;
|
||||||
|
|
||||||
|
var query = "SELECT * FROM stats ORDER BY time ASC";
|
||||||
|
self.query(query, callback);
|
||||||
|
};
|
||||||
module.exports = Database;
|
module.exports = Database;
|
||||||
|
|
Loading…
Reference in New Issue