Files
Checkmate/Server/db/models/HardwareCheck.js
T

67 lines
1.7 KiB
JavaScript
Raw Normal View History

2024-10-21 10:58:16 +08:00
import mongoose from "mongoose";
2024-10-30 10:20:42 +08:00
import { BaseCheckSchema } from "./Check.js";
2024-10-21 10:58:16 +08:00
const cpuSchema = mongoose.Schema({
physical_core: { type: Number, default: 0 },
logical_core: { type: Number, default: 0 },
frequency: { type: Number, default: 0 },
temperature: { type: Number, default: 0 },
free_percent: { type: Number, default: 0 },
usage_percent: { type: Number, default: 0 },
});
const memorySchema = mongoose.Schema({
total_bytes: { type: Number, default: 0 },
available_bytes: { type: Number, default: 0 },
used_bytes: { type: Number, default: 0 },
usage_percent: { type: Number, default: 0 },
});
2024-10-23 12:05:12 +08:00
const diskSchema = mongoose.Schema({
2024-10-21 10:58:16 +08:00
read_speed_bytes: { type: Number, default: 0 },
write_speed_bytes: { type: Number, default: 0 },
total_bytes: { type: Number, default: 0 },
free_bytes: { type: Number, default: 0 },
usage_percent: { type: Number, default: 0 },
});
const hostSchema = mongoose.Schema({
os: { type: String, default: "" },
platform: { type: String, default: "" },
kernel_version: { type: String, default: "" },
});
const errorSchema = mongoose.Schema({
metric: { type: [String], default: [] },
err: { type: String, default: "" },
});
2024-10-21 10:58:16 +08:00
const HardwareCheckSchema = mongoose.Schema(
{
2024-10-30 10:20:42 +08:00
...BaseCheckSchema.obj,
2024-10-21 10:58:16 +08:00
cpu: {
type: cpuSchema,
default: () => ({}),
},
memory: {
type: memorySchema,
default: () => ({}),
},
disk: {
2024-10-23 12:05:12 +08:00
type: [diskSchema],
default: () => [],
2024-10-21 10:58:16 +08:00
},
host: {
type: hostSchema,
default: () => ({}),
},
errors: {
type: [errorSchema],
default: () => [],
},
2024-10-21 10:58:16 +08:00
},
{ timestamps: true }
);
2024-10-30 10:20:42 +08:00
HardwareCheckSchema.index({ createdAt: 1 });
2024-10-21 10:58:16 +08:00
export default mongoose.model("HardwareCheck", HardwareCheckSchema);