n8n
Version:
n8n Workflow Automation Tool
39 lines (38 loc) • 1.92 kB
TypeScript
import type { ZodClass } from '@n8n/api-types';
import type { ApiKeyScopeRequirement, Arg, Controller, DeprecationInfo, HandlerName, Method, ResponseDtoClass, SuccessStatus } from '@n8n/decorators';
import type { ApiKeyScope } from '@n8n/permissions';
export declare const HTTP_METHODS: readonly ['get', 'post', 'put', 'patch', 'delete', 'options', 'head', 'trace'];
export type HttpMethod = (typeof HTTP_METHODS)[number];
export type ResolvedRouteArg = {
type: 'param';
key: string;
} | {
type: 'body' | 'query';
dto: ZodClass;
};
export interface ResolvedPublicApiRoute {
controllerClass: Controller;
controllerName: string;
handlerName: HandlerName;
method: Method;
path: string;
args: ResolvedRouteArg[];
requestBodyDto?: ZodClass;
requestQueryDto?: ZodClass;
responseDto?: ResponseDtoClass;
successStatus: SuccessStatus;
apiKeyScope?: ApiKeyScopeRequirement;
summary?: string;
description?: string;
tags?: string[];
errorResponses?: number[];
deprecated?: DeprecationInfo;
}
export declare function resolveRouteArgs(controllerClass: Controller, handlerName: HandlerName, args: Arg[]): ResolvedRouteArg[];
export declare function resolveSuccessStatus(controllerName: string, handlerName: HandlerName, successStatus: SuccessStatus | undefined): SuccessStatus;
export declare function apiKeyScopesSatisfy(granted: readonly string[] | undefined, requirement: ApiKeyScopeRequirement): boolean;
export declare function scopesInRequirement(requirement: ApiKeyScopeRequirement): readonly ApiKeyScope[];
export declare function scopeRequirementFromString(serialized: string): ApiKeyScopeRequirement;
export declare function scopeRequirementToString(requirement: ApiKeyScopeRequirement): string;
export declare function toOpenApiPathTemplate(path: string): string;
export declare function resolvePublicApiRoutes(): ResolvedPublicApiRoute[];