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 | import { Injectable } from '@nestjs/common'; export interface RouteDefinition { path: string; method: string; version: string; isPublic: boolean; isMobile: boolean; isDeprecated: boolean; deprecatedAt?: string; replacedBy?: string; rateLimit?: { limit: number; ttl: number }; requiresIdempotency?: boolean; module?: string; } @Injectable() export class ApiRouteRegistry { private readonly routes = new Map<string, RouteDefinition>(); register(route: RouteDefinition): void { const key = `${route.method}:${route.path}`; this.routes.set(key, route); } getAll(): RouteDefinition[] { return Array.from(this.routes.values()); } get(method: string, path: string): RouteDefinition | undefined { return this.routes.get(`${method}:${path}`); } getDeprecated(): RouteDefinition[] { return Array.from(this.routes.values()).filter((r) => r.isDeprecated); } } |