89 lines
2.6 KiB
TypeScript
89 lines
2.6 KiB
TypeScript
export interface IServiceStatus {
|
|
id: string;
|
|
name: string;
|
|
displayName: string;
|
|
description?: string;
|
|
currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
|
lastChecked: number;
|
|
uptime30d: number;
|
|
uptime90d: number;
|
|
responseTime: number;
|
|
category?: string;
|
|
dependencies?: string[];
|
|
selected?: boolean;
|
|
}
|
|
export interface IStatusHistoryPoint {
|
|
timestamp: number;
|
|
status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
|
responseTime?: number;
|
|
errorRate?: number;
|
|
}
|
|
export interface IIncidentUpdate {
|
|
id: string;
|
|
timestamp: number;
|
|
status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
|
|
message: string;
|
|
author?: string;
|
|
}
|
|
export interface IIncidentDetails {
|
|
id: string;
|
|
title: string;
|
|
status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
|
|
severity: 'critical' | 'major' | 'minor' | 'maintenance';
|
|
affectedServices: string[];
|
|
startTime: number;
|
|
endTime?: number;
|
|
updates: IIncidentUpdate[];
|
|
impact: string;
|
|
rootCause?: string;
|
|
resolution?: string;
|
|
}
|
|
export interface IOverallStatus {
|
|
status: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
|
message: string;
|
|
lastUpdated: number;
|
|
affectedServices: number;
|
|
totalServices: number;
|
|
}
|
|
export interface IStatusPageConfig {
|
|
apiEndpoint?: string;
|
|
refreshInterval?: number;
|
|
timeZone?: string;
|
|
dateFormat?: string;
|
|
enableWebSocket?: boolean;
|
|
enableNotifications?: boolean;
|
|
theme?: 'light' | 'dark' | 'auto';
|
|
language?: string;
|
|
showHistoricalDays?: number;
|
|
whitelabel?: boolean;
|
|
companyName?: string;
|
|
companyLogo?: string;
|
|
supportEmail?: string;
|
|
statusPageUrl?: string;
|
|
legalUrl?: string;
|
|
}
|
|
export interface IMonitorFormData {
|
|
id?: string;
|
|
name: string;
|
|
displayName: string;
|
|
description?: string;
|
|
category?: string;
|
|
dependencies?: string[];
|
|
currentStatus: 'operational' | 'degraded' | 'partial_outage' | 'major_outage' | 'maintenance';
|
|
}
|
|
export interface IIncidentFormData {
|
|
id?: string;
|
|
title: string;
|
|
severity: 'critical' | 'major' | 'minor' | 'maintenance';
|
|
status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
|
|
affectedServices: string[];
|
|
impact: string;
|
|
rootCause?: string;
|
|
resolution?: string;
|
|
}
|
|
export interface IIncidentUpdateFormData {
|
|
status: 'investigating' | 'identified' | 'monitoring' | 'resolved' | 'postmortem';
|
|
message: string;
|
|
author?: string;
|
|
}
|