feat(interfaces): add structured data models and discriminated check configs; migrate tooling and package metadata
This commit is contained in:
57
ts/data/statuspageconfig.ts
Normal file
57
ts/data/statuspageconfig.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user