Merge pull request #1111 from bluewave-labs/fix/be/db-module-refactor

Minor refactoring in DB modules for readability
This commit is contained in:
Alexander Holliday
2024-11-04 18:16:54 -08:00
committed by GitHub
3 changed files with 28 additions and 29 deletions
+12 -12
View File
@@ -1,6 +1,7 @@
import Monitor from "../../models/Monitor.js";
import Check from "../../models/Check.js";
import PageSpeedCheck from "../../models/PageSpeedCheck.js";
import HardwareCheck from "../../models/HardwareCheck.js";
import { errorMessages } from "../../../utils/messages.js";
import Notification from "../../models/Notification.js";
import { NormalizeData } from "../../../utils/dataUtils.js";
@@ -16,6 +17,13 @@ const demoMonitors = JSON.parse(fs.readFileSync(demoMonitorsPath, "utf8"));
const SERVICE_NAME = "monitorModule";
const CHECK_MODEL_LOOKUP = {
http: Check,
ping: Check,
pageSpeed: PageSpeedCheck,
hardware: HardwareCheck,
};
/**
* Get all monitors
* @async
@@ -163,8 +171,7 @@ const getMonitorStatsById = async (req) => {
// Default sort order is newest -> oldest
sortOrder = sortOrder === "asc" ? 1 : -1;
let model =
monitor.type === "http" || monitor.type === "ping" ? Check : PageSpeedCheck;
let model = CHECK_MODEL_LOOKUP[monitor.type];
const monitorStats = {
...monitor.toObject(),
@@ -325,13 +332,9 @@ const getMonitorsAndSummaryByTeamId = async (teamId, type) => {
(acc, monitor) => {
if (monitor.status === true) {
acc.up += 1;
}
if (monitor.status === false) {
} else if (monitor.status === false) {
acc.down += 1;
}
if (monitor.isActive === false) {
} else if (monitor.isActive === false) {
acc.paused += 1;
}
return acc;
@@ -397,8 +400,6 @@ const getMonitorsByTeamId = async (req, res) => {
// Default sort order is newest -> oldest
if (checkOrder === "asc") {
checkOrder = 1;
} else if (checkOrder === "desc") {
checkOrder = -1;
} else checkOrder = -1;
// Sort order for monitors
@@ -428,8 +429,7 @@ const getMonitorsByTeamId = async (req, res) => {
checksQuery.status = status;
}
let model =
monitor.type === "http" || monitor.type === "ping" ? Check : PageSpeedCheck;
let model = CHECK_MODEL_LOOKUP[monitor.type];
// Checks are order newest -> oldest
let checks = await model
+14 -14
View File
@@ -56,25 +56,25 @@ const resetPassword = async (req, res) => {
const recoveryToken = await validateRecoveryToken(req, res);
const user = await UserModel.findOne({ email: recoveryToken.email });
if (user === null) {
throw new Error(errorMessages.DB_USER_NOT_FOUND);
}
const match = await user.comparePassword(newPassword);
if (match === true) {
throw new Error(errorMessages.DB_RESET_PASSWORD_BAD_MATCH);
}
if (user !== null) {
user.password = newPassword;
await user.save();
await RecoveryToken.deleteMany({ email: recoveryToken.email });
// Fetch the user again without the password
const userWithoutPassword = await UserModel.findOne({
email: recoveryToken.email,
})
.select("-password")
.select("-profileImage");
return userWithoutPassword;
} else {
throw new Error(errorMessages.DB_USER_NOT_FOUND);
}
user.password = newPassword;
await user.save();
await RecoveryToken.deleteMany({ email: recoveryToken.email });
// Fetch the user again without the password
const userWithoutPassword = await UserModel.findOne({
email: recoveryToken.email,
})
.select("-password")
.select("-profileImage");
return userWithoutPassword;
} catch (error) {
error.service = SERVICE_NAME;
error.method = "resetPassword";
+2 -3
View File
@@ -70,11 +70,10 @@ const getUserByEmail = async (email) => {
// Need the password to be able to compare, removed .select()
// We can strip the hash before returning the user
const user = await UserModel.findOne({ email: email }).select("-profileImage");
if (user) {
return user;
} else {
if (!user) {
throw new Error(errorMessages.DB_USER_NOT_FOUND);
}
return user;
} catch (error) {
error.service = SERVICE_NAME;
error.method = "getUserByEmail";