UNPKG

express-openapi-validate

Version:

Express middleware to validate request based on an OpenAPI 3 document

132 lines 3.31 kB
export default interface OpenApiDocument { openapi: string; info: InfoObject; servers?: any[]; paths: PathsObject; components?: ComponentsObject; security?: any[]; tags?: any[]; externalDocs?: any; } export interface InfoObject { title: string; description?: string; termsOfService?: string; contact?: any; license?: any; version: string; } export interface SchemaObject { type?: string; items?: SchemaObject; properties?: { [property: string]: SchemaObject; }; nullable?: boolean; required?: string[]; allOf?: SchemaObject[]; anyOf?: SchemaObject[]; oneOf?: SchemaObject[]; not?: SchemaObject; additionalProperties?: boolean | SchemaObject; } export interface ComponentsObject { schemas?: { [index: string]: SchemaObject; }; responses?: { [index: string]: any; }; parameters?: { [index: string]: any; }; examples?: { [index: string]: any; }; requestBodies?: { [index: string]: any; }; headers?: { [index: string]: any; }; securitySchemes?: { [index: string]: any; }; links?: { [index: string]: any; }; callbacks?: { [index: string]: any; }; } export declare type Operation = "get" | "put" | "post" | "delete" | "options" | "head" | "patch" | "trace"; export interface PathsObject { [path: string]: PathItemObject; } export interface PathItemObject { $ref?: string; summary?: string; description?: string; get?: OperationObject; put?: OperationObject; post?: OperationObject; delete?: OperationObject; options?: OperationObject; head?: OperationObject; patch?: OperationObject; trace?: OperationObject; servers?: any[]; parameters?: Array<ParameterObject | ReferenceObject>; } export interface OperationObject { tags?: string[]; summary?: string; description?: string; externalDocs?: any; operationId?: any; parameters?: Array<ParameterObject | ReferenceObject>; requestBody?: RequestBodyObject; responses: any; callbacks?: any; deprecated?: boolean; security?: any[]; servers?: any[]; } export declare type ParameterLocation = "query" | "header" | "path" | "cookie"; export declare type ParameterStyle = "matrix" | "label" | "form" | "simple" | "spaceDelimited" | "pipeDelimited" | "deepObject"; export interface ParameterObject { name: string; in: ParameterLocation; description?: string; required?: boolean; deprecated?: boolean; allowEmptyValue?: boolean; style?: ParameterStyle; explode?: boolean; allowReserved?: boolean; schema?: SchemaObject | ReferenceObject; example?: any; examples?: { [mediaType: string]: any; }; content?: { [mediaType: string]: MediaTypeObject; }; } export interface RequestBodyObject { description?: string; required?: boolean; content: { [mediaType: string]: MediaTypeObject; }; } export interface MediaTypeObject { schema?: SchemaObject | ReferenceObject; example?: any; examples?: any; encoding?: any; } export interface ReferenceObject { $ref: string; } //# sourceMappingURL=OpenApiDocument.d.ts.map