stratal 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application.d.ts +6 -0
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +1 -1
- package/dist/application.js.map +1 -1
- package/dist/middleware/middleware-configuration.service.d.ts +8 -2
- package/dist/middleware/middleware-configuration.service.d.ts.map +1 -1
- package/dist/middleware/middleware-configuration.service.js +32 -3
- package/dist/middleware/middleware-configuration.service.js.map +1 -1
- package/dist/middleware/types.d.ts +2 -0
- package/dist/middleware/types.d.ts.map +1 -1
- package/dist/router/constants.d.ts +7 -0
- package/dist/router/constants.d.ts.map +1 -1
- package/dist/router/constants.js +7 -0
- package/dist/router/constants.js.map +1 -1
- package/dist/router/decorators/controller.decorator.d.ts +8 -1
- package/dist/router/decorators/controller.decorator.d.ts.map +1 -1
- package/dist/router/decorators/controller.decorator.js +10 -0
- package/dist/router/decorators/controller.decorator.js.map +1 -1
- package/dist/router/decorators/http-method.decorator.d.ts +83 -0
- package/dist/router/decorators/http-method.decorator.d.ts.map +1 -0
- package/dist/router/decorators/http-method.decorator.js +113 -0
- package/dist/router/decorators/http-method.decorator.js.map +1 -0
- package/dist/router/decorators/index.d.ts +1 -0
- package/dist/router/decorators/index.d.ts.map +1 -1
- package/dist/router/decorators/index.js +1 -0
- package/dist/router/decorators/index.js.map +1 -1
- package/dist/router/decorators/route.decorator.d.ts +5 -2
- package/dist/router/decorators/route.decorator.d.ts.map +1 -1
- package/dist/router/decorators/route.decorator.js +4 -1
- package/dist/router/decorators/route.decorator.js.map +1 -1
- package/dist/router/hono-app.d.ts +2 -2
- package/dist/router/hono-app.d.ts.map +1 -1
- package/dist/router/hono-app.js +3 -3
- package/dist/router/hono-app.js.map +1 -1
- package/dist/router/index.d.ts +4 -3
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +3 -2
- package/dist/router/index.js.map +1 -1
- package/dist/router/services/route-registration.service.d.ts +24 -2
- package/dist/router/services/route-registration.service.d.ts.map +1 -1
- package/dist/router/services/route-registration.service.js +155 -13
- package/dist/router/services/route-registration.service.js.map +1 -1
- package/dist/router/types.d.ts +41 -2
- package/dist/router/types.d.ts.map +1 -1
- package/package.json +17 -15
|
@@ -4,7 +4,7 @@ import type { LoggerService } from '../logger';
|
|
|
4
4
|
import { type MiddlewareConfigEntry } from '../middleware';
|
|
5
5
|
import type { Constructor } from '../types';
|
|
6
6
|
import type { IController } from './controller';
|
|
7
|
-
import type { RouterEnv } from './types';
|
|
7
|
+
import type { RouterEnv, VersioningOptions } from './types';
|
|
8
8
|
/**
|
|
9
9
|
* HonoApp — extends OpenAPIHono with Stratal-specific setup
|
|
10
10
|
*
|
|
@@ -30,7 +30,7 @@ export declare class HonoApp extends OpenAPIHono<RouterEnv> {
|
|
|
30
30
|
* Configure module middleware, OpenAPI endpoints, controller routes, and 404 handler.
|
|
31
31
|
* Called once by Application.initialize().
|
|
32
32
|
*/
|
|
33
|
-
configure(middlewareConfigs: MiddlewareConfigEntry[], controllers: Constructor<IController>[]): void;
|
|
33
|
+
configure(middlewareConfigs: MiddlewareConfigEntry[], controllers: Constructor<IController>[], versioningOptions?: VersioningOptions | null): void;
|
|
34
34
|
private setupRequestScope;
|
|
35
35
|
private setupGlobalMiddleware;
|
|
36
36
|
private applyMiddlewareClasses;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono-app.d.ts","sourceRoot":"","sources":["../../src/router/hono-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAQ/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"hono-app.d.ts","sourceRoot":"","sources":["../../src/router/hono-app.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAQ/C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAO3D;;;;;;;;;GASG;AACH,qBAAa,OAAQ,SAAQ,WAAW,CAAC,SAAS,CAAC;IACjD,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAkB;gBAGjC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,aAAa;IAwCvB;;;OAGG;IACH,SAAS,CACP,iBAAiB,EAAE,qBAAqB,EAAE,EAC1C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,EACvC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,IAAI;IAqBP,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,sBAAsB;CAiB/B"}
|
package/dist/router/hono-app.js
CHANGED
|
@@ -69,17 +69,17 @@ export class HonoApp extends OpenAPIHono {
|
|
|
69
69
|
* Configure module middleware, OpenAPI endpoints, controller routes, and 404 handler.
|
|
70
70
|
* Called once by Application.initialize().
|
|
71
71
|
*/
|
|
72
|
-
configure(middlewareConfigs, controllers) {
|
|
72
|
+
configure(middlewareConfigs, controllers, versioningOptions) {
|
|
73
73
|
if (this.configured)
|
|
74
74
|
throw new HonoAppAlreadyConfiguredError();
|
|
75
75
|
// Module middleware
|
|
76
|
-
const middlewareConfigService = new MiddlewareConfigurationService(this._logger);
|
|
76
|
+
const middlewareConfigService = new MiddlewareConfigurationService(this._logger, versioningOptions ?? null);
|
|
77
77
|
middlewareConfigService.applyMiddlewares(this, middlewareConfigs, controllers, this._container);
|
|
78
78
|
// OpenAPI endpoints
|
|
79
79
|
const openAPIService = this._container.resolve(OPENAPI_TOKENS.OpenAPIService);
|
|
80
80
|
openAPIService.setupEndpoints(this, controllers);
|
|
81
81
|
// Controller routes
|
|
82
|
-
const routeRegistrationService = new RouteRegistrationService(this._logger);
|
|
82
|
+
const routeRegistrationService = new RouteRegistrationService(this._logger, versioningOptions ?? null);
|
|
83
83
|
routeRegistrationService.configure(this, controllers);
|
|
84
84
|
// 404 handler (must be last)
|
|
85
85
|
this.notFound((c) => { throw new RouteNotFoundError(c.req.path, c.req.method); });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hono-app.js","sourceRoot":"","sources":["../../src/router/hono-app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hono-app.js","sourceRoot":"","sources":["../../src/router/hono-app.ts"],"names":[],"mappings":"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"}
|
package/dist/router/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export type { IController } from './controller';
|
|
2
2
|
export type { Middleware } from './middleware.interface';
|
|
3
|
-
export type { ControllerOptions, RouteConfig, RouterEnv, RouteResponse, RouterVariables, SecurityScheme } from './types';
|
|
4
|
-
export { HTTP_METHODS, ROUTE_METADATA_KEYS, ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES } from './constants';
|
|
3
|
+
export type { ControllerOptions, HttpRouteMetadata, RouteConfig, RouterEnv, RouteResponse, RouterVariables, SecurityScheme, VersioningOptions } from './types';
|
|
4
|
+
export { HTTP_METHODS, ROUTE_METADATA_KEYS, ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES, VERSION_NEUTRAL } from './constants';
|
|
5
5
|
export { RouterContext } from './router-context';
|
|
6
6
|
export { HonoApp } from './hono-app';
|
|
7
7
|
export { RouteRegistrationService } from './services';
|
|
8
8
|
export { ROUTER_TOKENS } from './router.tokens';
|
|
9
|
-
export { Controller, getControllerOptions, getControllerRoute } from './decorators/controller.decorator';
|
|
9
|
+
export { Controller, getControllerOptions, getControllerRoute, getControllerVersion } from './decorators/controller.decorator';
|
|
10
|
+
export { All, Delete, Get, getHttpDecoratedMethods, getHttpRouteMetadata, Patch, Post, Put } from './decorators/http-method.decorator';
|
|
10
11
|
export { getDecoratedMethods, getRouteConfig, Route } from './decorators/route.decorator';
|
|
11
12
|
export * from './schemas';
|
|
12
13
|
export { ControllerRegistrationError, HonoAppAlreadyConfiguredError, OpenAPIRouteRegistrationError, OpenAPIValidationError, RouteNotFoundError } from './errors';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAG9J,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGvH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,OAAO,EACL,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3E,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAA;AACtI,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAGzF,cAAc,WAAW,CAAA;AAGzB,OAAO,EACL,2BAA2B,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,kBAAkB,EACtI,MAAM,UAAU,CAAA"}
|
package/dist/router/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
|
2
2
|
/// <reference path="./hono-middleware-augment.d.ts" />
|
|
3
3
|
// Router constants
|
|
4
|
-
export { HTTP_METHODS, ROUTE_METADATA_KEYS, ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES } from './constants';
|
|
4
|
+
export { HTTP_METHODS, ROUTE_METADATA_KEYS, ROUTER_CONTEXT_KEYS, SECURITY_SCHEMES, VERSION_NEUTRAL } from './constants';
|
|
5
5
|
// Router context
|
|
6
6
|
export { RouterContext } from './router-context';
|
|
7
7
|
// HonoApp
|
|
@@ -11,7 +11,8 @@ export { RouteRegistrationService } from './services';
|
|
|
11
11
|
// Router tokens
|
|
12
12
|
export { ROUTER_TOKENS } from './router.tokens';
|
|
13
13
|
// Decorators
|
|
14
|
-
export { Controller, getControllerOptions, getControllerRoute } from './decorators/controller.decorator';
|
|
14
|
+
export { Controller, getControllerOptions, getControllerRoute, getControllerVersion } from './decorators/controller.decorator';
|
|
15
|
+
export { All, Delete, Get, getHttpDecoratedMethods, getHttpRouteMetadata, Patch, Post, Put } from './decorators/http-method.decorator';
|
|
15
16
|
export { getDecoratedMethods, getRouteConfig, Route } from './decorators/route.decorator';
|
|
16
17
|
// Schemas
|
|
17
18
|
export * from './schemas';
|
package/dist/router/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AAOvD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AAOvD,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvH,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,kBAAkB;AAClB,OAAO,EACL,wBAAwB,EACzB,MAAM,YAAY,CAAA;AAEnB,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,aAAa;AACb,OAAO,EACL,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAC3E,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oCAAoC,CAAA;AACtI,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAEzF,UAAU;AACV,cAAc,WAAW,CAAA;AAEzB,SAAS;AACT,OAAO,EACL,2BAA2B,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,kBAAkB,EACtI,MAAM,UAAU,CAAA"}
|
|
@@ -2,7 +2,7 @@ import type { OpenAPIHono } from '../../i18n/validation';
|
|
|
2
2
|
import { type LoggerService } from '../../logger';
|
|
3
3
|
import type { Constructor } from '../../types';
|
|
4
4
|
import type { IController } from '../controller';
|
|
5
|
-
import type { RouterEnv } from '../types';
|
|
5
|
+
import type { RouterEnv, VersioningOptions } from '../types';
|
|
6
6
|
/**
|
|
7
7
|
* Route registration service
|
|
8
8
|
* Manages controller and route registration with OpenAPI support
|
|
@@ -16,8 +16,9 @@ import type { RouterEnv } from '../types';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class RouteRegistrationService {
|
|
18
18
|
private logger;
|
|
19
|
+
private versioningOptions;
|
|
19
20
|
private controllerClasses;
|
|
20
|
-
constructor(logger: LoggerService);
|
|
21
|
+
constructor(logger: LoggerService, versioningOptions?: VersioningOptions | null);
|
|
21
22
|
/**
|
|
22
23
|
* Configure router with controllers
|
|
23
24
|
*
|
|
@@ -30,6 +31,18 @@ export declare class RouteRegistrationService {
|
|
|
30
31
|
* Validates that controller has access decorator (strict mode)
|
|
31
32
|
*/
|
|
32
33
|
private registerController;
|
|
34
|
+
/**
|
|
35
|
+
* Dispatch route registration based on decorator type
|
|
36
|
+
*/
|
|
37
|
+
private dispatchRoutes;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve versioned paths for a controller based on versioning configuration.
|
|
40
|
+
*
|
|
41
|
+
* @param basePath - The base path from @Controller decorator
|
|
42
|
+
* @param controllerOpts - Controller options (may contain version)
|
|
43
|
+
* @returns Array of resolved paths (with version prefix if applicable)
|
|
44
|
+
*/
|
|
45
|
+
private resolveVersionedPaths;
|
|
33
46
|
/**
|
|
34
47
|
* Create a guard execution middleware
|
|
35
48
|
*
|
|
@@ -48,6 +61,15 @@ export declare class RouteRegistrationService {
|
|
|
48
61
|
* Register OpenAPI routes with metadata
|
|
49
62
|
*/
|
|
50
63
|
private registerOpenAPIRoutes;
|
|
64
|
+
/**
|
|
65
|
+
* Register routes using HTTP method decorators (@Get, @Post, etc.)
|
|
66
|
+
* These use explicit method + path instead of convention-based derivation
|
|
67
|
+
*/
|
|
68
|
+
private registerHttpRoutes;
|
|
69
|
+
/**
|
|
70
|
+
* Join a base path and a route path, normalizing slashes
|
|
71
|
+
*/
|
|
72
|
+
private joinPaths;
|
|
51
73
|
/**
|
|
52
74
|
* Register route without OpenAPI metadata (for hidden routes)
|
|
53
75
|
* Route is functional but won't appear in documentation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-registration.service.d.ts","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"route-registration.service.d.ts","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAgBhD,OAAO,KAAK,EAKV,SAAS,EAET,iBAAiB,EAClB,MAAM,UAAU,CAAA;AAGjB;;;;;;;;;;GAUG;AACH,qBAAa,wBAAwB;IAIjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IAJ3B,OAAO,CAAC,iBAAiB,CAA8C;gBAG7D,MAAM,EAAE,aAAa,EACrB,iBAAiB,GAAE,iBAAiB,GAAG,IAAW;IAG5D;;;;;OAKG;IACH,SAAS,CACP,GAAG,EAAE,WAAW,CAAC,SAAS,CAAC,EAC3B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,GACtC,IAAI;IAwBP;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAiC7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6F7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsF1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAkDnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAuCrB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAmHzB;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;CAsChC"}
|
|
@@ -2,10 +2,11 @@ import { getMethodInjections } from '../../di';
|
|
|
2
2
|
import { getControllerGuards, getMethodGuards, GuardExecutionService, } from '../../guards';
|
|
3
3
|
import { createRoute } from '../../i18n/validation';
|
|
4
4
|
import { HTTP_METHODS, METHOD_STATUS_CODES, SECURITY_SCHEMES } from '../constants';
|
|
5
|
-
import { getControllerOptions, getControllerRoute, getDecoratedMethods, getRouteConfig } from '../decorators';
|
|
5
|
+
import { getControllerOptions, getControllerRoute, getDecoratedMethods, getHttpDecoratedMethods, getHttpRouteMetadata, getRouteConfig } from '../decorators';
|
|
6
6
|
import { ControllerMethodNotFoundError, ControllerRegistrationError, OpenAPIRouteRegistrationError, } from '../errors';
|
|
7
7
|
import { RouterContext } from '../router-context';
|
|
8
8
|
import { commonErrorSchemas } from '../schemas/common.schemas';
|
|
9
|
+
import { VERSION_NEUTRAL } from '../constants';
|
|
9
10
|
/**
|
|
10
11
|
* Route registration service
|
|
11
12
|
* Manages controller and route registration with OpenAPI support
|
|
@@ -19,9 +20,11 @@ import { commonErrorSchemas } from '../schemas/common.schemas';
|
|
|
19
20
|
*/
|
|
20
21
|
export class RouteRegistrationService {
|
|
21
22
|
logger;
|
|
23
|
+
versioningOptions;
|
|
22
24
|
controllerClasses = new Map();
|
|
23
|
-
constructor(logger) {
|
|
25
|
+
constructor(logger, versioningOptions = null) {
|
|
24
26
|
this.logger = logger;
|
|
27
|
+
this.versioningOptions = versioningOptions;
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Configure router with controllers
|
|
@@ -64,21 +67,81 @@ export class RouteRegistrationService {
|
|
|
64
67
|
this.controllerClasses.set(className, ControllerClass);
|
|
65
68
|
const prototype = ControllerClass.prototype;
|
|
66
69
|
const controllerOpts = getControllerOptions(ControllerClass);
|
|
67
|
-
// Handle wildcard routes (non-RESTful controllers)
|
|
70
|
+
// Handle wildcard routes (non-RESTful controllers) — check once, not per version
|
|
68
71
|
if (prototype.handle) {
|
|
69
|
-
this.
|
|
72
|
+
if (!this.versioningOptions) {
|
|
73
|
+
this.registerWildcardRoute(app, ControllerClass, route);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
for (const versionedRoute of this.resolveVersionedPaths(route, controllerOpts)) {
|
|
77
|
+
this.registerWildcardRoute(app, ControllerClass, versionedRoute);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
70
80
|
return;
|
|
71
81
|
}
|
|
72
|
-
//
|
|
82
|
+
// Compute decorated methods once (loop-invariant)
|
|
73
83
|
const decoratedMethods = getDecoratedMethods(ControllerClass);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
const httpDecoratedMethods = getHttpDecoratedMethods(ControllerClass);
|
|
85
|
+
// Enforce mutual exclusivity once
|
|
86
|
+
if (decoratedMethods.length > 0 && httpDecoratedMethods.length > 0) {
|
|
87
|
+
throw new ControllerRegistrationError(ControllerClass.name, 'Cannot mix @Route() with HTTP method decorators (@Get, @Post, etc.) in the same controller. Use one pattern or the other.');
|
|
88
|
+
}
|
|
89
|
+
// Fast path: no versioning — inline dispatch, no array allocation, no loop
|
|
90
|
+
if (!this.versioningOptions) {
|
|
91
|
+
this.dispatchRoutes(app, ControllerClass, route, decoratedMethods, httpDecoratedMethods, controllerOpts, prototype);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Versioning path: resolve versioned paths and register each
|
|
95
|
+
for (const versionedRoute of this.resolveVersionedPaths(route, controllerOpts)) {
|
|
96
|
+
this.dispatchRoutes(app, ControllerClass, versionedRoute, decoratedMethods, httpDecoratedMethods, controllerOpts, prototype);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Dispatch route registration based on decorator type
|
|
101
|
+
*/
|
|
102
|
+
dispatchRoutes(app, ControllerClass, path, decoratedMethods, httpDecoratedMethods, controllerOpts, prototype) {
|
|
103
|
+
if (httpDecoratedMethods.length > 0) {
|
|
104
|
+
this.registerHttpRoutes(app, ControllerClass, path, httpDecoratedMethods, controllerOpts);
|
|
105
|
+
}
|
|
106
|
+
else if (decoratedMethods.length > 0) {
|
|
107
|
+
this.registerOpenAPIRoutes(app, ControllerClass, path, decoratedMethods, controllerOpts);
|
|
77
108
|
}
|
|
78
109
|
else {
|
|
79
|
-
|
|
80
|
-
|
|
110
|
+
this.registerRESTfulRoutes(app, ControllerClass, path, prototype);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Resolve versioned paths for a controller based on versioning configuration.
|
|
115
|
+
*
|
|
116
|
+
* @param basePath - The base path from @Controller decorator
|
|
117
|
+
* @param controllerOpts - Controller options (may contain version)
|
|
118
|
+
* @returns Array of resolved paths (with version prefix if applicable)
|
|
119
|
+
*/
|
|
120
|
+
resolveVersionedPaths(basePath, controllerOpts) {
|
|
121
|
+
// Versioning disabled — always return base path
|
|
122
|
+
if (!this.versioningOptions) {
|
|
123
|
+
return [basePath];
|
|
124
|
+
}
|
|
125
|
+
const version = controllerOpts?.version;
|
|
126
|
+
// VERSION_NEUTRAL — explicitly opt out of versioning
|
|
127
|
+
if (version === VERSION_NEUTRAL) {
|
|
128
|
+
return [basePath];
|
|
81
129
|
}
|
|
130
|
+
const prefix = this.versioningOptions.prefix ?? 'v';
|
|
131
|
+
// Explicit version(s) on the controller
|
|
132
|
+
if (version !== undefined) {
|
|
133
|
+
const versions = Array.isArray(version) ? version : [version];
|
|
134
|
+
return versions.map(v => `/${prefix}${v}${basePath}`);
|
|
135
|
+
}
|
|
136
|
+
// No explicit version — apply defaultVersion if set
|
|
137
|
+
if (this.versioningOptions.defaultVersion !== undefined) {
|
|
138
|
+
const defaults = Array.isArray(this.versioningOptions.defaultVersion)
|
|
139
|
+
? this.versioningOptions.defaultVersion
|
|
140
|
+
: [this.versioningOptions.defaultVersion];
|
|
141
|
+
return defaults.map(v => `/${prefix}${v}${basePath}`);
|
|
142
|
+
}
|
|
143
|
+
// Versioning enabled but no version and no default — no prefix
|
|
144
|
+
return [basePath];
|
|
82
145
|
}
|
|
83
146
|
/**
|
|
84
147
|
* Create a guard execution middleware
|
|
@@ -185,6 +248,80 @@ export class RouteRegistrationService {
|
|
|
185
248
|
});
|
|
186
249
|
}
|
|
187
250
|
}
|
|
251
|
+
/**
|
|
252
|
+
* Register routes using HTTP method decorators (@Get, @Post, etc.)
|
|
253
|
+
* These use explicit method + path instead of convention-based derivation
|
|
254
|
+
*/
|
|
255
|
+
registerHttpRoutes(app, ControllerClass, basePath, httpDecoratedMethods, controllerOpts) {
|
|
256
|
+
const className = ControllerClass.name;
|
|
257
|
+
const prototype = ControllerClass.prototype;
|
|
258
|
+
const controllerHidden = controllerOpts?.hideFromDocs ?? false;
|
|
259
|
+
const controllerGuards = getControllerGuards(ControllerClass)?.guards ?? [];
|
|
260
|
+
for (const methodName of httpDecoratedMethods) {
|
|
261
|
+
const httpMeta = getHttpRouteMetadata(prototype, methodName);
|
|
262
|
+
if (!httpMeta)
|
|
263
|
+
continue;
|
|
264
|
+
const fullPath = this.joinPaths(basePath, httpMeta.path);
|
|
265
|
+
const routeConfig = httpMeta.config;
|
|
266
|
+
const hideFromDocs = routeConfig.hideFromDocs ?? controllerHidden;
|
|
267
|
+
// @All routes or hidden routes are registered without OpenAPI
|
|
268
|
+
if (httpMeta.method === 'all' || hideFromDocs) {
|
|
269
|
+
this.logger.info(`Registering route (no OpenAPI)`, {
|
|
270
|
+
controller: className,
|
|
271
|
+
method: httpMeta.method.toUpperCase(),
|
|
272
|
+
path: fullPath,
|
|
273
|
+
methodName,
|
|
274
|
+
});
|
|
275
|
+
this.registerRouteWithoutOpenAPI(app, ControllerClass, methodName, {
|
|
276
|
+
method: httpMeta.method,
|
|
277
|
+
path: fullPath,
|
|
278
|
+
});
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
// Collect method-level guards
|
|
282
|
+
const methodGuards = getMethodGuards(prototype, methodName)?.guards ?? [];
|
|
283
|
+
const allGuards = [...controllerGuards, ...methodGuards];
|
|
284
|
+
if (allGuards.length > 0) {
|
|
285
|
+
this.logger.info(`Route guards`, {
|
|
286
|
+
controller: className,
|
|
287
|
+
method: httpMeta.method.toUpperCase(),
|
|
288
|
+
path: fullPath,
|
|
289
|
+
methodName,
|
|
290
|
+
guardCount: allGuards.length,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
// Build and register OpenAPI route
|
|
294
|
+
const metadata = this.mergeMetadata(controllerOpts, routeConfig, ControllerClass, methodName);
|
|
295
|
+
const statusCode = routeConfig.statusCode ?? 200;
|
|
296
|
+
const openApiRoute = this.buildOpenAPIRoute(httpMeta.method, fullPath, routeConfig, metadata, allGuards, undefined, statusCode);
|
|
297
|
+
this.logger.info(`Registering OpenAPI route`, {
|
|
298
|
+
controller: className,
|
|
299
|
+
method: httpMeta.method.toUpperCase(),
|
|
300
|
+
path: fullPath,
|
|
301
|
+
methodName,
|
|
302
|
+
tags: metadata.tags,
|
|
303
|
+
});
|
|
304
|
+
app.openapi(openApiRoute, async (c) => {
|
|
305
|
+
const ctx = new RouterContext(c);
|
|
306
|
+
const requestContainer = ctx.getContainer();
|
|
307
|
+
const controller = requestContainer.resolve(ControllerClass);
|
|
308
|
+
const method = controller[methodName];
|
|
309
|
+
if (typeof method === 'function') {
|
|
310
|
+
const injectedArgs = this.resolveMethodInjections(prototype, methodName, requestContainer);
|
|
311
|
+
return await method.call(controller, ctx, ...injectedArgs);
|
|
312
|
+
}
|
|
313
|
+
throw new ControllerMethodNotFoundError(methodName, className);
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Join a base path and a route path, normalizing slashes
|
|
319
|
+
*/
|
|
320
|
+
joinPaths(basePath, routePath) {
|
|
321
|
+
if (routePath === '/')
|
|
322
|
+
return basePath;
|
|
323
|
+
return basePath + routePath;
|
|
324
|
+
}
|
|
188
325
|
/**
|
|
189
326
|
* Register route without OpenAPI metadata (for hidden routes)
|
|
190
327
|
* Route is functional but won't appear in documentation
|
|
@@ -222,6 +359,9 @@ export class RouteRegistrationService {
|
|
|
222
359
|
case 'delete':
|
|
223
360
|
app.delete(derived.path, handler);
|
|
224
361
|
break;
|
|
362
|
+
case 'all':
|
|
363
|
+
app.all(derived.path, handler);
|
|
364
|
+
break;
|
|
225
365
|
default:
|
|
226
366
|
// For head, options, trace, or any other method, use all()
|
|
227
367
|
app.all(derived.path, handler);
|
|
@@ -304,7 +444,7 @@ export class RouteRegistrationService {
|
|
|
304
444
|
*
|
|
305
445
|
* Execution order: Global middlewares → Guards → Handler
|
|
306
446
|
*/
|
|
307
|
-
buildOpenAPIRoute(method, path, routeConfig, metadata, guards, methodName) {
|
|
447
|
+
buildOpenAPIRoute(method, path, routeConfig, metadata, guards, methodName, statusCodeOverride) {
|
|
308
448
|
try {
|
|
309
449
|
const route = {
|
|
310
450
|
method,
|
|
@@ -343,8 +483,10 @@ export class RouteRegistrationService {
|
|
|
343
483
|
params: routeConfig.params,
|
|
344
484
|
};
|
|
345
485
|
}
|
|
346
|
-
// Derive success status code from method name
|
|
347
|
-
const successStatus =
|
|
486
|
+
// Derive success status code from method name or use override
|
|
487
|
+
const successStatus = statusCodeOverride
|
|
488
|
+
?? (methodName && METHOD_STATUS_CODES[methodName])
|
|
489
|
+
?? 200;
|
|
348
490
|
// Build responses object with auto-derived status
|
|
349
491
|
const responses = {};
|
|
350
492
|
// Add success response with derived status code
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-registration.service.js","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"route-registration.service.js","sourceRoot":"","sources":["../../../src/router/services/route-registration.service.ts"],"names":[],"mappings":"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"}
|
package/dist/router/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ZodObject, ZodPipe, ZodType, RouteConfig as OpenAPIRouteConfig } from '../i18n/validation';
|
|
2
2
|
import { type StratalEnv } from '../env';
|
|
3
3
|
import type { Container } from '../di';
|
|
4
|
-
import { type HTTP_METHODS, type ROUTER_CONTEXT_KEYS, type SECURITY_SCHEMES } from './constants';
|
|
4
|
+
import { type HTTP_METHODS, type ROUTER_CONTEXT_KEYS, type SECURITY_SCHEMES, type VERSION_NEUTRAL } from './constants';
|
|
5
5
|
/**
|
|
6
6
|
* Route parameter type for OpenAPI
|
|
7
7
|
* ZodObject or ZodPipe (piped validation)
|
|
@@ -35,7 +35,7 @@ export type MethodName = keyof typeof HTTP_METHODS;
|
|
|
35
35
|
/**
|
|
36
36
|
* HTTP method type from OpenAPI spec
|
|
37
37
|
*/
|
|
38
|
-
export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options' | 'trace';
|
|
38
|
+
export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head' | 'options' | 'trace' | 'all';
|
|
39
39
|
/**
|
|
40
40
|
* Security scheme record for OpenAPI security array format
|
|
41
41
|
* Maps scheme names to scopes (empty array for no scopes)
|
|
@@ -103,6 +103,21 @@ export interface RouteConfig {
|
|
|
103
103
|
* Useful for internal-only endpoints, debug routes, or work-in-progress features
|
|
104
104
|
*/
|
|
105
105
|
hideFromDocs?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* HTTP success status code for the response
|
|
108
|
+
* Used by HTTP method decorators (@Get, @Post, etc.) to set the success status
|
|
109
|
+
* For @Route() decorator, status code is auto-derived from method name
|
|
110
|
+
*/
|
|
111
|
+
statusCode?: number;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Metadata stored by HTTP method decorators (@Get, @Post, etc.)
|
|
115
|
+
* Contains the explicit HTTP method, path, and route configuration
|
|
116
|
+
*/
|
|
117
|
+
export interface HttpRouteMetadata {
|
|
118
|
+
method: HttpMethod;
|
|
119
|
+
path: string;
|
|
120
|
+
config: RouteConfig;
|
|
106
121
|
}
|
|
107
122
|
/**
|
|
108
123
|
* Controller options for @Controller() decorator
|
|
@@ -126,5 +141,29 @@ export interface ControllerOptions {
|
|
|
126
141
|
* Useful for internal-only controllers, debug endpoints, or utilities
|
|
127
142
|
*/
|
|
128
143
|
hideFromDocs?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* API version(s) for this controller.
|
|
146
|
+
* When versioning is enabled, routes are prefixed with the version (e.g., /v1/users).
|
|
147
|
+
* Use VERSION_NEUTRAL to opt out of versioning (no prefix applied).
|
|
148
|
+
* Can be a single version string, array of versions, or VERSION_NEUTRAL symbol.
|
|
149
|
+
*/
|
|
150
|
+
version?: string | string[] | typeof VERSION_NEUTRAL;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Versioning configuration for the application.
|
|
154
|
+
* Enables URI-based API versioning when provided to Stratal config.
|
|
155
|
+
*/
|
|
156
|
+
export interface VersioningOptions {
|
|
157
|
+
/**
|
|
158
|
+
* Prefix for version segments in the URL.
|
|
159
|
+
* @default 'v'
|
|
160
|
+
* @example 'v' produces /v1, /v2; 'api/v' produces /api/v1, /api/v2
|
|
161
|
+
*/
|
|
162
|
+
prefix?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Default version applied to controllers without explicit version.
|
|
165
|
+
* Controllers with VERSION_NEUTRAL are not affected.
|
|
166
|
+
*/
|
|
167
|
+
defaultVersion?: string | string[];
|
|
129
168
|
}
|
|
130
169
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACxG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
|