UNPKG

@sauce-api/core

Version:

Sauce API core functionality

55 lines (54 loc) 1.73 kB
import { policyList } from "../routes/Policies"; import { ObjectOfAnything } from "../resources/Common"; import { Sauce } from "../Sauce"; export declare class RouteValidator<custom = ObjectOfAnything> { protected Sauce: Sauce<custom>; protected req: Sauce["req"]; protected currentRoute: Sauce["currentRoute"]; protected res: Sauce["res"]; protected next: Sauce["next"]; protected route: Sauce["currentRoute"]; protected config: Sauce["config"]; /** * @param {Sauce<custom>} Sauce instance of Sauce class. * @return {void} */ constructor(Sauce: Sauce<custom>); /** * Checks the policies for the current route. * @param {policyList<custom>} policyList policies defined for the route. * @return {Promise<void>} */ checkPolicies(policyList: policyList<custom>): Promise<void>; /** * Runs validations for path, query and request body params. * @return {Promise<void>} */ runValidations(): Promise<void>; /** * Validates the path parameters. * @return {Promise<RouteParam[]>} */ private validatePathParams; /** * Validates the query parameters. * @return {Promise<RouteParam[]>} */ private validateQueryParams; /** * Validates the request body parameters. * @return {Promise<RouteParam[]>} */ private validateReqBody; private validateReqBodyParams; private validateReqBodyParam; private processBodyReqRow; private runCustomParamValidator; private validateRequiredParam; private validateEnumParam; private validateParamType; private validatePathParamType; private isValidTypes; private convertType; private parseBool; }