UNPKG

@paroicms/server

Version:
21 lines (20 loc) 1.86 kB
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"; import { type PaRouteParams } from "./http-helpers.js"; export declare function loadPaSiteContextMiddleware(req: Request, res: Response, next: NextFunction): Promise<void>; export type PaRouteController = (siteContext: SiteContext, httpContext: PaHttpContext, routeParams: PaRouteParams) => Promise<unknown>; export type PaMigrationCapableRouteController = (siteContext: SiteContext | MigrationSiteContext, httpContext: PaHttpContext, routeParams: PaRouteParams) => 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>;