Work on account channels interface; Start work on /account/profile

This commit is contained in:
calzoneman 2013-12-26 23:38:35 -05:00
parent 5fe5dd440e
commit ead38a9d35
5 changed files with 231 additions and 41 deletions

View file

@ -81,20 +81,20 @@ module.exports = {
}
if (typeof name !== "string" || typeof pw !== "string") {
callback(new Error("You must provide a nonempty username and password"), null);
callback("You must provide a nonempty username and password", null);
return;
}
var lname = name.toLowerCase();
if (registrationLock[lname]) {
callback(new Error("There is already a registration in progress for "+name),
callback("There is already a registration in progress for "+name,
null);
return;
}
if (!$util.isValidUserName(name)) {
callback(new Error("Invalid username. Usernames may consist of 1-20 " +
"characters a-z, A-Z, 0-9, -, _, and accented letters."),
callback("Invalid username. Usernames may consist of 1-20 " +
"characters a-z, A-Z, 0-9, -, _, and accented letters.",
null);
return;
}
@ -121,7 +121,7 @@ module.exports = {
if (taken) {
delete registrationLock[lname];
callback(new Error("Username is already registered"), null);
callback("Username is already registered", null);
return;
}
@ -161,7 +161,7 @@ module.exports = {
}
if (typeof name !== "string" || typeof pw !== "string") {
callback(new Error("Invalid username/password combination"), null);
callback("Invalid username/password combination", null);
return;
}
@ -185,7 +185,7 @@ module.exports = {
}
if (rows.length === 0) {
callback(new Error("User does not exist"), null);
callback("User does not exist", null);
return;
}
@ -193,7 +193,7 @@ module.exports = {
if (err) {
callback(err, null);
} else if (!match) {
callback(new Error("Invalid username/password combination"), null);
callback("Invalid username/password combination", null);
} else {
callback(null, {
name: rows[0].name,
@ -212,15 +212,15 @@ module.exports = {
if (typeof callback !== "function") {
return;
}
if (typeof auth !== "string") {
callback(new Error("Invalid auth string"), null);
callback("Invalid auth string", null);
return;
}
var split = auth.split(":");
if (split.length !== 2) {
callback(new Error("Invalid auth string"), null);
callback("Invalid auth string", null);
return;
}
@ -235,7 +235,7 @@ module.exports = {
}
if (rows.length === 0) {
callback(new Error("Auth string does not match an existing user"), null);
callback("Auth string does not match an existing user", null);
return;
}
@ -256,7 +256,7 @@ module.exports = {
}
if (typeof name !== "string" || typeof pw !== "string") {
callback(new Error("Invalid username/password combination"), null);
callback("Invalid username/password combination", null);
return;
}
@ -289,7 +289,7 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
@ -298,7 +298,7 @@ module.exports = {
if (err) {
callback(err, null);
} else if (rows.length === 0) {
callback(new Error("User does not exist"), null);
callback("User does not exist", null);
} else {
callback(null, rows[0].global_rank);
}
@ -314,12 +314,12 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
if (typeof rank !== "number") {
callback(new Error("Invalid rank"), null);
callback("Invalid rank", null);
return;
}
@ -338,7 +338,7 @@ module.exports = {
}
if (!(names instanceof Array)) {
callback(new Error("Expected array of names, got " + typeof names), null);
callback("Expected array of names, got " + typeof names, null);
return;
}
@ -365,7 +365,7 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
@ -374,7 +374,7 @@ module.exports = {
if (err) {
callback(err, null);
} else if (rows.length === 0) {
callback(new Error("User does not exist"), null);
callback("User does not exist", null);
} else {
callback(null, rows[0].email);
}
@ -390,12 +390,12 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
if (typeof email !== "string") {
callback(new Error("Invalid email"), null);
callback("Invalid email", null);
return;
}
@ -414,7 +414,7 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
@ -423,12 +423,18 @@ module.exports = {
if (err) {
callback(err, null);
} else if (rows.length === 0) {
callback(new Error("User does not exist"), null);
callback("User does not exist", null);
} else {
var userprof = {
image: "",
text: ""
};
if (rows[0].profile === "") {
callback(null, userprof);
return;
}
try {
var profile = JSON.parse(rows[0].profile);
userprof.image = profile.image || "";
@ -450,12 +456,12 @@ module.exports = {
}
if (typeof name !== "string") {
callback(new Error("Invalid username"), null);
callback("Invalid username", null);
return;
}
if (typeof profile !== "object") {
callback(new Error("Invalid profile"), null);
callback("Invalid profile", null);
return;
}
@ -484,7 +490,7 @@ module.exports = {
return;
}
callback(new Error("generatePasswordReset is not implemented"), null);
callback("generatePasswordReset is not implemented", null);
},
recoverPassword: function (hash, callback) {
@ -492,7 +498,7 @@ module.exports = {
return;
}
callback(new Error("recoverPassword is not implemented"), null);
callback("recoverPassword is not implemented", null);
},
/**

View file

@ -4,7 +4,7 @@ var valid = require("../utilities").isValidChannelName;
var blackHole = function () { };
function dropTable(name, callback) {
db.query("DROP TABLE `" + name + "`");
db.query("DROP TABLE `" + name + "`", callback);
}
function createRanksTable(name, callback) {
@ -116,7 +116,7 @@ module.exports = {
return;
}
if (!valid(chan)) {
if (!valid(name)) {
callback("Invalid channel name", null);
return;
}
@ -128,7 +128,12 @@ module.exports = {
callback(err, null);
return;
}
callback(null, rows);
if (rows.length === 0) {
callback("No such channel", null);
} else {
callback(null, rows[0]);
}
});
},
@ -212,7 +217,7 @@ module.exports = {
callback = blackHole;
}
if (!valid(chan)) {
if (!valid(name)) {
callback("Invalid channel name", null);
return;
}