use repos
This commit is contained in:
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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user