Openstatus
www.openstatus.dev
1import type { z } from "zod";
2
3import type { assertion } from "./v1";
4
5export type HttpAssertionRequest = {
6 body: string;
7 header: Record<string, string>;
8 status: number;
9};
10
11export type DnsAssertionRequest = {
12 records: Partial<Record<string, string[]>>;
13};
14
15export type AssertionRequest = HttpAssertionRequest | DnsAssertionRequest;
16
17export type AssertionResult =
18 | {
19 success: true;
20 message?: never;
21 }
22 | {
23 success: false;
24 message: string;
25 };
26export interface Assertion {
27 schema: z.infer<typeof assertion>;
28 assert: (req: AssertionRequest) => AssertionResult;
29}