27 lines
961 B
TypeScript
27 lines
961 B
TypeScript
import type { ReactNode } from "react";
|
|
import { CONTENT_ROUTE_HANDLERS } from "./domains/content/route-handlers";
|
|
import { PEOPLE_ROUTE_HANDLERS } from "./domains/people/route-handlers";
|
|
import { SYSTEM_ROUTE_HANDLERS } from "./domains/system/route-handlers";
|
|
import type { HousekeepingCapabilityContext } from "./foundation/contracts";
|
|
import type { HousekeepingRouteMatch } from "./foundation/routing/match-route";
|
|
|
|
export interface HousekeepingPageInput {
|
|
readonly context: HousekeepingCapabilityContext;
|
|
readonly match: HousekeepingRouteMatch;
|
|
readonly searchParams?: Readonly<
|
|
Record<string, string | readonly string[] | undefined>
|
|
>;
|
|
}
|
|
|
|
export interface HousekeepingRouteHandler {
|
|
routeId: string;
|
|
render(input: HousekeepingPageInput): Promise<ReactNode>;
|
|
}
|
|
|
|
export const HOUSEKEEPING_ROUTE_HANDLERS: readonly HousekeepingRouteHandler[] =
|
|
Object.freeze([
|
|
...PEOPLE_ROUTE_HANDLERS,
|
|
...CONTENT_ROUTE_HANDLERS,
|
|
...SYSTEM_ROUTE_HANDLERS,
|
|
]);
|