use repos

This commit is contained in:
Alex Holliday committed 2026-01-06 22:53:54 +00:00
1 parent 052b9377bc
commit 61bf2a0dfb
28 files changed
+589 -113

No files matched your search

@@ -1,6 +1,8 @@
import mongoose, { Schema, Document, Types } from "mongoose";
export const MaintenanceRepeats = ["no repeat", "daily", "weekly"] as const;
export type MaintenanceRepeat = (typeof MaintenanceRepeats)[number];
import {
type MaintenanceRepeat,
MaintenanceRepeats,
} from "@/types/domain/index.js";
export interface IMaintenance extends Document {
_id: Types.ObjectId;
orgId: Types.ObjectId;
+3 -2
View File
@@ -1,4 +1,6 @@
import mongoose, { Schema } from "mongoose";
import type { IStatsBase } from "./StatsHourly.js";
import type {
IInfraCpu,
IInfraDiskEntry,
@@ -6,8 +8,7 @@ import type {
IInfraMemory,
IInfraNetEntry,
IPageSpeedMetrics,
IStatsBase,
} from "./StatsHourly.js";
} from "@/types/domain/index.js";
export interface IStatsDaily
extends mongoose.Document,
+9 -69
View File
@@ -1,5 +1,13 @@
import mongoose, { Schema, Types } from "mongoose";
import type { MonitorType } from "@/types/domain/index.js";
import type {
IInfraCpu,
IPageSpeedMetrics,
IInfraMemory,
IInfraDiskEntry,
IInfraHost,
IInfraNetEntry,
MonitorType,
} from "@/types/domain/index.js";
// Common/base metrics across monitor types
export interface IStatsBase {
@@ -19,74 +27,6 @@ export interface IStatsBase {
updatedAt: Date;
}
// Pagespeed rollups (averages per window)
export interface IPageSpeedMetrics {
accessibility?: number;
bestPractices?: number;
seo?: number;
performance?: number;
cls?: number;
si?: number;
fcp?: number;
lcp?: number;
tbt?: number;
}
// Infrastructure rollups
export interface IInfraCpu {
physical_core?: number;
logical_core?: number;
frequency?: number;
current_frequency?: number;
temperature?: number[]; // averaged per sensor index
free_percent?: number;
used_percent?: number;
}
export interface IInfraMemory {
total_bytes?: number;
available_bytes?: number;
used_bytes?: number;
usage_percent?: number;
}
export interface IInfraDiskEntry {
device?: string;
total_bytes?: number;
free_bytes?: number;
used_bytes?: number;
usage_percent?: number;
total_inodes?: number;
free_inodes?: number;
used_inodes?: number;
inodes_usage_percent?: number;
read_bytes?: number;
write_bytes?: number;
read_time?: number;
write_time?: number;
}
export interface IInfraHost {
os?: string;
platform?: string;
kernel_version?: string;
pretty_name?: string;
}
export interface IInfraNetEntry {
name?: string;
bytes_sent?: number;
bytes_recv?: number;
packets_sent?: number;
packets_recv?: number;
err_in?: number;
err_out?: number;
drop_in?: number;
drop_out?: number;
fifo_in?: number;
fifo_out?: number;
}
export interface IStatsHourly
extends mongoose.Document,
IStatsBase,