Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /**
* VersedMiddleware
* if want to pass to next middleware. Please call next without returning value;
* if want to intercept and response. Please return a non undefined value.
*
* You should take care of the returned value of await next(). And return it directly to allow interception
*/
import { Context } from "@versed/context";
export type VersedMiddleware = (ctx: Context, next: Function) => Promise<any>;
export type APIHandler = VersedMiddleware;
export interface APIDefinition {
summary: string;
method: string;
path: string;
tags?: string[];
handler: string | APIHandler;
handlerId?: string;
securityPolicy?: VersedMiddleware;
request?: {
query?: any;
cookie?: any;
body?: any;
};
response?: any;
}
export interface APIErrorResponse {
message: string;
code: string;
status: number;
data: object;
}
export const APIGroup = (groupName: string, apis: APIDefinition[]): APIDefinition[] => {
for (const api of apis) {
api.tags = api.tags || [];
api.tags.push(groupName);
}
return apis;
};
|