feat(monitor): add extended monitor statuses, check configuration, status overrides/paused indicators, and incident update templates
This commit is contained in:
@@ -1,10 +1,33 @@
|
||||
// Re-export interfaces from the public catalog for consistency
|
||||
|
||||
// Status types
|
||||
export type TStatusType = 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance' | 'initializing' | 'error' | 'paused';
|
||||
export type TCheckType = 'assumption' | 'function' | 'pwa' | 'pagerank';
|
||||
export type TStatusMode = 'auto' | 'manual';
|
||||
|
||||
// Check configuration interface
|
||||
export interface ICheckConfig {
|
||||
domain: string;
|
||||
// Assumption check fields
|
||||
expectedTitle?: string;
|
||||
expectedStatusCode?: string;
|
||||
expectedDescription?: string;
|
||||
// Function check fields
|
||||
functionDef?: string;
|
||||
// PageRank check fields
|
||||
searchTerm?: string;
|
||||
checkBing?: boolean;
|
||||
checkGoogle?: boolean;
|
||||
bingMinRank?: number;
|
||||
googleMinRank?: number;
|
||||
}
|
||||
|
||||
export interface IServiceStatus {
|
||||
id: string;
|
||||
name: string;
|
||||
displayName: string;
|
||||
description?: string;
|
||||
currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
||||
currentStatus: TStatusType;
|
||||
lastChecked: number;
|
||||
uptime30d: number;
|
||||
uptime90d: number;
|
||||
@@ -12,11 +35,19 @@ export interface IServiceStatus {
|
||||
category?: string;
|
||||
dependencies?: string[];
|
||||
selected?: boolean;
|
||||
// Status management
|
||||
statusMode?: TStatusMode;
|
||||
manualStatus?: TStatusType;
|
||||
paused?: boolean;
|
||||
// Check configuration
|
||||
checkType?: TCheckType;
|
||||
checkConfig?: ICheckConfig;
|
||||
intervalMs?: number;
|
||||
}
|
||||
|
||||
export interface IStatusHistoryPoint {
|
||||
timestamp: number;
|
||||
status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
||||
status: TStatusType;
|
||||
responseTime?: number;
|
||||
errorRate?: number;
|
||||
}
|
||||
@@ -44,7 +75,7 @@ export interface IIncidentDetails {
|
||||
}
|
||||
|
||||
export interface IOverallStatus {
|
||||
status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
||||
status: TStatusType;
|
||||
message: string;
|
||||
lastUpdated: number;
|
||||
affectedServices: number;
|
||||
@@ -77,7 +108,14 @@ export interface IMonitorFormData {
|
||||
description?: string;
|
||||
category?: string;
|
||||
dependencies?: string[];
|
||||
currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
||||
// Status management
|
||||
statusMode: TStatusMode;
|
||||
manualStatus?: TStatusType;
|
||||
paused: boolean;
|
||||
// Check configuration
|
||||
checkType: TCheckType;
|
||||
checkConfig: ICheckConfig;
|
||||
intervalMs: number;
|
||||
}
|
||||
|
||||
export interface IIncidentFormData {
|
||||
|
||||
Reference in New Issue
Block a user