Files
Checkmate/Server/db/mongo/MongoDB.js
T

182 lines
3.9 KiB
JavaScript
Raw Normal View History

2024-07-26 18:25:20 -07:00
const mongoose = require("mongoose");
const UserModel = require("../../models/user");
//****************************************
// DB Connection
//****************************************
const connect = async () => {
try {
await mongoose.connect(process.env.DB_CONNECTION_STRING);
console.log("Connected to MongoDB");
} catch (error) {
console.error("Failed to connect to MongoDB");
throw error;
}
};
2024-08-26 09:46:23 -07:00
const checkSuperadmin = async (req, res) => {
2024-07-26 18:25:20 -07:00
try {
2024-08-26 16:57:30 -07:00
const superAdmin = await UserModel.findOne({ role: "superadmin" });
if (superAdmin !== null) {
2024-07-26 18:25:20 -07:00
return true;
}
return false;
} catch (error) {
throw error;
}
};
//****************************************
// User Operations
//****************************************
const {
insertUser,
getUserByEmail,
updateUser,
deleteUser,
getAllUsers,
2024-08-10 10:20:06 -07:00
logoutUser,
2024-07-26 18:25:20 -07:00
} = require("./modules/userModule");
//****************************************
// Invite Token Operations
//****************************************
const {
requestInviteToken,
getInviteToken,
} = require("./modules/inviteModule");
//****************************************
// Recovery Operations
//****************************************
const {
requestRecoveryToken,
validateRecoveryToken,
resetPassword,
} = require("./modules/recoveryModule");
//****************************************
// Monitors
//****************************************
const {
getAllMonitors,
getMonitorAggregateStats,
2024-09-04 11:02:18 -07:00
testMethod,
2024-08-12 12:05:57 -07:00
getMonitorStatsById,
2024-07-26 18:25:20 -07:00
getMonitorById,
getMonitorsByTeamId,
2024-07-26 18:25:20 -07:00
createMonitor,
deleteMonitor,
deleteAllMonitors,
deleteMonitorsByUserId,
editMonitor,
} = require("./modules/monitorModule");
//****************************************
// Page Speed Checks
//****************************************
const {
createPageSpeedCheck,
getPageSpeedChecks,
2024-08-02 11:38:38 -07:00
deletePageSpeedChecksByMonitorId,
2024-07-26 18:25:20 -07:00
} = require("./modules/pageSpeedCheckModule");
//****************************************
// Checks
//****************************************
const {
createCheck,
2024-08-08 13:19:37 -07:00
getChecksCount,
2024-07-26 18:25:20 -07:00
getChecks,
getTeamChecks,
2024-07-26 18:25:20 -07:00
deleteChecks,
2024-08-30 10:04:47 -07:00
deleteChecksByTeamId,
2024-07-26 18:25:20 -07:00
} = require("./modules/checkModule");
//****************************************
// Alerts
//****************************************
const {
createAlert,
getAlertsByUserId,
getAlertsByMonitorId,
getAlertById,
editAlert,
deleteAlert,
deleteAlertByMonitorId,
} = require("./modules/alertModule");
2024-07-30 10:01:52 -07:00
//****************************************
// Maintenance Window
//****************************************
const {
createMaintenanceWindow,
getMaintenanceWindowsByUserId,
getMaintenanceWindowsByMonitorId,
deleteMaintenaceWindowById,
deleteMaintenanceWindowByMonitorId,
deleteMaintenanceWindowByUserId,
} = require("./modules/maintenaceWindowModule");
2024-07-30 13:23:14 -07:00
const {
createNotification,
getNotificationsByMonitorId,
2024-07-30 13:25:56 -07:00
deleteNotificationsByMonitorId,
2024-07-30 13:23:14 -07:00
} = require("./modules/notificationModule");
2024-07-26 18:25:20 -07:00
module.exports = {
connect,
insertUser,
getUserByEmail,
updateUser,
deleteUser,
getAllUsers,
2024-08-10 10:20:06 -07:00
logoutUser,
2024-07-26 18:25:20 -07:00
requestInviteToken,
getInviteToken,
requestRecoveryToken,
validateRecoveryToken,
resetPassword,
2024-08-26 09:46:23 -07:00
checkSuperadmin,
2024-07-26 18:25:20 -07:00
getAllMonitors,
2024-08-12 12:05:57 -07:00
getMonitorStatsById,
2024-07-26 18:25:20 -07:00
getMonitorById,
getMonitorsByTeamId,
2024-07-26 18:25:20 -07:00
createMonitor,
deleteMonitor,
deleteAllMonitors,
editMonitor,
createCheck,
2024-08-08 13:19:37 -07:00
getChecksCount,
2024-07-26 18:25:20 -07:00
getChecks,
getTeamChecks,
2024-07-26 18:25:20 -07:00
deleteChecks,
2024-08-30 10:04:47 -07:00
deleteChecksByTeamId,
2024-07-26 18:25:20 -07:00
createAlert,
getAlertsByUserId,
getAlertsByMonitorId,
getAlertById,
editAlert,
deleteAlert,
deleteAlertByMonitorId,
deleteMonitorsByUserId,
createPageSpeedCheck,
getPageSpeedChecks,
2024-08-02 11:38:38 -07:00
deletePageSpeedChecksByMonitorId,
2024-07-30 10:01:52 -07:00
createMaintenanceWindow,
getMaintenanceWindowsByUserId,
getMaintenanceWindowsByMonitorId,
deleteMaintenaceWindowById,
deleteMaintenanceWindowByMonitorId,
deleteMaintenanceWindowByUserId,
2024-07-30 13:23:14 -07:00
createNotification,
getNotificationsByMonitorId,
2024-07-30 13:25:56 -07:00
deleteNotificationsByMonitorId,
2024-07-26 18:25:20 -07:00
};