feat(interfaces): add structured data models and discriminated check configs; migrate tooling and package metadata

This commit is contained in:
2025-12-26 18:20:01 +00:00
parent add4a52635
commit da0bdc0564
23 changed files with 7721 additions and 3689 deletions

View File

@@ -0,0 +1,57 @@
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;
}