@sauce-api/core
Version:
Sauce API core functionality
55 lines (54 loc) • 1.73 kB
TypeScript
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;
}