@paroicms/server
Version:
The ParoiCMS server
20 lines (19 loc) • 1.84 kB
TypeScript
import type { PaHttpContext } from "@paroicms/public-server-lib";
import type { NextFunction, Request, Response } from "express";
import type { MigrationSiteContext, SiteContext } from "../site-context/site-context.types.js";
import type { ExpressMiddleware } from "./express-utils.js";
export declare function loadPaSiteContextMiddleware(req: Request, res: Response, next: NextFunction): Promise<void>;
export type PaRouteController = (siteContext: SiteContext, httpContext: PaHttpContext, routeParams: Record<string, string | undefined>) => Promise<unknown>;
export type PaMigrationCapableRouteController = (siteContext: SiteContext | MigrationSiteContext, httpContext: PaHttpContext, routeParams: Record<string, string | undefined>) => Promise<unknown>;
export declare function wrapRouteController(handler: PaRouteController): (req: Request, res: Response, next: NextFunction) => Promise<void>;
export declare function wrapRouteController(handler: PaMigrationCapableRouteController, options: {
allowMigration: true;
}): (req: Request, res: Response, next: NextFunction) => Promise<void>;
export type PaReqHandler = (siteContext: SiteContext, httpContext: PaHttpContext) => Promise<boolean>;
export type PaMigrationCapableReqHandler = (siteContext: SiteContext | MigrationSiteContext, httpContext: PaHttpContext) => Promise<boolean>;
export declare function reqHandlerToExpressMiddleware(handler: PaReqHandler): ExpressMiddleware;
export declare function reqHandlerToExpressMiddleware(handler: PaMigrationCapableReqHandler, options: {
allowMigration: true;
}): ExpressMiddleware;
export declare function mergeReqHandlers(handlers: PaReqHandler[]): PaReqHandler;
export declare function wrapExpressRoute(handler: (req: Request, res: Response) => Promise<unknown>): (req: Request, res: Response, next: NextFunction) => Promise<void>;