mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-01 23:29:39 -06:00
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import mongoose from "mongoose";
|
|
import { BaseCheckSchema } from "./Check.js";
|
|
|
|
const networkInterfaceSchema = mongoose.Schema({
|
|
name: { type: String, required: true },
|
|
bytes_sent: { type: Number, default: 0 },
|
|
bytes_recv: { type: Number, default: 0 },
|
|
packets_sent: { type: Number, default: 0 },
|
|
packets_recv: { type: Number, default: 0 },
|
|
err_in: { type: Number, default: 0 },
|
|
err_out: { type: Number, default: 0 },
|
|
drop_in: { type: Number, default: 0 },
|
|
drop_out: { type: Number, default: 0 },
|
|
fifo_in: { type: Number, default: 0 },
|
|
fifo_out: { type: Number, default: 0 },
|
|
});
|
|
|
|
const captureSchema = mongoose.Schema({
|
|
version: { type: String, default: "" },
|
|
mode: { type: String, default: "" },
|
|
});
|
|
|
|
const NetworkCheckSchema = mongoose.Schema(
|
|
{
|
|
...BaseCheckSchema.obj,
|
|
data: {
|
|
type: [networkInterfaceSchema],
|
|
default: () => [],
|
|
},
|
|
capture: {
|
|
type: captureSchema,
|
|
default: () => ({}),
|
|
},
|
|
errors: {
|
|
type: mongoose.Schema.Types.Mixed,
|
|
default: null,
|
|
},
|
|
},
|
|
{ timestamps: true }
|
|
);
|
|
|
|
NetworkCheckSchema.index({ createdAt: 1 });
|
|
NetworkCheckSchema.index({ monitorId: 1, createdAt: 1 });
|
|
NetworkCheckSchema.index({ monitorId: 1, createdAt: -1 });
|
|
|
|
export default mongoose.model("NetworkCheck", NetworkCheckSchema);
|