UNPKG

n8n

Version:

n8n Workflow Automation Tool

39 lines (38 loc) 1.92 kB
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[];