Files
interfaces/ts/data/statuspageconfig.ts

58 lines
1.1 KiB
TypeScript

import type { IOverallStatus } from './servicestatus.js';
// ============================================
// Service Group
// ============================================
/**
* A group of related services displayed together.
*/
export interface IServiceGroup {
id: string;
name: string;
description?: string;
serviceIds: string[];
expanded: boolean;
order?: number;
}
// ============================================
// Status Page Configuration
// ============================================
/**
* Configuration for a public status page.
*/
export interface IStatusPageConfig {
id: string;
name: string;
slug: string;
// Branding
logoUrl?: string;
faviconUrl?: string;
primaryColor?: string;
customCss?: string;
// Content
headerTitle: string;
headerDescription?: string;
footerText?: string;
// Features
showHistoricalUptime: boolean;
showResponseTime: boolean;
showSubscribeButton: boolean;
showIncidentHistory: boolean;
// Service grouping
serviceGroups: IServiceGroup[];
// Overall status override
overallStatus?: IOverallStatus;
// Custom domain
customDomain?: string;
sslEnabled?: boolean;
}