mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-26 19:59:12 -06:00
175 lines
3.7 KiB
JavaScript
175 lines
3.7 KiB
JavaScript
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;
|
|
}
|
|
};
|
|
|
|
const checkAdmin = async (req, res) => {
|
|
try {
|
|
const admin = await UserModel.findOne({ role: "admin" });
|
|
if (admin !== null) {
|
|
return true;
|
|
}
|
|
return false;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
//****************************************
|
|
// User Operations
|
|
//****************************************
|
|
|
|
const {
|
|
insertUser,
|
|
getUserByEmail,
|
|
updateUser,
|
|
deleteUser,
|
|
getAllUsers,
|
|
} = require("./modules/userModule");
|
|
|
|
//****************************************
|
|
// Invite Token Operations
|
|
//****************************************
|
|
|
|
const {
|
|
requestInviteToken,
|
|
getInviteToken,
|
|
} = require("./modules/inviteModule");
|
|
|
|
//****************************************
|
|
// Recovery Operations
|
|
//****************************************
|
|
const {
|
|
requestRecoveryToken,
|
|
validateRecoveryToken,
|
|
resetPassword,
|
|
} = require("./modules/recoveryModule");
|
|
|
|
//****************************************
|
|
// Monitors
|
|
//****************************************
|
|
|
|
const {
|
|
getAllMonitors,
|
|
getMonitorById,
|
|
getMonitorsByUserId,
|
|
createMonitor,
|
|
deleteMonitor,
|
|
deleteAllMonitors,
|
|
deleteMonitorsByUserId,
|
|
editMonitor,
|
|
} = require("./modules/monitorModule");
|
|
|
|
//****************************************
|
|
// Page Speed Checks
|
|
//****************************************
|
|
|
|
const {
|
|
createPageSpeedCheck,
|
|
getPageSpeedChecks,
|
|
deletePageSpeedChecksByMonitorId,
|
|
} = require("./modules/pageSpeedCheckModule");
|
|
|
|
//****************************************
|
|
// Checks
|
|
//****************************************
|
|
|
|
const {
|
|
createCheck,
|
|
getChecksCount,
|
|
getChecks,
|
|
getUserChecks,
|
|
deleteChecks,
|
|
} = require("./modules/checkModule");
|
|
|
|
//****************************************
|
|
// Alerts
|
|
//****************************************
|
|
|
|
const {
|
|
createAlert,
|
|
getAlertsByUserId,
|
|
getAlertsByMonitorId,
|
|
getAlertById,
|
|
editAlert,
|
|
deleteAlert,
|
|
deleteAlertByMonitorId,
|
|
} = require("./modules/alertModule");
|
|
|
|
//****************************************
|
|
// Maintenance Window
|
|
//****************************************
|
|
const {
|
|
createMaintenanceWindow,
|
|
getMaintenanceWindowsByUserId,
|
|
getMaintenanceWindowsByMonitorId,
|
|
deleteMaintenaceWindowById,
|
|
deleteMaintenanceWindowByMonitorId,
|
|
deleteMaintenanceWindowByUserId,
|
|
} = require("./modules/maintenaceWindowModule");
|
|
|
|
const {
|
|
createNotification,
|
|
getNotificationsByMonitorId,
|
|
deleteNotificationsByMonitorId,
|
|
} = require("./modules/notificationModule");
|
|
|
|
module.exports = {
|
|
connect,
|
|
insertUser,
|
|
getUserByEmail,
|
|
updateUser,
|
|
deleteUser,
|
|
getAllUsers,
|
|
requestInviteToken,
|
|
getInviteToken,
|
|
requestRecoveryToken,
|
|
validateRecoveryToken,
|
|
resetPassword,
|
|
checkAdmin,
|
|
getAllMonitors,
|
|
getMonitorById,
|
|
getMonitorsByUserId,
|
|
createMonitor,
|
|
deleteMonitor,
|
|
deleteAllMonitors,
|
|
editMonitor,
|
|
createCheck,
|
|
getChecksCount,
|
|
getChecks,
|
|
getUserChecks,
|
|
deleteChecks,
|
|
createAlert,
|
|
getAlertsByUserId,
|
|
getAlertsByMonitorId,
|
|
getAlertById,
|
|
editAlert,
|
|
deleteAlert,
|
|
deleteAlertByMonitorId,
|
|
deleteMonitorsByUserId,
|
|
createPageSpeedCheck,
|
|
getPageSpeedChecks,
|
|
deletePageSpeedChecksByMonitorId,
|
|
createMaintenanceWindow,
|
|
getMaintenanceWindowsByUserId,
|
|
getMaintenanceWindowsByMonitorId,
|
|
deleteMaintenaceWindowById,
|
|
deleteMaintenanceWindowByMonitorId,
|
|
deleteMaintenanceWindowByUserId,
|
|
createNotification,
|
|
getNotificationsByMonitorId,
|
|
deleteNotificationsByMonitorId,
|
|
};
|