@o-galaxy/ether
Version:
Rest Api Framework
25 lines (24 loc) • 1.05 kB
TypeScript
import { Router, RequestHandler } from "express";
import { GuardFn } from "../models/guard";
import { RouteWrapperHandler } from '../models/route-wrapper-handler';
export interface ControllerMethodDefinition {
route: string;
apiMethod: ApiMethod;
middlewares: Array<RequestHandler>;
wrappers: Array<RouteWrapperHandler>;
validators: Array<RequestHandler>;
classMethodName: string;
}
export declare type ApiMethod = 'POST' | 'GET' | 'PUT' | 'DELETE' | 'PATCH' | 'ALL';
export declare class ControllerDefContainer {
gourds: Array<GuardFn>;
methodDefinitionsMap: Map<string, ControllerMethodDefinition>;
path: string;
constructor();
addMiddleware(cb: RequestHandler, classMethodName: string): void;
addWrapper(cb: RouteWrapperHandler, classMethodName: string): void;
setPath(path: string): void;
addMethod(route: string, validators: Array<RequestHandler>, apiMethod: ApiMethod, classMethodName: string): void;
private applyWrappers;
initRouter(router: Router, classContext: any): Router;
}