diff --git a/backend/dao/user.js b/backend/dao/user.js index 0ab461360..94a45c37d 100644 --- a/backend/dao/user.js +++ b/backend/dao/user.js @@ -42,7 +42,7 @@ class UsersDAO { static async updateEmail(uid, email) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "update email"); await updateAuthEmail(uid, email); await mongoDB().collection("users").updateOne({ uid }, { $set: { email } }); return true; @@ -50,13 +50,14 @@ class UsersDAO { static async getUser(uid) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "get user"); return user; } static async getUserByDiscordId(discordId) { const user = await mongoDB().collection("users").findOne({ discordId }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) + throw new MonkeyError(404, "User not found", "get user by discord id"); return user; } @@ -73,13 +74,13 @@ class UsersDAO { static async getTags(uid) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "get tags"); return user.tags; } static async editTag(uid, _id, name) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "edit tag"); if ( user.tags === undefined || user.tags.filter((t) => t._id == _id).length === 0 @@ -98,7 +99,7 @@ class UsersDAO { static async removeTag(uid, _id) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "remove tag"); if ( user.tags === undefined || user.tags.filter((t) => t._id == _id).length === 0 @@ -117,7 +118,7 @@ class UsersDAO { static async removeTagPb(uid, _id) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "remove tag pb"); if ( user.tags === undefined || user.tags.filter((t) => t._id == _id).length === 0 @@ -136,7 +137,7 @@ class UsersDAO { static async checkIfPb(uid, result) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "check if pb"); const { mode, @@ -184,7 +185,7 @@ class UsersDAO { static async checkIfTagPb(uid, result) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "check if tag pb"); if (user.tags === undefined || user.tags.length === 0) { return []; @@ -252,7 +253,7 @@ class UsersDAO { static async resetPb(uid) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "reset pb"); return await mongoDB() .collection("users") .updateOne({ uid }, { $set: { personalBests: {} } }); @@ -260,7 +261,8 @@ class UsersDAO { static async updateTypingStats(uid, restartCount, timeTyping) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) + throw new MonkeyError(404, "User not found", "update typing stats"); return await mongoDB() .collection("users") @@ -278,7 +280,7 @@ class UsersDAO { static async linkDiscord(uid, discordId) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "link discord"); return await mongoDB() .collection("users") .updateOne({ uid }, { $set: { discordId } }); @@ -286,7 +288,7 @@ class UsersDAO { static async unlinkDiscord(uid) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) throw new MonkeyError(404, "User not found", "unlink discord"); return await mongoDB() .collection("users") .updateOne({ uid }, { $set: { discordId: null } }); @@ -294,7 +296,8 @@ class UsersDAO { static async incrementBananas(uid, wpm) { const user = await mongoDB().collection("users").findOne({ uid }); - if (!user) throw new MonkeyError(404, "User not found"); + if (!user) + throw new MonkeyError(404, "User not found", "increment bananas"); let best60; try { diff --git a/backend/handlers/error.js b/backend/handlers/error.js index dce55a9a1..d7afd1bce 100644 --- a/backend/handlers/error.js +++ b/backend/handlers/error.js @@ -17,7 +17,7 @@ class MonkeyError { if (process.env.MODE === "dev") { this.message = stack ? String(stack) : String(message); } else { - if (this.stack) { + if (this.stack && this.status >= 500) { this.message = "Internal Server Error " + this.errorID; } else { this.message = String(message);