38 lines
678 B
TypeScript
38 lines
678 B
TypeScript
import { Monitor } from './config'
|
|
|
|
type MonitorState = {
|
|
lastUpdate: number
|
|
overallUp: number
|
|
overallDown: number
|
|
incident: Record<
|
|
string,
|
|
{
|
|
start: number[]
|
|
end: number | undefined // undefined if it's still open
|
|
error: string[]
|
|
}[]
|
|
>
|
|
|
|
latency: Record<
|
|
string,
|
|
{
|
|
recent: {
|
|
loc: string
|
|
ping: number
|
|
time: number
|
|
}[] // recent 12 hour data, 2 min interval
|
|
all: {
|
|
loc: string
|
|
ping: number
|
|
time: number
|
|
}[] // all data in 90 days, 1 hour interval
|
|
}
|
|
>
|
|
}
|
|
|
|
type MonitorTarget = Monitor & {
|
|
body?: BodyInit
|
|
}
|
|
|
|
export type { MonitorState, MonitorTarget }
|