@spinajs/http 2.0.504 → 2.0.506

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.
@@ -19,12 +19,26 @@ export declare function Parameter(type: ParameterType | string, schema?: any, op
19
19
  export declare function Hydrator(hydrator: Constructor<ArgHydrator>, ...options: any[]): (target: any) => void;
20
20
  export declare function HandleException(exception: Constructor<Error> | Constructor<Error>[]): (target: any) => void;
21
21
  /**
22
+ * Attach a policy - or a set of policies that must ALL hold - to a controller
23
+ * or a single route.
22
24
  *
23
- * @param policy - policy to set. Could be type or path in configuration to with policy to inject ( eg. metrics.auth.policy )
24
- * @param options
25
- * @returns
25
+ * Every `@Policy()` call forms one group. Policies inside a group are combined
26
+ * with AND, groups with each other are combined with OR:
27
+ *
28
+ * ```ts
29
+ * \@Policy(A)
30
+ * \@Policy([B, C]) // pass = A OR ( B AND C )
31
+ * ```
32
+ *
33
+ * Pass an array whenever a route needs several conditions at once ( eg. an
34
+ * authorized session AND a feature switch ). Stacking separate `@Policy()`
35
+ * decorators keeps the older OR meaning, which is what lets one resource have
36
+ * several independent access paths ( eg. api token OR session ).
37
+ *
38
+ * @param policy - policy, or array of policies to combine with AND. Each entry is a type or a path in configuration to the policy to inject ( eg. metrics.auth.policy )
39
+ * @param options - options passed to every policy in this group when it is resolved
26
40
  */
27
- export declare function Policy(policy: Constructor<BasePolicy> | string, ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
41
+ export declare function Policy(policy: Constructor<BasePolicy> | string | (Constructor<BasePolicy> | string)[], ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
28
42
  export declare function Middleware(policy: Constructor<RouteMiddleware>, ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
29
43
  /**
30
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,11 @@ function Controller(callback) {
90
90
  * cross-class corruption the own-descriptor change removes one level up, on the
91
91
  * most likely override shape of all ( eg. redeclare one route with a new path ).
92
92
  *
93
+ * `Policies` is copied one level deep: the outer array holds one group array
94
+ * per `@Policy()` call and `Policy()` pushes into the outer one, but a shared
95
+ * inner group would still be reachable - copy both so neither can be reached
96
+ * from the parent.
97
+ *
93
98
  * Only the members that are mutated in place need copying. `Parameters` values
94
99
  * are patched field by field ( eg. `p.Type = type` in `Parameter()`, and
95
100
  * `rParam.Name` filled from the parsed source when the controller is
@@ -101,7 +106,7 @@ function detachInheritedRoutes(descriptor) {
101
106
  for (const [member, route] of descriptor.Routes) {
102
107
  descriptor.Routes.set(member, {
103
108
  ...route,
104
- Policies: [...route.Policies],
109
+ Policies: route.Policies.map((group) => [...group]),
105
110
  Middlewares: [...route.Middlewares],
106
111
  Parameters: new Map([...route.Parameters].map(([index, parameter]) => [index, { ...parameter }])),
107
112
  });
@@ -292,22 +297,41 @@ function HandleException(exception) {
292
297
  };
293
298
  }
294
299
  /**
300
+ * Attach a policy - or a set of policies that must ALL hold - to a controller
301
+ * or a single route.
295
302
  *
296
- * @param policy - policy to set. Could be type or path in configuration to with policy to inject ( eg. metrics.auth.policy )
297
- * @param options
298
- * @returns
303
+ * Every `@Policy()` call forms one group. Policies inside a group are combined
304
+ * with AND, groups with each other are combined with OR:
305
+ *
306
+ * ```ts
307
+ * \@Policy(A)
308
+ * \@Policy([B, C]) // pass = A OR ( B AND C )
309
+ * ```
310
+ *
311
+ * Pass an array whenever a route needs several conditions at once ( eg. an
312
+ * authorized session AND a feature switch ). Stacking separate `@Policy()`
313
+ * decorators keeps the older OR meaning, which is what lets one resource have
314
+ * several independent access paths ( eg. api token OR session ).
315
+ *
316
+ * @param policy - policy, or array of policies to combine with AND. Each entry is a type or a path in configuration to the policy to inject ( eg. metrics.auth.policy )
317
+ * @param options - options passed to every policy in this group when it is resolved
299
318
  */
300
319
  function Policy(policy, ...options) {
301
320
  return Route((controller, route, _, _1, _2) => {
302
- const pDesc = {
321
+ // toArray() checks Array.isArray, so a configuration key stays one policy
322
+ // instead of being spread into its characters.
323
+ const group = (0, util_1.toArray)(policy).map((p) => ({
303
324
  Options: options,
304
- Type: policy,
305
- };
325
+ Type: p,
326
+ }));
327
+ if (group.length === 0) {
328
+ return;
329
+ }
306
330
  if (route) {
307
- route.Policies.push(pDesc);
331
+ route.Policies.push(group);
308
332
  }
309
333
  else {
310
- controller.Policies.push(pDesc);
334
+ controller.Policies.push(group);
311
335
  }
312
336
  });
313
337
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -656,9 +656,10 @@ export interface IRoute {
656
656
  */
657
657
  Middlewares: IMiddlewareDescriptor[];
658
658
  /**
659
- * Assigned policies to route
659
+ * Assigned policies to route, one group per `@Policy()` call. AND inside a
660
+ * group, OR between groups.
660
661
  */
661
- Policies: IPolicyDescriptor[];
662
+ Policies: IPolicyGroup[];
662
663
  /**
663
664
  * Additional route options eg. file size etc.
664
665
  */
@@ -719,6 +720,12 @@ export interface IPolicyDescriptor {
719
720
  Type: Constructor<BasePolicy> | string;
720
721
  Options: any[];
721
722
  }
723
+ /**
724
+ * Policies attached by ONE `@Policy()` call. Every member must resolve for the
725
+ * group to pass ( AND ), while separate groups are alternatives ( OR ) - see
726
+ * `createPolicyGate` in route-builder.ts.
727
+ */
728
+ export type IPolicyGroup = IPolicyDescriptor[];
722
729
  export type ResponseFunction = (req: express.Request, res: express.Response) => void;
723
730
  export declare abstract class Response<T = any> {
724
731
  protected responseData?: T | Promise<T> | null | undefined;
@@ -763,9 +770,10 @@ export interface IControllerDescriptor {
763
770
  */
764
771
  Middlewares: IMiddlewareDescriptor[];
765
772
  /**
766
- * Controller - wise policies
773
+ * Controller - wise policies, one group per `@Policy()` call. AND inside a
774
+ * group, OR between groups.
767
775
  */
768
- Policies: IPolicyDescriptor[];
776
+ Policies: IPolicyGroup[];
769
777
  /**
770
778
  * Base url path for controller ( added for all child url's)
771
779
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAA0E;AAM1E;;GAEG;AACH,IAAY,iBAqCX;AArCD,WAAY,iBAAiB;IAC3B;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,uDAAO,CAAA;IAEP;;OAEG;IACH,yDAAQ,CAAA;IAER;;OAEG;IACH,4DAAU,CAAA;IAEV,wDAAQ,CAAA;IAER;;OAEG;IACH,4DAAU,CAAA;IAEV;;OAEG;IACH,uDAAe,CAAA;AACjB,CAAC,EArCW,iBAAiB,aAAjB,iBAAiB,GAAjB,iBAAiB,QAqC5B;AAED;;;GAGG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,yDAAO,CAAA;IACP,6DAAS,CAAA;IACT,yDAAO,CAAA;IACP,uDAAM,CAAA;AACR,CAAC,EALW,cAAc,aAAd,cAAc,GAAd,cAAc,QAKzB;AAwDD,IAAY,YAiCX;AAjCD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,kCAAkB,CAAA;IAClB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,kCAAkB,CAAA;IAClB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,uCAAuB,CAAA;IACvB,0CAA0B,CAAA;IAC1B,gGAAgF,CAAA;IAChF,gDAAgC,CAAA;IAChC,0FAA0E,CAAA;IAC1E,qDAAqC,CAAA;IACrC,kGAAkF,CAAA;IAClF,kCAAkB,CAAA;IAClB,gCAAgB,CAAA;IAChB,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,kCAAkB,CAAA;IAClB,gCAAgB,CAAA;IAChB,6CAA6B,CAAA;IAC7B,uCAAuB,CAAA;IACvB,oDAAoC,CAAA;IACpC,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,2BAAW,CAAA;AACb,CAAC,EAjCW,YAAY,aAAZ,YAAY,GAAZ,YAAY,QAiCvB;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,gCAAe,CAAA;IACf,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,gCAAe,CAAA;AACjB,CAAC,EAPW,eAAe,aAAf,eAAe,GAAf,eAAe,QAO1B;AAiFD;;;GAGG;AACH;CAEC;;AAED;CAEC;;AAuDD,sBAAuC,SAAQ,iBAAY;CAW1D;;AAED;;GAEG;AACH,IAAY,gBAiHX;AAjHD,WAAY,gBAAgB;IAC1B;;OAEG;IACH,qDAAQ,CAAA;IAER;;OAEG;IACH,+DAAa,CAAA;IAEb;;OAEG;IACH,iEAAc,CAAA;IAEd;;OAEG;IACH,qEAAgB,CAAA;IAEhB;;;;OAIG;IACH,+EAAqB,CAAA;IAErB;;OAEG;IACH,mFAAuB,CAAA;IAEvB;;OAEG;IACH,2DAAW,CAAA;IAEX;;OAEG;IACH,mEAAe,CAAA;IAEf;;OAEG;IACH,yEAAkB,CAAA;IAElB;;OAEG;IACH,qFAAwB,CAAA;IAExB;;OAEG;IACH,qFAAwB,CAAA;IAExB;;OAEG;IACH,uEAAiB,CAAA;IAEjB;;OAEG;IACH,yEAAkB,CAAA;IAElB;;OAEG;IACH,mEAAe,CAAA;IAEf;;OAEG;IACH,mEAAe,CAAA;IAEf;;OAEG;IACH,6EAAoB,CAAA;IAEpB;;OAEG;IACH,uEAAiB,CAAA;IAEjB;;OAEG;IACH,iEAAc,CAAA;IAEd;;OAEG;IACH,iFAAsB,CAAA;IAEtB;;OAEG;IACH,6EAAoB,CAAA;IAEpB;;OAEG;IACH,+EAAqB,CAAA;IAErB;;;OAGG;IACH,uFAAyB,CAAA;AAC3B,CAAC,EAjHW,gBAAgB,aAAhB,gBAAgB,GAAhB,gBAAgB,QAiH3B;AAED;;GAEG;AACH,IAAY,SAqCX;AArCD,WAAY,SAAS;IACnB;;OAEG;IACH,0BAAa,CAAA;IAEb;;OAEG;IACH,wBAAW,CAAA;IAEX;;OAEG;IACH,wBAAW,CAAA;IAEX;;OAEG;IACH,8BAAiB,CAAA;IAEjB;;OAEG;IACH,4BAAe,CAAA;IAEf;;OAEG;IACH,0BAAa,CAAA;IAEb;;OAEG;IACH,0BAAa,CAAA;IAEb,gCAAmB,CAAA;AACrB,CAAC,EArCW,SAAS,aAAT,SAAS,GAAT,SAAS,QAqCpB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAAE,CAAA;IACF,yCAAE,CAAA;IACF,yCAAE,CAAA;IACF,yCAAE,CAAA;AACJ,CAAC,EALW,WAAW,aAAX,WAAW,GAAX,WAAW,QAKtB;AAED;;GAEG;AACH,IAAY,aAyHX;AAzHD,WAAY,aAAa;IACvB;;OAEG;IACH,iDAAgC,CAAA;IAChC,mDAAkC,CAAA;IAClC,mDAAkC,CAAA;IAClC,kDAAiC,CAAA;IAEjC;;OAEG;IACH,qDAAoC,CAAA;IAEpC;;OAEG;IACH,kCAAiB,CAAA;IAEjB;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAqB,CAAA;IAErB;;OAEG;IACH,oCAAmB,CAAA;IAEnB;;OAEG;IACH,8CAA6B,CAAA;IAE7B;;OAEG;IACH,4CAA2B,CAAA;IAE3B;;OAEG;IACH,4CAA2B,CAAA;IAE3B;;OAEG;IACH,wCAAuB,CAAA;IAEvB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,0CAAyB,CAAA;IAEzB;;OAEG;IACH,mCAAkB,CAAA;IAElB;;OAEG;IACH,iDAAgC,CAAA;IAEhC;;OAEG;IACH,iDAAgC,CAAA;IAEhC;;OAEG;IACH,6CAA4B,CAAA;IAE5B;;OAEG;IACH,6CAA4B,CAAA;IAE5B;;OAEG;IACH,6CAA4B,CAAA;IAE5B;;OAEG;IACH,qCAAoB,CAAA;IAEpB,mBAAmB;IACnB,sCAAqB,CAAA;IAErB;;OAEG;IACH,gCAAe,CAAA;AACjB,CAAC,EAzHW,aAAa,aAAb,aAAa,GAAb,aAAa,QAyHxB;AAqND;;;GAGG;AACH;CAyBC;;AAoBD;IAIE,YAAsB,YAAoC,EAAY,OAA0B;4BAA1E,YAAY;uBAAoC,OAAO;IAAuB,CAAC;IAE9F,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,IAAsB,EAAE,KAA4B;QAC9F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,wDAAa,gBAAgB,GAAC,CAAC;QACxD,OAAO,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;YAClD,GAAG,IAAI,CAAC,OAAO;YACf,iEAAiE;YACjE,uEAAuE;YACvE,oDAAoD;YACpD,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU;SACxD,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,eAAe;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAqB,CAAiB,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,IAAA,cAAS,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAM,CAAC;IAC3F,CAAC;CACF;;AAED;;;;GAIG;AACH;CAgBC;;AAqCD;;;;;;;GAOG;AACH;CASC"}
@@ -23,22 +23,48 @@ export declare function buildRoutePath(basePath: string, route: IRoute, globalPr
23
23
  */
24
24
  export declare function resolveRouteMiddlewares(descriptor: IControllerDescriptor, route: IRoute, container: IContainer): Promise<RouteMiddleware[]>;
25
25
  /**
26
- * Resolves controller-wise + route-wise policy descriptors into instances.
26
+ * Policy instances for one route, kept split by the scope they were declared
27
+ * at. The two scopes are combined with AND by {@link createPolicyGate}, so a
28
+ * controller-wide policy cannot be satisfied *instead of* a route's own.
29
+ */
30
+ export interface IResolvedRoutePolicies {
31
+ /** Groups declared on the controller class. */
32
+ Controller: BasePolicy[][];
33
+ /** Groups declared on the route method. */
34
+ Route: BasePolicy[][];
35
+ }
36
+ /**
37
+ * Resolves controller-wise + route-wise policy descriptors into instances,
38
+ * keeping both the grouping produced by `@Policy()` ( one inner array per
39
+ * decorator call, combined with AND ) and the scope each group was declared
40
+ * at ( the two scopes are combined with AND ).
27
41
  *
28
42
  * String policy descriptors are configuration keys pointing at a policy type
29
43
  * name. A key that does not resolve to a registered BasePolicy type throws
30
44
  * {@link RouteRegistrationException} — a silently dropped policy would leave
31
45
  * the route unprotected.
32
46
  */
33
- export declare function resolveRoutePolicies(descriptor: IControllerDescriptor, route: IRoute, container: IContainer, cfg: Configuration, log: Log, controllerName: string, path: string): Promise<BasePolicy[]>;
47
+ export declare function resolveRoutePolicies(descriptor: IControllerDescriptor, route: IRoute, container: IContainer, cfg: Configuration, log: Log, controllerName: string, path: string): Promise<IResolvedRoutePolicies>;
34
48
  /**
35
49
  * Express handler gating a route behind its policies.
36
50
  *
37
- * Executes all policies enabled for the route; if at least ONE policy resolves
38
- * without error the route is allowed to execute. This allows multiple access
39
- * paths to a resource, e.g. token access & session.
51
+ * Three levels combine, from the inside out:
52
+ *
53
+ * - a GROUP is one `@Policy()` call. All of its members must resolve ( AND ),
54
+ * which is how one access path demands several conditions at once, e.g. an
55
+ * authorized session AND a feature switch.
56
+ * - a SCOPE is all the groups declared at one place, on the controller class
57
+ * or on the route method. Any one of its groups passing is enough ( OR ),
58
+ * which is how a resource offers several independent access paths, e.g.
59
+ * api token OR session.
60
+ * - the two scopes are combined with AND. A controller-wide policy states
61
+ * what every route needs, so it can only ever NARROW a route - it must not
62
+ * be satisfiable *instead of* the route's own policies.
63
+ *
64
+ * A scope with no enabled group states no requirement and passes, so a route
65
+ * that nothing guards still runs.
40
66
  */
41
- export declare function createPolicyGate(policies: BasePolicy[], route: IRoute, controller: IController, log: Log): Express.RequestHandler;
67
+ export declare function createPolicyGate(policies: IResolvedRoutePolicies, route: IRoute, controller: IController, log: Log): Express.RequestHandler;
42
68
  /**
43
69
  * Wraps a middleware onBefore/onAfter action into an express handler that
44
70
  * forwards both resolution and rejection to `next`.
@@ -1 +1 @@
1
- {"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../src/route-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAM,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAY,WAAW,EAAE,qBAAqB,EAAqB,eAAe,EAAE,MAAM,EAAyB,UAAU,EAAiB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG9N;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB7F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAM3I;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,EAAE,CAAC,CAkBvB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAiDjI;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9G,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC,cAAc,CAgBxB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,eAAe,EAAE,EACrC,OAAO,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,GACrD,OAAO,CAAC,cAAc,CA2CxB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAkClI"}
1
+ {"version":3,"file":"route-builder.d.ts","sourceRoot":"","sources":["../../src/route-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAM,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAY,WAAW,EAAE,qBAAqB,EAAmC,eAAe,EAAE,MAAM,EAAyB,UAAU,EAAiB,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG5O;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAmB7F;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAM3I;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,+CAA+C;IAC/C,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAE3B,2CAA2C;IAC3C,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,EACrB,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sBAAsB,CAAC,CA2BjC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAkE3I;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9G,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,WAAW,GACtB,OAAO,CAAC,cAAc,CAgBxB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,EAChC,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,eAAe,EAAE,EACrC,OAAO,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,GACrD,OAAO,CAAC,cAAc,CA2CxB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAkClI"}
@@ -51,15 +51,18 @@ function resolveRouteMiddlewares(descriptor, route, container) {
51
51
  }));
52
52
  }
53
53
  /**
54
- * Resolves controller-wise + route-wise policy descriptors into instances.
54
+ * Resolves controller-wise + route-wise policy descriptors into instances,
55
+ * keeping both the grouping produced by `@Policy()` ( one inner array per
56
+ * decorator call, combined with AND ) and the scope each group was declared
57
+ * at ( the two scopes are combined with AND ).
55
58
  *
56
59
  * String policy descriptors are configuration keys pointing at a policy type
57
60
  * name. A key that does not resolve to a registered BasePolicy type throws
58
61
  * {@link RouteRegistrationException} — a silently dropped policy would leave
59
62
  * the route unprotected.
60
63
  */
61
- function resolveRoutePolicies(descriptor, route, container, cfg, log, controllerName, path) {
62
- return Promise.all(descriptor.Policies.concat(route.Policies || []).map((m) => {
64
+ async function resolveRoutePolicies(descriptor, route, container, cfg, log, controllerName, path) {
65
+ const resolveGroups = (groups) => Promise.all(groups.map((group) => Promise.all(group.map((m) => {
63
66
  if (lodash_1.default.isString(m.Type)) {
64
67
  const policyType = cfg.get(m.Type);
65
68
  if (!policyType || !di_1.DI.checkType(interfaces_js_1.BasePolicy, policyType)) {
@@ -70,31 +73,49 @@ function resolveRoutePolicies(descriptor, route, container, cfg, log, controller
70
73
  }
71
74
  log.trace(`Policy ${m.Type.name} is used in controller ${controllerName}::${String(route.Method)} at path ${path}`);
72
75
  return container.resolve(m.Type, m.Options);
73
- }));
76
+ }))));
77
+ const [controllerPolicies, routePolicies] = await Promise.all([resolveGroups(descriptor.Policies), resolveGroups(route.Policies || [])]);
78
+ return { Controller: controllerPolicies, Route: routePolicies };
74
79
  }
75
80
  /**
76
81
  * Express handler gating a route behind its policies.
77
82
  *
78
- * Executes all policies enabled for the route; if at least ONE policy resolves
79
- * without error the route is allowed to execute. This allows multiple access
80
- * paths to a resource, e.g. token access & session.
83
+ * Three levels combine, from the inside out:
84
+ *
85
+ * - a GROUP is one `@Policy()` call. All of its members must resolve ( AND ),
86
+ * which is how one access path demands several conditions at once, e.g. an
87
+ * authorized session AND a feature switch.
88
+ * - a SCOPE is all the groups declared at one place, on the controller class
89
+ * or on the route method. Any one of its groups passing is enough ( OR ),
90
+ * which is how a resource offers several independent access paths, e.g.
91
+ * api token OR session.
92
+ * - the two scopes are combined with AND. A controller-wide policy states
93
+ * what every route needs, so it can only ever NARROW a route - it must not
94
+ * be satisfiable *instead of* the route's own policies.
95
+ *
96
+ * A scope with no enabled group states no requirement and passes, so a route
97
+ * that nothing guards still runs.
81
98
  */
82
99
  function createPolicyGate(policies, route, controller, log) {
83
100
  const routeName = `${controller.constructor.name}:${String(route.Method)} ${controller.BasePath}/${String(route.Path || route.Method)}`;
84
101
  return (req, _res, next) => {
85
102
  // Only policies enabled for this concrete route participate in the gate.
86
- // A route whose policies are ALL disabled has no active authorization
87
- // check, so it is allowed through same semantics as having no policies
88
- // at all. Computing this up front is what prevents the request from
89
- // hanging: `Promise.allSettled([])` resolves to `[]`, which matches
90
- // neither the fulfilled nor the rejected branch below, so `next` would
91
- // never be called.
92
- const enabledPolicies = policies.filter((p) => p.isEnabled(route, controller));
93
- if (enabledPolicies.length === 0) {
103
+ //
104
+ // A group left with no enabled member is DROPPED, not treated as passing:
105
+ // an empty AND is vacuously true, and one vacuously true group would open
106
+ // its whole scope for every caller, including when a sibling group in that
107
+ // scope is a live authorization check.
108
+ const enable = (groups) => groups.map((group) => group.filter((p) => p.isEnabled(route, controller))).filter((group) => group.length > 0);
109
+ const scopes = [enable(policies.Controller), enable(policies.Route)].filter((scope) => scope.length > 0);
110
+ if (scopes.length === 0) {
94
111
  next();
95
112
  return;
96
113
  }
97
- Promise.allSettled(enabledPolicies.map((p) => {
114
+ Promise.all(
115
+ // allSettled per group: a rejecting member must not escape as an
116
+ // unhandled rejection while a sibling group is still deciding, and the
117
+ // outer Promise.all must never reject on its own.
118
+ scopes.map((scope) => Promise.all(scope.map((group) => Promise.allSettled(group.map((p) => {
98
119
  return p
99
120
  .execute(req, route, controller)
100
121
  .then(() => {
@@ -104,19 +125,23 @@ function createPolicyGate(policies, route, controller, log) {
104
125
  log.trace(`Policy failed for route ${routeName} error ${err}, policy: ${p.constructor.name}`);
105
126
  throw err;
106
127
  });
107
- }))
108
- .then((results) => {
109
- const fullfilled = results.find((r) => r.status === 'fulfilled');
110
- if (fullfilled) {
128
+ }))))))
129
+ .then((scopeResults) => {
130
+ // AND across scopes, OR across the groups of one scope, AND inside a
131
+ // group.
132
+ if (scopeResults.every((groups) => groups.some((results) => results.every((r) => r.status === 'fulfilled')))) {
111
133
  log.trace(`Policy for route ${routeName} succeded, continue execution`);
112
134
  next();
113
135
  return;
114
136
  }
115
- // Every policy rejected forward the first failure to the express
116
- // error handler. Use next(err) directly (not `throw next(...)`,
117
- // which would reject this .then() with `undefined` as an unhandled
118
- // rejection while the error was already forwarded).
119
- const failed = results.find((r) => r.status === 'rejected');
137
+ // Report the first failure of the first scope that did not hold, in
138
+ // declaration order reporting a later scope's error would name a
139
+ // requirement the caller never got as far as. Use next(err) directly
140
+ // (not `throw next(...)`, which would reject this .then() with
141
+ // `undefined` as an unhandled rejection while the error was already
142
+ // forwarded).
143
+ const blocking = scopeResults.find((groups) => !groups.some((results) => results.every((r) => r.status === 'fulfilled')));
144
+ const failed = (blocking ?? []).flat().find((r) => r.status === 'rejected');
120
145
  next(failed ? failed.reason : new exceptions_1.UnexpectedServerError('Policy evaluation produced no result'));
121
146
  })
122
147
  // Guard against unexpected throws in the settle/handler chain so the
@@ -1 +1 @@
1
- {"version":3,"file":"route-builder.js","sourceRoot":"","sources":["../../src/route-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-builder.js","sourceRoot":"","sources":["../../src/route-builder.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,26 @@ export declare function Parameter(type: ParameterType | string, schema?: any, op
19
19
  export declare function Hydrator(hydrator: Constructor<ArgHydrator>, ...options: any[]): (target: any) => void;
20
20
  export declare function HandleException(exception: Constructor<Error> | Constructor<Error>[]): (target: any) => void;
21
21
  /**
22
+ * Attach a policy - or a set of policies that must ALL hold - to a controller
23
+ * or a single route.
22
24
  *
23
- * @param policy - policy to set. Could be type or path in configuration to with policy to inject ( eg. metrics.auth.policy )
24
- * @param options
25
- * @returns
25
+ * Every `@Policy()` call forms one group. Policies inside a group are combined
26
+ * with AND, groups with each other are combined with OR:
27
+ *
28
+ * ```ts
29
+ * \@Policy(A)
30
+ * \@Policy([B, C]) // pass = A OR ( B AND C )
31
+ * ```
32
+ *
33
+ * Pass an array whenever a route needs several conditions at once ( eg. an
34
+ * authorized session AND a feature switch ). Stacking separate `@Policy()`
35
+ * decorators keeps the older OR meaning, which is what lets one resource have
36
+ * several independent access paths ( eg. api token OR session ).
37
+ *
38
+ * @param policy - policy, or array of policies to combine with AND. Each entry is a type or a path in configuration to the policy to inject ( eg. metrics.auth.policy )
39
+ * @param options - options passed to every policy in this group when it is resolved
26
40
  */
27
- export declare function Policy(policy: Constructor<BasePolicy> | string, ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
41
+ export declare function Policy(policy: Constructor<BasePolicy> | string | (Constructor<BasePolicy> | string)[], ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
28
42
  export declare function Middleware(policy: Constructor<RouteMiddleware>, ...options: any[]): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void;
29
43
  /**
30
44
  *