@tsed/platform-router 7.48.0 → 7.50.0

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.
@@ -37,6 +37,7 @@ di_1.GlobalProviders.createRegistry(di_1.ProviderType.CONTROLLER, di_1.Controlle
37
37
  let PlatformRouters = class PlatformRouters {
38
38
  injector;
39
39
  hooks = new core_1.Hooks();
40
+ allowedVerbs = schema_1.OPERATION_HTTP_VERBS;
40
41
  constructor(injector) {
41
42
  this.injector = injector;
42
43
  }
@@ -45,15 +46,6 @@ let PlatformRouters = class PlatformRouters {
45
46
  createInjectableRouter(this.injector, provider);
46
47
  });
47
48
  }
48
- sortHandlers(handlers) {
49
- const get = (token) => {
50
- return this.injector.getProvider(token)?.priority || 0;
51
- };
52
- const sort = (p1, p2) => (get(p1) < get(p2) ? -1 : get(p1) > get(p2) ? 1 : 0);
53
- handlers.before = handlers.before.sort(sort);
54
- handlers.after = handlers.after.sort(sort);
55
- return handlers;
56
- }
57
49
  from(token, parentMiddlewares = []) {
58
50
  const { injector } = this;
59
51
  const provider = injector.getProvider(token);
@@ -66,7 +58,7 @@ let PlatformRouters = class PlatformRouters {
66
58
  }
67
59
  const useBefore = (0, core_1.getValue)(provider, "middlewares.useBefore", []);
68
60
  const { children } = provider;
69
- (0, schema_1.getOperationsRoutes)(provider.token).forEach((operationRoute) => {
61
+ (0, schema_1.getOperationsRoutes)(provider.token, { allowedVerbs: this.allowedVerbs }).forEach((operationRoute) => {
70
62
  const { endpoint } = operationRoute;
71
63
  const { beforeMiddlewares, middlewares: mldwrs, afterMiddlewares } = endpoint;
72
64
  const useBefore = (0, core_1.getValue)(provider, "middlewares.useBefore", []);
@@ -95,6 +87,15 @@ let PlatformRouters = class PlatformRouters {
95
87
  getLayers(router) {
96
88
  return this.flatMapLayers(router.layers);
97
89
  }
90
+ sortHandlers(handlers) {
91
+ const get = (token) => {
92
+ return this.injector.getProvider(token)?.priority || 0;
93
+ };
94
+ const sort = (p1, p2) => (get(p1) < get(p2) ? -1 : get(p1) > get(p2) ? 1 : 0);
95
+ handlers.before = handlers.before.sort(sort);
96
+ handlers.after = handlers.after.sort(sort);
97
+ return handlers;
98
+ }
98
99
  flatMapLayers(layers) {
99
100
  return layers
100
101
  .flatMap((layer) => {
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { getValue, Hooks } from "@tsed/core";
3
3
  import { ControllerProvider, GlobalProviders, Injectable, InjectorService, ProviderType } from "@tsed/di";
4
- import { concatPath, getOperationsRoutes } from "@tsed/schema";
4
+ import { concatPath, getOperationsRoutes, OPERATION_HTTP_VERBS } from "@tsed/schema";
5
5
  import { useContextHandler } from "../utils/useContextHandler.js";
6
6
  import { PlatformLayer } from "./PlatformLayer.js";
7
7
  import { PlatformRouter } from "./PlatformRouter.js";
@@ -34,6 +34,7 @@ GlobalProviders.createRegistry(ProviderType.CONTROLLER, ControllerProvider, {
34
34
  let PlatformRouters = class PlatformRouters {
35
35
  injector;
36
36
  hooks = new Hooks();
37
+ allowedVerbs = OPERATION_HTTP_VERBS;
37
38
  constructor(injector) {
38
39
  this.injector = injector;
39
40
  }
@@ -42,15 +43,6 @@ let PlatformRouters = class PlatformRouters {
42
43
  createInjectableRouter(this.injector, provider);
43
44
  });
44
45
  }
45
- sortHandlers(handlers) {
46
- const get = (token) => {
47
- return this.injector.getProvider(token)?.priority || 0;
48
- };
49
- const sort = (p1, p2) => (get(p1) < get(p2) ? -1 : get(p1) > get(p2) ? 1 : 0);
50
- handlers.before = handlers.before.sort(sort);
51
- handlers.after = handlers.after.sort(sort);
52
- return handlers;
53
- }
54
46
  from(token, parentMiddlewares = []) {
55
47
  const { injector } = this;
56
48
  const provider = injector.getProvider(token);
@@ -63,7 +55,7 @@ let PlatformRouters = class PlatformRouters {
63
55
  }
64
56
  const useBefore = getValue(provider, "middlewares.useBefore", []);
65
57
  const { children } = provider;
66
- getOperationsRoutes(provider.token).forEach((operationRoute) => {
58
+ getOperationsRoutes(provider.token, { allowedVerbs: this.allowedVerbs }).forEach((operationRoute) => {
67
59
  const { endpoint } = operationRoute;
68
60
  const { beforeMiddlewares, middlewares: mldwrs, afterMiddlewares } = endpoint;
69
61
  const useBefore = getValue(provider, "middlewares.useBefore", []);
@@ -92,6 +84,15 @@ let PlatformRouters = class PlatformRouters {
92
84
  getLayers(router) {
93
85
  return this.flatMapLayers(router.layers);
94
86
  }
87
+ sortHandlers(handlers) {
88
+ const get = (token) => {
89
+ return this.injector.getProvider(token)?.priority || 0;
90
+ };
91
+ const sort = (p1, p2) => (get(p1) < get(p2) ? -1 : get(p1) > get(p2) ? 1 : 0);
92
+ handlers.before = handlers.before.sort(sort);
93
+ handlers.after = handlers.after.sort(sort);
94
+ return handlers;
95
+ }
95
96
  flatMapLayers(layers) {
96
97
  return layers
97
98
  .flatMap((layer) => {
@@ -1 +1 @@
1
- {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlatformRouters.js","sourceRoot":"","sources":["../../../src/domain/PlatformRouters.ts"],"names":[],"mappings":"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"}