mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-08 18:59:43 -06:00
47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
import NetworkCheck from "../../models/NetworkCheck.js";
|
|
import logger from "../../../utils/logger.js";
|
|
|
|
const SERVICE_NAME = "networkCheckModule";
|
|
|
|
const createNetworkCheck = async (networkCheckData) => {
|
|
try {
|
|
const { monitorId, status } = networkCheckData;
|
|
const n = (await NetworkCheck.countDocuments({ monitorId })) + 1;
|
|
|
|
const networkCheck = await new NetworkCheck({
|
|
...networkCheckData,
|
|
n,
|
|
});
|
|
|
|
await networkCheck.save();
|
|
return networkCheck;
|
|
} catch (error) {
|
|
logger.error({
|
|
message: error.message,
|
|
service: SERVICE_NAME,
|
|
method: "createNetworkCheck",
|
|
stack: error.stack,
|
|
});
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
const getNetworkChecksByMonitorId = async (monitorId, limit = 100) => {
|
|
try {
|
|
const networkChecks = await NetworkCheck.find({ monitorId })
|
|
.sort({ createdAt: -1 })
|
|
.limit(limit);
|
|
return networkChecks;
|
|
} catch (error) {
|
|
logger.error({
|
|
message: error.message,
|
|
service: SERVICE_NAME,
|
|
method: "getNetworkChecksByMonitorId",
|
|
stack: error.stack,
|
|
});
|
|
throw error;
|
|
}
|
|
};
|
|
|
|
export { createNetworkCheck, getNetworkChecksByMonitorId };
|